From 9a38feb4457306a40fef9fc7331d7ee4af54b62e Mon Sep 17 00:00:00 2001 From: geoff-nunan <39071789+geoff-nunan@users.noreply.github.com> Date: Sat, 15 Jan 2022 15:44:59 +1100 Subject: [PATCH] Update to match current versions of services as at 2022.01 --- Standalone/docker-compose.yml | 82 +- Standalone/grafana/data/grafana.db | Bin 901120 -> 0 bytes .../isaozler-paretochart-panel/MANIFEST.txt | 29 +- .../isaozler-paretochart-panel/README.md | 25 - .../isaozler-paretochart-panel/module.js | 2 +- .../isaozler-paretochart-panel/module.js.map | 2 +- .../isaozler-paretochart-panel/plugin.json | 4 +- .../marcusolsson-gantt-panel/CHANGELOG.md | 8 + .../plugins/marcusolsson-gantt-panel/LICENSE | 2 +- .../marcusolsson-gantt-panel/MANIFEST.txt | 26 +- .../marcusolsson-gantt-panel/module.js | 2 +- .../marcusolsson-gantt-panel/module.js.map | 2 +- .../marcusolsson-gantt-panel/plugin.json | 4 +- Standalone/libre-core/config/config.json | 53 +- .../libre-edge-agent/config/config.json | 4 + Standalone/libre-gateway/supergraph.graphql | 5823 ++++++++++------- Standalone/libre-gateway/supergraph.yaml | 10 + Standalone/schema/libreSchema.sdl | 400 +- 18 files changed, 3673 insertions(+), 2805 deletions(-) delete mode 100644 Standalone/grafana/data/grafana.db create mode 100644 Standalone/libre-gateway/supergraph.yaml diff --git a/Standalone/docker-compose.yml b/Standalone/docker-compose.yml index c7062a1..69642ff 100644 --- a/Standalone/docker-compose.yml +++ b/Standalone/docker-compose.yml @@ -40,7 +40,7 @@ services: - 8000:8000 command: dgraph-ratel libre-ui: - image: ghcr.io/spruik/libre-admin-ui:main + image: ghcr.io/spruik/libre-admin-ui:v0.2.1 ports: - 80:80 environment: @@ -64,37 +64,21 @@ services: - 8083:8083 - 18083:18083 restart: always + environment: + - EMQX_LOADED_PLUGINS=emqx_recon,emqx_retainer,emqx_management,emqx_dashboard,emqx_auth_mnesia + - EMQX_ALLOW_ANONYMOUS=true + - EMQX_ACL_NOMATCH=allow container_name: mqtt healthcheck: interval: 5s timeout: 3s retries: 5 test: ["CMD", "curl", "-f", "http://mqtt:18083"] - libre-server: - image: ghcr.io/spruik/libre-server:0.0.4 - restart: always - ports: - - 4001:80 - environment: - - LIBRE_DQL_URL=alpha:9080 - - LIBRE_GRAPHQL_ENDPOINT=http://alpha:8080/graphql - - INFLUX_TOKEN=mytokenmytokenmytoken - - INFLUX_ORG=Libre - - INFLUX_BUCKET=Libre - - INFLUX_URL=http://influxdb:8086 - volumes: - - ./libre-server/config:/etc/config - depends_on: - alpha: - condition: service_healthy - mqtt: - condition: service_healthy - influxdb: - condition: service_healthy - container_name: libre-server libre-core: - image: ghcr.io/spruik/libre-core:0.2.0 + image: ghcr.io/spruik/libre-core:0.3.8 restart: always + ports: + - 4002:4002 environment: - LIBRE_CONFIG_FILE=/etc/config/config.json volumes: @@ -106,7 +90,7 @@ services: - "dgraph-init" container_name: libre-core graphql-pubsub: - image: ghcr.io/spruik/graphql-pubsub:0.0.3 + image: ghcr.io/spruik/graphql-pubsub:0.0.5 restart: always environment: - LIBRE_CONFIG_FILE=/etc/config/config.json @@ -121,7 +105,7 @@ services: condition: service_healthy container_name: graphql-pubsub libre-workflow-pubsub: - image: ghcr.io/spruik/libre-workflow-pubsub:0.0.1 + image: ghcr.io/spruik/libre-workflow-pubsub:0.0.7 restart: always environment: - LIBRE_CONFIG_FILE=/etc/config/config.json @@ -178,17 +162,20 @@ services: libre-gateway: ports: - 4000:4000 - image: ghcr.io/spruik/libre-gateway:tom + image: ghcr.io/spruik/libre-gateway:0.1.1 restart: always container_name: libre-gateway environment: - GRAPHQL_ENDPOINT=http://alpha:8080 - - LIBRE_SERVER_ENDPOINT=http://libre-server + - LIBRE_CORE_ENDPOINT=http://libre-core:4002 - LIBRE_AUTH_CERT_URL=https://demo-libremfg.us.auth0.com/.well-known/jwks.json volumes: - type: bind source: ./libre-gateway/supergraph.graphql target: /app/supergraph.graphql + - type: bind + source: ./libre-gateway/supergraph.yaml + target: /app/supergraph.yaml depends_on: alpha: condition: service_healthy @@ -200,9 +187,9 @@ services: interval: 5s timeout: 3s retries: 5 - test: ["CMD", "curl", "-f", "http://libre-gateway:4000/health"] + test: ["CMD", "curl", "-f", "http://libre-gateway:4000"] grafana: - image: grafana/grafana:latest + image: grafana/grafana:8.2.1 container_name: grafana restart: always environment: @@ -231,7 +218,7 @@ services: alpha: condition: service_healthy libre-edge-agent: - image: ghcr.io/spruik/libre-edge-agent:0.2.6 + image: ghcr.io/spruik/libre-edge-agent:0.4.0 restart: always environment: - LIBRE_CONFIG_FILE=/etc/config/config.json @@ -245,3 +232,36 @@ services: influxdb: condition: service_healthy container_name: libre-edge-agent + appsmith: + image: appsmith/appsmith-ce + container_name: appsmith-ce + environment: + - APPSMITH_MAIL_ENABLED=true + - APPSMITH_MAIL_FROM=app@libremfg.ai + - APPSMITH_REPLY_TO=app@libremfg.ai + - APPSMITH_MAIL_HOST=smtp.sendgrid.net + - APPSMITH_MAIL_PORT=587 + - APPSMITH_MAIL_SMTP_TLS_ENABLED=true + - APPSMITH_MAIL_USERNAME=apikey + - APPSMITH_MAIL_PASSWORD=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 + - APPSMITH_MAIL_SMTP_AUTH=true + - SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_GOOGLE_ISSUER-URI=https://demo-libremfg.us.auth0.com/ + - SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_GOOGLE_USER-NAME-ATTRIBUTE=email + - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_CLIENT-ID=cEye379jRD9TCroW6LRwsNf7LQkMYOBj + - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_CLIENT-SECRET=1QR-caDuhi-UcM0YzgKcip4wIdiTZrljH8K3h8WOHe_Zqg34Vi-7q3V0E6P-0JA0 + - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_AUTHORIZATION-GRANT-TYPE=authorization_code + - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_GOOGLE_REDIRECT-URI={baseUrl}/login/oauth2/code/{registrationId} + ports: + - "3080:80" + - "443:443" + - "9001:9001" + volumes: + - ./stacks:/appsmith-stacks + labels: + com.centurylinklabs.watchtower.enable: "true" + auto_update: + image: containrrr/watchtower:latest-dev + volumes: + - /var/run/docker.sock:/var/run/docker.sock + # Update check interval in seconds. + command: --interval 300 --label-enable --cleanup \ No newline at end of file diff --git a/Standalone/grafana/data/grafana.db b/Standalone/grafana/data/grafana.db deleted file mode 100644 index 301521b15c0e54f9ecb6225d336d912ee42b501f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 901120 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.next()).done;)o.push(a.value)}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return o}function o(){for(var e=[],t=0;t=30?t.textLabel.__largeBar+" --large":e<30&&n%a==0?t.textLabel.__smallBar+" --small":t.textLabel.__hidden+" --hidden"},b=function(e,t){var n;return function(){for(var a=[],r=0;r=0?e.toFixed(T>6?2:T):e,C=!L?n.forcedHidden.__barLabel:"";o=!P&&0===a||(t.p[a]=5;t.select("rect.selection").classed("selection--valid",u).classed("selection--invalid",!u)}})).on("end",s),p=function(){var n,a=Object(f.select)(e.svgRef.current);if(a){var r=null===(n=Object(f.select)(e.svgRef.current))||void 0===n?void 0:n.transition().duration(750);a.select(".axis-left").transition(r).call(Object(f.axisLeft)(e.y)),a.select(".axis-right").transition(r).call(Object(f.axisLeft)(e.p).ticks(4).tickFormat(e.pLabels));var i=0,o=0,l=e.xBand.bandwidth(),s=l/2,c=a.selectAll("rect."+t.bar);if(c.each((function(){if(this.dataset){var t=e.x(i)-s,n=this.dataset.isVital;if(o="true"===n?i:o,Object(f.select)(this).transition(r).attr("x",t).attr("width",l),e.showVitalFew&&i===c.size()-1){var u=e.x(o)-s+s;a.select(".line--vertical").transition(r).attr("x1",u).attr("x2",u).attr("y1",0).attr("y2",e.chartHeight)}}i++})),e.showBarValue){var u=Math.trunc(e.chartWidth/10/l);a.selectAll("text."+t.barValue).each((function(){var n=this.dataset.index,a=e.x(+n)-s,i=h(l,t,+n,u);Object(f.select)(this).transition(r).attr("class",[t.barValue,i].join(" ")).attr("x",a+s)}))}var d=e.p(e.vitalBreakpointVal/100);a.select(".line--horizontal").transition(r).attr("x1",0).attr("x2",e.chartWidth-e.padding).attr("y1",d).attr("y2",d),a.select(".line--curve").datum(e.pathData).transition(r).attr("transform","translate("+e.padding+", 0)").attr("d",e.line)}},b=Object(c.useCallback)((function(){Object(f.select)(e.svgRef.current).select(".brush").call(d.move,null),s()}),[f.select,s]);return Object(c.useLayoutEffect)((function(){b()}),[]),Object(c.useEffect)((function(){b()}),[e.data,b]),u.a.createElement("g",{transform:"translate("+2*e.padding+", "+(e.padding+e.chartHeight+3)+")",className:["brush",t.brushWrapper].join(" "),ref:function(e){Object(f.select)(e).call(d)}})},q={initCopyText:"Click on bar to copy data",copyText:"",dataCopied:"Copied data!"},Q=function(e,t){return''+t+""},G=function(e){var t=K(),n=Object(c.useRef)(null),a=Object(c.useRef)(null),r=function(t){Z(n,e,t)},i=function(t){J(n,a,e,t)};return Object(c.useEffect)((function(){return x(e.chartId+"-"+s.E_TOOLTIP_CLICK,r),x(e.chartId+"-"+s.E_TOOLTIP_MOVE,i),function(){v(e.chartId+"-"+s.E_TOOLTIP_CLICK,r),v(e.chartId+"-"+s.E_TOOLTIP_MOVE,i)}}),[]),u.a.createElement("div",{ref:n,className:["tooltip__container",t.tooltipContainer,e.chartId].join(" ")},u.a.createElement("div",{ref:a,className:t.tooltip}))},J=function(e,t,n,a){var r,i=(e||{current:null}).current,o=(t||{current:null}).current,l=(null===(r=a.currentTarget)||void 0===r?void 0:r.dataset)||{},s=l.labelHeader,c=l.label,u=l.label2,d=l.isVital,p=l.count,h=l.fillColor,b=!!["mouseover","mousemove"].includes(a.type);"mouseout"===a.type&&(q.copyText=q.initCopyText),i&&(Object(f.select)(i).classed("tooltip--visible",b),b&&Object(f.select)(i).style("left",a.pageX+"px").style("top",a.pageY-28+"px"),Object(f.select)(o).style("background",h||("true"===d?n.vitalColor?m(n.vitalColor):n.theme.palette.brandDanger:n.trivialColor?m(n.trivialColor):n.theme.palette.brandWarning)).html('\n \n \n "+p+"\n "))},Z=function(e,t,n){var a,r,i,o,l=(null===(a=n.currentTarget)||void 0===a?void 0:a.dataset.labelHeader)+"\n \r\nBar percentage: "+(null===(r=n.currentTarget)||void 0===r?void 0:r.dataset.label)+"\n \r\nCumulative percentage: "+(null===(i=n.currentTarget)||void 0===i?void 0:i.dataset.label2)+"\n \r\nCounts: "+(null===(o=n.currentTarget)||void 0===o?void 0:o.dataset.count)||"No Content",s=document.createElement("textarea");s.innerText=l;var c=e.current?e.current:document.body;c&&c.appendChild(s),s.select(),document.execCommand("copy"),Object(f.select)(c).select(".tooltip-copy-label").text(q.dataCopied),s.remove()},$=function(e){var t=e.theme,n=e.styles,a=e.padding,r=e.chartId,i=e.chartWidth,o=e.vitalBreakpointVal,s=e.vitalLineColor,c=e.curveLineColor,p=e.p,h=e.xBand,b=e.pathData,m=e.line,x=e.showVitalFew;return u.a.createElement("g",{clipPath:"url(#"+r+")",className:n.paths},u.a.createElement("path",{className:["line--curve",n.line,Object(d.css)(R||(R=l(["\n stroke: ",";\n "],["\n stroke: ",";\n "])),c||t.colors.text)].join(" "),transform:"translate("+a+", 0)",ref:function(e){Object(f.select)(e).datum(b).attr("d",m)}}),x&&u.a.createElement("line",{className:["line--horizontal",n.lineCutOff,Object(d.css)(H||(H=l(["\n stroke: ",";\n "],["\n stroke: ",";\n "])),s||t.palette.brandDanger)].join(" "),transform:"translate("+(a+h.bandwidth()/2)+", 0)",ref:function(e){Object(f.select)(e).attr("x1",0).attr("x2",i-a).attr("y1",p(o/100)).attr("y2",p(o/100))}}))},ee=function(e){var t=e.data,n=e.styles,a=e.padding,r=e.chartHeight,o=e.chartWidth,l=(e.x,e.xPBand),s=e.y,c=e.p,d=e.pLabels,p=e.vitalBreakpointVal,h=e.isInclusive,b=!!t.p.filter((function(e){return e100?100:s;var c=((null===(l=e)||void 0===l?void 0:l.p[i-1])?e.p[i-1]:0)+s;c=c>100?100:c;var u=i===t.length-1?Math.trunc(Math.ceil(c))+" %":c.toFixed(2)+" %",d=s.toFixed(2)+" %";return r(r({},e),{x:o(e.x,[a.x]),y:o(e.y,[a.y]),p:o(e.p,[c]),xP:o(e.xP,[s]),xAxisLabels:o(e.xAxisLabels,[u]),tooltipLabel:o(e.tooltipLabel,[d])})}),{x:[],y:[],p:[],xP:[],xAxisLabels:[],tooltipLabel:[]}),this.results)},e}();n.d(t,"plugin",(function(){return ne}));var ne=new a.PanelPlugin((function(e){var t,n=e.options,a=e.data,i=e.width,o=e.height,s=e.id,h=Object(c.useRef)(null),b=Object(p.useTheme)(),m=K();if(!a||!a.series.length)return u.a.createElement("div",{className:["placeholder--no-data",m.placeholder.__noData].join(" ")},"No Data");var x="chartMask_"+s,g=new te(a).getResults(),v=g.results,y=g.error;if(y||!v)return u.a.createElement("div",{className:["placeholder--no-data",m.placeholder.__noData].join(" ")},(null===(t=y)||void 0===t?void 0:t.message)||"Invalid data");var O=function(e,t){var n=t.options,a=t.width,r=t.height,i=n.vitalBreakpointVal,o=Object(f.max)(e.y)||0,l=Object(f.min)(e.y)||0,s=r-60,c=a-40,u=Object(f.scaleBand)().range([0,c-20]).padding(n.barPadding),d=Object(f.scaleBand)().range([0,c-20]).padding(n.barPadding).paddingOuter(.6),p=Object(f.scaleLinear)().range([0,c-20]),h=Object(f.scaleLinear)().range([0,c-20]),b=Object(f.scaleLinear)().range([s,0]),m=Object(f.scaleLinear)().range([s,0]),x=Object(f.line)().curve(f.curveBasis).x((function(e,t){return h(t)||0})).y((function(e){return e?m(e.p/100):e})),g=e.p.map((function(t,n){return{x:e.xAxisLabels[n]||"",p:t||0}}))||null,v=e.p.map((function(t,n){return{x:e.xAxisLabels[n]||"",p:i}}))||null,y=e.p.map((function(e,t){return{x:t,p:0}})),O=e.p[0]/e.p.length,j=l-O>0?l-O:0;return u.domain(e.xAxisLabels),d.domain(e.xAxisLabels),p.domain([-1,e.x.length]),h.domain([-1,e.x.length]),m.domain([0,1]),b.domain([j,o+O]),{padding:20,x:h,xBand:u,xPBand:d,xLinear:p,y:b,p:m,chartHeight:s,chartWidth:c,line:x,pathData:g,cutOffXPathData:v,bottomLineData:y,pLabels:function(e,t){return 0!==t&&e&&e?100*e+" %":""},Component:X}}(v,{options:n,width:i,height:o}),j=r(r(r({data:v,theme:b,styles:m,chartId:x},n),O),{svgRef:h}),w=O.Component;return u.a.createElement("div",{className:Object(d.cx)(m.wrapper,Object(d.css)(Y||(Y=l(["\n width: ","px;\n height: ","px;\n "],["\n width: ","px;\n height: ","px;\n "])),i,o))},u.a.createElement(G,r({},j)),u.a.createElement("svg",{ref:h,className:["svg--pareto-chart",m.svg].join(" "),width:i,height:o,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 "+i+" "+o},u.a.createElement("g",{transform:"translate("+O.padding+", "+O.padding+")",className:"wrapper"},u.a.createElement(w,r({},j)),u.a.createElement($,r({},j)),u.a.createElement(ee,r({},j))),u.a.createElement(U,r({},j)),u.a.createElement("defs",null,u.a.createElement("clipPath",{id:x},u.a.createElement("rect",{transform:"translate(0, -"+j.padding+")",ref:function(e){Object(f.select)(e).attr("width",j.chartWidth-j.padding).attr("height",j.chartHeight+j.padding)}})))))})).setPanelOptions((function(e){return e.addBooleanSwitch({path:"showVitalFew",name:"Show vital few line",description:"Indicates that many defects come from relatively few causes.",defaultValue:!0}).addNumberInput({path:"vitalBreakpointVal",name:"Vital few value (%)",description:"Default is 80 based on the 80/20 rule. But, you are able to customize this.",defaultValue:20}).addBooleanSwitch({path:"isInclusive",name:"Inclusive vital few",description:"Include bar with overlapping breakpoint value",defaultValue:!1}).addBooleanSwitch({path:"showBarValue",name:"Show bar values",description:"Show the bar values on top of the bars?",defaultValue:!1}).addNumberInput({path:"valToFixed",name:"Number of decimals (max. 6)",description:"Set number of decimals in bar values.",settings:{min:0,max:6},defaultValue:2,showIf:function(e){return e.showBarValue}}).addNumberInput({path:"barPadding",name:"Bar padding",description:"Space between bars. Should be a value between 0 and 1.",defaultValue:.2,settings:{min:0,max:1}}).addColorPicker({category:["Colors"],path:"curveLineColor",name:"Percentage line",description:"The curved line visualizing the optimal trade off"}).addColorPicker({category:["Colors"],path:"vitalLineColor",name:"Breakpoint lines",description:"Horizontal and vertical lines indicating the vital few breakpoint",showIf:function(e){return e.showVitalFew}}).addColorPicker({category:["Colors"],path:"vitalColor",name:"Vital few bars",description:"The bars within the determined vital few percentage"}).addColorPicker({category:["Colors"],path:"trivialColor",name:"Trivial many bars",description:"The bars outside the vital few percentage"}).addColorPicker({category:["Colors"],path:"barHoverColor",name:"Bar hover state",description:"Bar fill color on hover"})}))}])})); +define(["react","d3","emotion","@grafana/data","@grafana/ui"],(function(e,t,n,a,r){return function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=5)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t){e.exports=a},function(e,t){e.exports=r},function(e,t,n){"use strict";n.r(t);var a=n(3);var r=function(){return(r=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)&&!(a=i.next()).done;)o.push(a.value)}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return o}function o(){for(var e=[],t=0;t=30?t.textLabel.__largeBar+" --large":e<30&&n%a==0?t.textLabel.__smallBar+" --small":t.textLabel.__hidden+" --hidden"},h=function(e,t){var n;return function(){for(var a=[],r=0;r=0?e.toFixed(_>6?2:_):e,v=!E?n.forcedHidden.__barLabel:"";o=!S&&0===a||(t.p[a]=5;t.select("rect.selection").classed("selection--valid",u).classed("selection--invalid",!u)}})).on("end",s),p=function(){var n,a=Object(f.select)(e.svgRef.current);if(a){var r=null===(n=Object(f.select)(e.svgRef.current))||void 0===n?void 0:n.transition().duration(750);a.select(".axis-left").transition(r).call(Object(f.axisLeft)(e.y)),a.select(".axis-right").transition(r).call(Object(f.axisLeft)(e.p).ticks(4).tickFormat(e.pLabels));var i=0,o=0,l=e.xBand.bandwidth(),s=l/2,c=a.selectAll("rect."+t.bar);if(c.each((function(){if(this.dataset){var t=e.x(i)-s,n=this.dataset.isVital;if(o="true"===n?i:o,Object(f.select)(this).transition(r).attr("x",t).attr("width",l),e.showBarText&&Object(f.select)("#barTextGroup-"+i).transition(r).style("transform","translate("+(t+s)+"px, "+(e.chartHeight-10)+"px) rotate("+e.barTextRotation+"deg)"),e.showVitalFew&&i===c.size()-1){var u=e.x(o)-s+s;a.select(".line--vertical").transition(r).attr("x1",u).attr("x2",u).attr("y1",0).attr("y2",e.chartHeight)}}i++})),e.showBarValue){var u=Math.trunc(e.chartWidth/10/l);a.selectAll("text."+t.barValue).each((function(){var n=this.dataset.index,a=e.x(+n)-s,i=b(l,t,+n,u);Object(f.select)(this).transition(r).attr("class",[t.barValue,i].join(" ")).attr("x",a+s)}))}var d=e.p(e.vitalBreakpointVal/100);a.select(".line--horizontal").transition(r).attr("x1",0).attr("x2",e.chartWidth-e.padding).attr("y1",d).attr("y2",d),a.select(".line--curve").datum(e.pathData).transition(r).attr("transform","translate("+e.padding+", 0)").attr("d",e.line)}},h=Object(c.useCallback)((function(){Object(f.select)(e.svgRef.current).select(".brush").call(d.move,null),s()}),[f.select,s]);return Object(c.useLayoutEffect)((function(){h()}),[]),Object(c.useEffect)((function(){h()}),[e.data,h]),u.a.createElement("g",{transform:"translate("+2*e.padding+", "+(e.padding+e.chartHeight+3)+")",className:["brush",t.brushWrapper].join(" "),ref:function(e){Object(f.select)(e).call(d)}})},Q={initCopyText:"Click on bar to copy data",copyText:"",dataCopied:"Copied data!"},J=function(e,t){return''+t+""},Z=function(e){var t=q(),n=Object(c.useRef)(null),a=Object(c.useRef)(null),r=function(t){ee(n,e,t)},i=function(t){$(n,a,e,t)};return Object(c.useEffect)((function(){return x(e.chartId+"-"+s.E_TOOLTIP_CLICK,r),x(e.chartId+"-"+s.E_TOOLTIP_MOVE,i),function(){g(e.chartId+"-"+s.E_TOOLTIP_CLICK,r),g(e.chartId+"-"+s.E_TOOLTIP_MOVE,i)}}),[]),u.a.createElement("div",{ref:n,className:["tooltip__container",t.tooltipContainer,e.chartId].join(" ")},u.a.createElement("div",{ref:a,className:t.tooltip}))},$=function(e,t,n,a){var r,i=(e||{current:null}).current,o=(t||{current:null}).current,l=(null===(r=a.currentTarget)||void 0===r?void 0:r.dataset)||{},s=l.labelHeader,c=l.label,u=l.label2,d=l.isVital,p=l.count,b=l.fillColor,h=!!["mouseover","mousemove"].includes(a.type);"mouseout"===a.type&&(Q.copyText=Q.initCopyText),i&&(Object(f.select)(i).classed("tooltip--visible",h),h&&Object(f.select)(i).style("left",a.pageX+"px").style("top",a.pageY-28+"px"),Object(f.select)(o).style("background",b||("true"===d?n.vitalColor?m(n.vitalColor):n.theme.palette.brandDanger:n.trivialColor?m(n.trivialColor):n.theme.palette.brandWarning)).html('\n \n \n "+p+"\n "))},ee=function(e,t,n){var a,r,i,o,l=(null===(a=n.currentTarget)||void 0===a?void 0:a.dataset.labelHeader)+"\n \r\nBar percentage: "+(null===(r=n.currentTarget)||void 0===r?void 0:r.dataset.label)+"\n \r\nCumulative percentage: "+(null===(i=n.currentTarget)||void 0===i?void 0:i.dataset.label2)+"\n \r\nCounts: "+(null===(o=n.currentTarget)||void 0===o?void 0:o.dataset.count)||"No Content",s=document.createElement("textarea");s.innerText=l;var c=e.current?e.current:document.body;c&&c.appendChild(s),s.select(),document.execCommand("copy"),Object(f.select)(c).select(".tooltip-copy-label").text(Q.dataCopied),s.remove()},te=function(e){var t=e.theme,n=e.styles,a=e.padding,r=e.chartId,i=e.chartWidth,o=e.vitalBreakpointVal,s=e.vitalLineColor,c=e.curveLineColor,p=e.p,b=e.xBand,h=e.pathData,m=e.line,x=e.showVitalFew;return u.a.createElement("g",{clipPath:"url(#"+r+")",className:n.paths},u.a.createElement("path",{className:["line--curve",n.line,Object(d.css)(Y||(Y=l(["\n stroke: ",";\n "],["\n stroke: ",";\n "])),c||t.colors.text)].join(" "),transform:"translate("+a+", 0)",ref:function(e){Object(f.select)(e).datum(h).attr("d",m)}}),x&&u.a.createElement("line",{className:["line--horizontal",n.lineCutOff,Object(d.css)(X||(X=l(["\n stroke: ",";\n "],["\n stroke: ",";\n "])),s||t.palette.brandDanger)].join(" "),transform:"translate("+(a+b.bandwidth()/2)+", 0)",ref:function(e){Object(f.select)(e).attr("x1",0).attr("x2",i-a).attr("y1",p(o/100)).attr("y2",p(o/100))}}))},ne=function(e){var t=e.data,n=e.styles,a=e.padding,r=e.chartHeight,o=e.chartWidth,l=(e.x,e.xPBand),s=e.y,c=e.p,d=e.pLabels,p=e.vitalBreakpointVal,b=e.isInclusive,h=!!t.p.filter((function(e){return e100?100:s;var c=((null===(l=e)||void 0===l?void 0:l.p[i-1])?e.p[i-1]:0)+s;c=c>100?100:c;var u=i===t.length-1?Math.trunc(Math.ceil(c))+" %":c.toFixed(2)+" %",d=s.toFixed(2)+" %";return r(r({},e),{x:o(e.x,[a.x]),y:o(e.y,[a.y]),p:o(e.p,[c]),xP:o(e.xP,[s]),xAxisLabels:o(e.xAxisLabels,[u]),tooltipLabel:o(e.tooltipLabel,[d])})}),{x:[],y:[],p:[],xP:[],xAxisLabels:[],tooltipLabel:[]}),this.results):(this.results=null,this.error={message:"Please check your query. There is no data available!"},this.results)},e}();n.d(t,"plugin",(function(){return re}));var re=new a.PanelPlugin((function(e){var t,n=e.options,a=e.data,i=e.width,o=e.height,s=e.id,b=Object(c.useRef)(null),h=Object(p.useTheme)(),m=q();if(!a||!a.series.length)return u.a.createElement("div",{className:["placeholder--no-data",m.placeholder.__noData].join(" ")},"No Data");var x="chartMask_"+s,v=new ae(a).getResults(),g=v.results,y=v.error;if(y||!g)return u.a.createElement("div",{className:["placeholder--no-data",m.placeholder.__noData].join(" ")},(null===(t=y)||void 0===t?void 0:t.message)||"Invalid data");var O=function(e,t){var n=t.options,a=t.width,r=t.height,i=n.vitalBreakpointVal,o=Object(f.max)(e.y)||0,l=Object(f.min)(e.y)||0,s=r-60,c=a-40,u=n.barPadding<1?n.barPadding:n.barPadding/10,d=Object(f.scaleBand)().range([0,c-20]).padding(u),p=Object(f.scaleBand)().range([0,c-20]).padding(u).paddingOuter(.6),b=Object(f.scaleLinear)().range([0,c-20]),h=Object(f.scaleLinear)().range([0,c-20]),m=Object(f.scaleLinear)().range([s,0]),x=Object(f.scaleLinear)().range([s,0]),v=Object(f.line)().curve(f.curveBasis).x((function(e,t){return h(t)||0})).y((function(e){return e?x(e.p/100):e})),g=e.p.map((function(t,n){return{x:e.xAxisLabels[n]||"",p:t||0}}))||null,y=e.p.map((function(t,n){return{x:e.xAxisLabels[n]||"",p:i}}))||null,O=e.p.map((function(e,t){return{x:t,p:0}})),j=e.p[0]/e.p.length,w=l-j>0?l-j:0;return d.domain(e.xAxisLabels),p.domain(e.xAxisLabels),b.domain([-1,e.x.length]),h.domain([-1,e.x.length]),x.domain([0,1]),m.domain([w,o+j]),{padding:20,x:h,xBand:d,xPBand:p,xLinear:b,y:m,p:x,chartHeight:s,chartWidth:c,line:v,pathData:g,cutOffXPathData:y,bottomLineData:O,pLabels:function(e,t){return 0!==t&&e&&e?100*e+" %":""},Component:G}}(g,{options:n,width:i,height:o}),j=r(r(r({data:g,theme:h,styles:m,chartId:x},n),O),{svgRef:b}),w=O.Component;return u.a.createElement("div",{className:Object(d.cx)(m.wrapper,Object(d.css)(K||(K=l(["\n width: ","px;\n height: ","px;\n "],["\n width: ","px;\n height: ","px;\n "])),i,o))},u.a.createElement(Z,r({},j)),u.a.createElement("svg",{ref:b,className:["svg--pareto-chart",m.svg].join(" "),width:i,height:o,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 "+i+" "+o},u.a.createElement("g",{transform:"translate("+O.padding+", "+O.padding+")",className:"wrapper"},u.a.createElement(w,r({},j)),u.a.createElement(te,r({},j)),u.a.createElement(ne,r({},j))),u.a.createElement(U,r({},j)),u.a.createElement("defs",null,u.a.createElement("clipPath",{id:x},u.a.createElement("rect",{transform:"translate(0, -"+j.padding+")",ref:function(e){Object(f.select)(e).attr("width",j.chartWidth-j.padding).attr("height",j.chartHeight+j.padding)}})))))})).setPanelOptions((function(e){return e.addBooleanSwitch({path:"showVitalFew",name:"Show vital few line",description:"Indicates that many defects come from relatively few causes.",defaultValue:!0}).addNumberInput({path:"vitalBreakpointVal",name:"Vital few value (%)",description:"Default is 80 based on the 80/20 rule. But, you are able to customize this.",defaultValue:20}).addBooleanSwitch({path:"isInclusive",name:"Inclusive vital few",description:"Include bar with overlapping breakpoint value",defaultValue:!1}).addBooleanSwitch({path:"showBarValue",name:"Show bar values",description:"Show the bar values on top of the bars?",defaultValue:!1}).addBooleanSwitch({path:"showBarText",name:"Show bar labels",description:"Show the bar label?",defaultValue:!1}).addNumberInput({path:"barTextFontSize",name:"Bar label font size",description:"Font size for the bar label.",defaultValue:12}).addNumberInput({path:"barTextRotation",name:"Bar label rotation",description:"Rotation degree of the label",defaultValue:270}).addNumberInput({path:"valToFixed",name:"Number of decimals (max. 6)",description:"Set number of decimals in bar values.",settings:{min:0,max:6},defaultValue:2,showIf:function(e){return e.showBarValue}}).addNumberInput({path:"barPadding",name:"Bar padding",description:"Space between bars. Should be a value between 1 and 9.",defaultValue:2,settings:{min:1,max:9}}).addColorPicker({category:["Colors"],path:"curveLineColor",name:"Percentage line",description:"The curved line visualizing the optimal trade off"}).addColorPicker({category:["Colors"],path:"vitalLineColor",name:"Breakpoint lines",description:"Horizontal and vertical lines indicating the vital few breakpoint",showIf:function(e){return e.showVitalFew}}).addColorPicker({category:["Colors"],path:"vitalColor",name:"Vital few bars",description:"The bars within the determined vital few percentage"}).addColorPicker({category:["Colors"],path:"barLabelColor",name:"Bar label color",description:"Color or the bar label"}).addColorPicker({category:["Colors"],path:"trivialColor",name:"Trivial many bars",description:"The bars outside the vital few percentage"}).addColorPicker({category:["Colors"],path:"barHoverColor",name:"Bar hover state",description:"Bar fill color on hover"})}))}])})); //# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/Standalone/grafana/plugins/isaozler-paretochart-panel/module.js.map b/Standalone/grafana/plugins/isaozler-paretochart-panel/module.js.map index a8a0b51..27d9d5b 100644 --- a/Standalone/grafana/plugins/isaozler-paretochart-panel/module.js.map +++ b/Standalone/grafana/plugins/isaozler-paretochart-panel/module.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"d3\"","webpack:///external \"react\"","webpack:///external \"emotion\"","webpack:///external \"@grafana/data\"","webpack:///external \"@grafana/ui\"","webpack:///../node_modules/tslib/tslib.es6.js","webpack:///./constants.ts","webpack:///./utils.ts","webpack:///./eventBus.ts","webpack:///./BarGraph.tsx","webpack:///./styles.ts","webpack:///./BrushComponent.tsx","webpack:///./TooltipComponent.tsx","webpack:///./GraphComponents.tsx","webpack:///./controllers.ts","webpack:///./module.ts","webpack:///./ParetoPanel.tsx"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__2__","__WEBPACK_EXTERNAL_MODULE__3__","__WEBPACK_EXTERNAL_MODULE__4__","__assign","assign","arguments","length","apply","this","__read","iterator","e","ar","next","done","push","error","__spread","concat","__makeTemplateObject","cooked","raw","CONSTANTS","getTextLabelClass","bandWidth","styles","step","textLabel","__largeBar","__smallBar","__hidden","func","waitFor","timeout","Promise","resolve","clearTimeout","setTimeout","camelCase","input","indexOf","toLowerCase","replace","match","group1","eventBus","event","callback","document","addEventListener","data","dispatchEvent","CustomEvent","detail","removeEventListener","theme","padding","x","xBand","y","chartHeight","chartWidth","vitalBreakpointVal","isInclusive","showVitalFew","showBarValue","valToFixed","chartId","vitalColor","vitalLineColor","trivialColor","barHoverColor","hasVitals","filter","bandwidth","debouncedClickHandler","E_TOOLTIP_CLICK","debouncedMoveHandler","E_TOOLTIP_MOVE","getFillColor","isVital","palette","brandDanger","brandWarning","showVitalVerticalLineIndex","clipPath","className","transform","map","val","currentX","Math","trunc","label","toFixed","visibilityClassName","forcedHidden","__barLabel","textLabelClass","bar","join","fill","tooltipLabel","onMouseUp","currentTarget","onMouseOver","type","pageX","pageY","onMouseMove","onMouseOut","ref","node","attr","index","barValue","lineCutOff","getStyles","wrapper","svg","tooltipContainer","tooltip","colors","border2","text","textBox","line","lineBottomAxis","paths","brushWrapper","bg3","bgBlue2","brushOverlay","axis","chartMaskId","placeholder","__noData","redBase","props","initXDomain","initBandWidth","lastSelection","idleTimeout","idled","range","barPadding","domain","xAxisLabels","brushHandler","svgRef","current","selection","xLinear","invert","barCount","xStart","xPartStart","selectedPart","percentage","floor","select","brush","move","newEndRange","resetRange","zoom","extent","on","xCheck","isValidLimit","classed","transition","duration","ticks","tickFormat","pLabels","selectAll","each","dataset","newCurrentX","size","xPos","yPos","datum","pathData","resetChart","contents","initCopyText","copyText","dataCopied","getCopyLabel","isCopyLabelVisible","tooltipRef","tooltipContentRef","barClickEventHandler","barMoveEventHandler","labelHeader","label2","count","fillColor","isVisible","includes","tooltipDiv","style","tooltipContentDiv","html","labelValue","content","textField","createElement","innerText","appendTo","body","appendChild","execCommand","remove","curveLineColor","xPBand","pList","_","sort","a","b","breakpointXLabel","xPAxis","tickValues","resultFormat","serie","fields","meta","executedQueryString","dataType","results","setTableData","setTimeSeriesData","series","setSeriesData","getResults","xData","find","string","yData","number","xValues","values","toArray","yValues","setResults","sumYVals","stripName","vals","reduce","fullTagName","tagName","trim","yValuesSum","message","result","xPercentage","ceil","xP","options","width","height","id","graphData","barGraphData","maxYOffsetVal","minYOffsetVal","paddingOuter","curve","cutOffXPathData","bottomLineData","barHeightOffset","yDomainMin","Component","BarGraph","xmlns","xmlnsXlink","viewBox","setPanelOptions","builder","addBooleanSwitch","path","description","defaultValue","addNumberInput","settings","min","max","showIf","addColorPicker","category"],"mappings":"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","file":"module.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4__;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export enum CONSTANTS {\n E_TOOLTIP_CLICK = 'E_TOOLTIP_CLICK',\n E_TOOLTIP_MOVE = 'E_TOOLTIP_MOVE',\n}\n","export const getTextLabelClass = (bandWidth: number, styles: any, i: number, step: number) => {\n return bandWidth >= 30\n ? `${styles.textLabel.__largeBar} --large`\n : bandWidth < 30 && i % step === 0\n ? `${styles.textLabel.__smallBar} --small`\n : `${styles.textLabel.__hidden} --hidden`;\n};\n\nexport const tickFilter = (highestVitalFewValue: number, maxCount: number) => (pVal: any, i: number) =>\n pVal === highestVitalFewValue || maxCount === i;\n\nexport const debounce = any>(func: F, waitFor: number) => {\n let timeout: any;\n\n return (...args: Parameters): Promise> =>\n new Promise(resolve => {\n if (timeout) {\n clearTimeout(timeout);\n }\n\n timeout = setTimeout(() => resolve(func(...args)), waitFor);\n });\n};\n\nexport const throttle = any>(func: F, waitFor: number) => {\n const now = () => new Date().getTime();\n const resetStartTime = () => (startTime = now());\n let timeout: any;\n let startTime: number = now() - waitFor;\n\n return (...args: Parameters): Promise> =>\n new Promise(resolve => {\n const timeLeft = startTime + waitFor - now();\n if (timeout) {\n clearTimeout(timeout);\n }\n if (startTime + waitFor <= now()) {\n resetStartTime();\n resolve(func(...args));\n } else {\n timeout = setTimeout(() => {\n resetStartTime();\n resolve(func(...args));\n }, timeLeft);\n }\n });\n};\n\nexport const camelCase = (input: string): string => {\n if (input.indexOf('rgb') === 0) {\n return input;\n }\n\n return input.toLowerCase().replace(/-(.)/g, (match, group1) => group1.toUpperCase());\n};\n","export const eventBus = {\n on(event: any, callback: any) {\n document.addEventListener(event, e => callback(e.detail));\n },\n dispatch(event: any, data: any) {\n document.dispatchEvent(new CustomEvent(event, { detail: data }));\n },\n remove(event: any, callback: any) {\n document.removeEventListener(event, callback);\n },\n};\n","import React from 'react';\nimport {\n select as d3Select,\n max as d3Max,\n min as d3Min,\n scaleLinear as d3ScaleLinear,\n scaleBand as d3ScaleBand,\n line as d3Line,\n curveBasis as d3LineCurve,\n} from 'd3';\nimport { css } from 'emotion';\nimport { GraphData } from './controllers';\nimport { getTextLabelClass, debounce, camelCase } from './utils';\nimport { eventBus } from './eventBus';\nimport { CONSTANTS } from './constants';\n\nexport interface BarGraphSettings {\n options: any;\n width: number;\n height: number;\n}\n\nexport function BarGraph(data: GraphData, { options, width, height }: BarGraphSettings) {\n const { vitalBreakpointVal } = options;\n const maxYOffsetVal: number = d3Max(data.y) || 0;\n const minYOffsetVal: number = d3Min(data.y) || 0;\n const padding = 20;\n const chartHeight = height - 3 * padding;\n const chartWidth = width - 2 * padding;\n const xBand = d3ScaleBand()\n .range([0, chartWidth - padding])\n .padding(options.barPadding);\n const xPBand = d3ScaleBand()\n .range([0, chartWidth - padding])\n .padding(options.barPadding)\n .paddingOuter(0.6);\n const xLinear = d3ScaleLinear().range([0, chartWidth - padding]);\n const x = d3ScaleLinear().range([0, chartWidth - padding]);\n const y = d3ScaleLinear().range([chartHeight, 0]);\n const p = d3ScaleLinear().range([chartHeight, 0]);\n const line = d3Line()\n .curve(d3LineCurve)\n .x((d, i) => x(i) || 0)\n .y((d: any) => (!!d ? p(d.p / 100) : d));\n const pLabels = (n: any, index: number): string => {\n if (index === 0 || !n || !!!n) {\n return ``;\n }\n return `${n * 100} %`;\n };\n const pathData = data.p.map((d, i) => ({ x: data.xAxisLabels[i] || '', p: d || 0 })) || null;\n const cutOffXPathData = data.p.map((d, i) => ({ x: data.xAxisLabels[i] || '', p: vitalBreakpointVal })) || null;\n const bottomLineData = data.p.map((d, i) => ({ x: i, p: 0 }));\n const barHeightOffset = data.p[0] / data.p.length;\n const yDomainMin = minYOffsetVal - barHeightOffset > 0 ? minYOffsetVal - barHeightOffset : 0;\n\n xBand.domain(data.xAxisLabels);\n xPBand.domain(data.xAxisLabels);\n xLinear.domain([-1, data.x.length]);\n x.domain([-1, data.x.length]);\n p.domain([0, 1]);\n y.domain([yDomainMin, maxYOffsetVal + barHeightOffset]);\n\n return {\n padding,\n x,\n xBand,\n xPBand,\n xLinear,\n y,\n p,\n chartHeight,\n chartWidth,\n line,\n pathData,\n cutOffXPathData,\n bottomLineData,\n pLabels,\n Component,\n };\n}\n\nconst Component: React.FC = ({\n data,\n styles,\n theme,\n padding,\n x,\n xBand,\n y,\n p,\n chartHeight,\n chartWidth,\n vitalBreakpointVal,\n isInclusive,\n showVitalFew,\n showBarValue,\n valToFixed,\n chartId,\n vitalColor,\n vitalLineColor,\n trivialColor,\n barHoverColor,\n}) => {\n const hasVitals = !!data.p.filter((d: number, i: number) => d < vitalBreakpointVal).length;\n const bandwidth = xBand.bandwidth() * 0.9;\n const barClickHandler = (event: any) => eventBus.dispatch(`${chartId}-${CONSTANTS.E_TOOLTIP_CLICK}`, event);\n const barMoveHandler = (event: any) => eventBus.dispatch(`${chartId}-${CONSTANTS.E_TOOLTIP_MOVE}`, event);\n const debouncedClickHandler = debounce(barClickHandler, 200);\n const debouncedMoveHandler = debounce(barMoveHandler, 200);\n const getFillColor = (isVital: boolean) =>\n isVital\n ? !!vitalColor\n ? camelCase(vitalColor)\n : theme.palette.brandDanger\n : !!trivialColor\n ? camelCase(trivialColor)\n : theme.palette.brandWarning;\n let showVitalVerticalLineIndex = 0;\n\n return (\n \n {data.y.map((val: number, i: number) => {\n const currentX: number = x(i) - bandwidth / 2;\n const step = Math.trunc(chartWidth / 10 / bandwidth);\n const defaultFixedVal = 2;\n const maxFixedVal = 6;\n const label =\n typeof val === 'number' && valToFixed >= 0\n ? val.toFixed(valToFixed > maxFixedVal ? defaultFixedVal : valToFixed)\n : val;\n const isForcedHidden = !showBarValue;\n const visibilityClassName = isForcedHidden ? styles.forcedHidden.__barLabel : '';\n const BarLabel = ({ index, className }: any) => (\n \n {label}\n \n );\n let isVital;\n\n if (!hasVitals && i === 0) {\n isVital = true;\n } else if (data.p[i] < vitalBreakpointVal && !isInclusive) {\n isVital = true;\n } else if (isInclusive && (data.p[i - 1] < vitalBreakpointVal || i === 0)) {\n isVital = true;\n } else {\n isVital = false;\n }\n\n showVitalVerticalLineIndex =\n !hasVitals && i === 0\n ? 0\n : data.p[i] < vitalBreakpointVal && !isInclusive\n ? i\n : isInclusive && data.p[i - 1] < vitalBreakpointVal\n ? i\n : showVitalVerticalLineIndex;\n const textLabelClass = getTextLabelClass(bandwidth, styles, i, step);\n\n return (\n <>\n debouncedClickHandler({ currentTarget })}\n onMouseOver={({ currentTarget, type, pageX, pageY }) =>\n debouncedMoveHandler({ currentTarget, type, pageX, pageY })\n }\n onMouseMove={({ currentTarget, type, pageX, pageY }) =>\n debouncedMoveHandler({ currentTarget, type, pageX, pageY })\n }\n onMouseOut={({ currentTarget, type, pageX, pageY }) =>\n debouncedMoveHandler({ currentTarget, type, pageX, pageY })\n }\n ref={node => {\n d3Select(node)\n .attr('x', currentX)\n .attr('y', y(val))\n .attr('width', bandwidth)\n .attr('height', chartHeight - y(val));\n }}\n />\n \n <>\n {showVitalFew && i === data.y.length - 1 && (\n {\n d3Select(node)\n .attr('x1', x(showVitalVerticalLineIndex) - bandwidth / 2 + bandwidth / 2)\n .attr('x2', x(showVitalVerticalLineIndex) - bandwidth / 2 + bandwidth / 2)\n .attr('y1', 0)\n .attr('y2', chartHeight);\n }}\n />\n )}\n \n \n );\n })}\n \n );\n};\n","import { css } from 'emotion';\nimport { stylesFactory, useTheme } from '@grafana/ui';\n\nexport const getStyles = stylesFactory(() => {\n const theme = useTheme();\n\n return {\n wrapper: css`\n position: relative;\n `,\n svg: css`\n position: absolute;\n top: 0;\n left: 0;\n `,\n tooltipContainer: css`\n position: fixed;\n z-index: 100;\n min-width: 20vw;\n display: flex;\n transition: all 0.2s ease;\n\n &:not(.tooltip--visible) {\n z-index: -10;\n opacity: 0;\n }\n\n .tooltip--visible {\n z-index: 1;\n opacity: 1;\n }\n `,\n tooltip: css`\n position: absolute;\n bottom: 0;\n left: 0;\n border: 1px solid ${theme.colors.border2};\n padding: 4px 10px;\n max-width: 100%;\n color: white;\n\n strong {\n position: absolute;\n top: -1px;\n left: 100%;\n padding: 4px;\n bottom: -1px;\n min-width: 50px;\n text-align: center;\n background: inherit;\n border: 1px solid ${theme.colors.border2};\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.4rem;\n }\n\n label {\n display: block;\n background: inherit;\n padding: 0 0 4px 0;\n\n &.label-header {\n font-weight: bold;\n font-size: 1.2rem;\n max-width: 100%;\n }\n }\n\n .tooltip-copy-label {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n background: ${theme.colors.border2};\n color: ${theme.colors.text};\n font-size: 10px;\n height: 20px;\n box-sizing: border-box;\n padding: 2px 4px;\n\n &.hidden {\n opacity: 0;\n z-index: -1;\n }\n }\n `,\n textBox: css`\n position: absolute;\n bottom: 0;\n left: 0;\n padding: 10px;\n `,\n bar: css`\n cursor: pointer;\n\n &:hover {\n fill: ${theme.colors.text};\n }\n `,\n barValue: css`\n fill: ${theme.colors.text};\n text-anchor: middle;\n opacity: 1;\n transition: opacity 0.2s ease-out;\n user-select: none;\n `,\n line: css`\n fill: none;\n stroke-width: 2px;\n shape-rendering: geometricPrecision;\n `,\n lineCutOff: css`\n fill: none;\n stroke-width: 2px;\n stroke-dasharray: 5px;\n `,\n lineBottomAxis: css`\n // fill: none;\n stroke: ${theme.colors.text};\n shape-rendering: crispEdges;\n `,\n paths: css`\n position: relative;\n `,\n brushWrapper: css`\n fill: ${theme.colors.bg3};\n stroke: ${theme.colors.border2};\n stroke-width: 0.75px;\n\n .selection {\n fill: ${theme.colors.bgBlue2} !important;\n fill-opacity: 0.75;\n stroke: none;\n\n &--invalid {\n fill: ${theme.palette.brandDanger} !important;\n }\n }\n\n .handle {\n fill: ${theme.palette.brandWarning} !important;\n fill-opacity: 0.75;\n }\n `,\n brushOverlay: css`\n cursor: crosshair;\n `,\n textLabel: {\n __largeBar: css``,\n __smallBar: css``,\n __hidden: css`\n fill: none;\n opacity: 0;\n `,\n },\n axis: css`\n text {\n user-select: none;\n }\n `,\n chartMaskId: css`\n fill: none;\n user-select: none;\n `,\n placeholder: {\n __noData: css`\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 2rem;\n font-weight: bold;\n color: ${theme.palette.redBase};\n height: 100%;\n user-select: none;\n `,\n },\n forcedHidden: {\n __barLabel: css`\n opacity: 0 !important;\n transform: translate(0, -100px);\n `,\n },\n };\n});\n","import React, { useLayoutEffect, useEffect, useCallback } from 'react';\nimport { getStyles } from './styles';\nimport {\n select as d3Select,\n scaleLinear as d3ScaleLinear,\n scaleBand as d3ScaleBand,\n brushX as d3BrushX,\n event as d3Event,\n axisLeft as d3AxisLeft,\n} from 'd3';\nimport { getTextLabelClass } from './utils';\n\nexport const BrushComponent = (props: any) => {\n const styles = getStyles();\n let initXDomain: any = null;\n let initBandWidth: any = null;\n let lastSelection: any = null;\n const minLimitSelection = 5;\n let idleTimeout: any = null;\n let idleDelay = 350;\n const idled = () => {\n idleTimeout = null;\n };\n const checkXBand = d3ScaleBand()\n .range([0, props.chartWidth - props.padding])\n .padding(props.barPadding);\n\n checkXBand.domain(props.data.xAxisLabels);\n\n const brushCalcHandler = () => {\n const svg = d3Select(props.svgRef.current);\n const { selection } = d3Event || {};\n\n if (!!selection) {\n const barCount = props.data.xAxisLabels.length;\n const xCheck = d3ScaleLinear().range([0, props.chartWidth]);\n\n xCheck.domain(selection.map(props.xLinear.invert, props.xLinear));\n\n let [xStart] = props.xLinear.domain();\n const [xPartStart, xPartEnd] = xCheck.domain();\n const selectedPart = xPartEnd - xPartStart;\n const percentage = Math.floor((selectedPart * 100) / (barCount - xStart));\n const isValidLimit = percentage >= minLimitSelection;\n\n svg\n .select('rect.selection')\n .classed('selection--valid', isValidLimit)\n .classed('selection--invalid', !isValidLimit);\n }\n };\n const brushHandler = () => {\n const svg = d3Select(props.svgRef.current);\n const { selection } = d3Event || {};\n\n if (!initXDomain || !initBandWidth) {\n initXDomain = props.x.domain();\n initBandWidth = props.xBand.bandwidth();\n }\n\n if (!!selection) {\n props.x.domain(selection.map(props.xLinear.invert, props.xLinear));\n\n const barCount = props.data.xAxisLabels.length;\n let [xStart] = props.xLinear.domain();\n const [xPartStart, xPartEnd] = props.x.domain();\n const selectedPart = xPartEnd - xPartStart;\n const percentage = Math.floor((selectedPart * 100) / (barCount - xStart));\n\n if (percentage < minLimitSelection) {\n svg.select('.brush').call(brush.move as any, lastSelection);\n return;\n }\n\n lastSelection = selection;\n const initWidth = props.chartWidth - props.padding;\n const newEndRange = (100 / percentage) * initWidth;\n\n props.xBand\n .range([0, newEndRange])\n .padding(props.barPadding)\n .domain(props.data.xAxisLabels);\n props.xBand.domain(props.data.xAxisLabels);\n } else {\n if (!idleTimeout) {\n idleTimeout = setTimeout(idled, idleDelay);\n svg.select('.brush').call(brush.move as any, lastSelection);\n return;\n }\n\n const resetRange: [number, number] = [0, props.chartWidth - props.padding];\n lastSelection = null;\n props.x.domain(initXDomain);\n props.xBand\n .range(resetRange)\n .padding(props.barPadding)\n .domain(props.data.xAxisLabels);\n }\n zoom();\n };\n const brush = d3BrushX()\n .extent([\n [0, 0],\n [props.chartWidth - props.padding, 10],\n ])\n .on('brush', brushCalcHandler)\n .on('end', brushHandler);\n const zoom = () => {\n const svg = d3Select(props.svgRef.current);\n\n if (!!svg) {\n const transition: any = d3Select(props.svgRef.current)\n ?.transition()\n .duration(750);\n\n svg\n .select('.axis-left')\n .transition(transition)\n .call(d3AxisLeft(props.y) as any);\n svg\n .select('.axis-right')\n .transition(transition)\n .call(\n d3AxisLeft(props.p)\n .ticks(4)\n .tickFormat(props.pLabels) as any\n );\n\n let i = 0;\n let showVitalVerticalLineIndex = 0;\n const bandWidth = props.xBand.bandwidth();\n const bandWidth50 = bandWidth / 2;\n const allBarEls = svg.selectAll(`rect.${styles.bar}`);\n\n allBarEls.each(function(this: any) {\n if (this.dataset) {\n const newCurrentX: number = props.x(i) - bandWidth50;\n const { isVital } = this.dataset;\n showVitalVerticalLineIndex = isVital === 'true' ? i : showVitalVerticalLineIndex;\n\n d3Select(this)\n .transition(transition)\n .attr('x', newCurrentX)\n .attr('width', bandWidth);\n\n if (props.showVitalFew && i === allBarEls.size() - 1) {\n const xPos = props.x(showVitalVerticalLineIndex) - bandWidth50 + bandWidth50;\n\n svg\n .select('.line--vertical')\n .transition(transition)\n .attr('x1', xPos)\n .attr('x2', xPos)\n .attr('y1', 0)\n .attr('y2', props.chartHeight);\n }\n }\n\n i++;\n });\n\n if (props.showBarValue) {\n const step = Math.trunc(props.chartWidth / 10 / bandWidth);\n\n svg.selectAll(`text.${styles.barValue}`).each(function(this: any) {\n const { index } = this.dataset;\n const newCurrentX: number = props.x(+index) - bandWidth50;\n const textLabelClass = getTextLabelClass(bandWidth, styles, +index, step);\n\n d3Select(this)\n .transition(transition)\n .attr('class', [styles.barValue, textLabelClass].join(' '))\n .attr('x', newCurrentX + bandWidth50);\n });\n }\n\n const yPos = props.p(props.vitalBreakpointVal / 100);\n\n svg\n .select('.line--horizontal')\n .transition(transition)\n .attr('x1', 0)\n .attr('x2', props.chartWidth - props.padding)\n .attr('y1', yPos)\n .attr('y2', yPos);\n\n svg\n .select('.line--curve')\n .datum(props.pathData)\n .transition(transition)\n .attr('transform', `translate(${props.padding}, 0)`)\n .attr('d', props.line as any);\n }\n };\n\n const resetChart = useCallback(() => {\n d3Select(props.svgRef.current)\n .select('.brush')\n .call(brush.move as any, null);\n\n brushHandler();\n }, [d3Select, brushHandler]);\n\n useLayoutEffect(() => {\n resetChart();\n }, []);\n\n useEffect(() => {\n resetChart();\n }, [props.data, resetChart]);\n\n return (\n {\n d3Select(node).call(brush as any);\n }}\n />\n );\n};\n","import React, { useRef, useEffect } from 'react';\nimport { getStyles } from './styles';\nimport { select as d3Select } from 'd3';\nimport { eventBus } from './eventBus';\nimport { CONSTANTS } from './constants';\nimport { camelCase } from './utils';\n\nconst contents = {\n initCopyText: 'Click on bar to copy data',\n copyText: '',\n dataCopied: 'Copied data!',\n};\n\nconst getCopyLabel = ({ isCopyLabelVisible }: any, text: string) =>\n `${text}`;\n\nexport const TooltipComponent = (props: any) => {\n const styles = getStyles();\n const tooltipRef = useRef(null);\n const tooltipContentRef = useRef(null);\n const barClickEventHandler = (e: any) => {\n barClickHandler(tooltipRef, props, e);\n };\n const barMoveEventHandler = (e: any) => {\n tooltipHandler(tooltipRef, tooltipContentRef, props, e);\n };\n\n useEffect(() => {\n eventBus.on(`${props.chartId}-${CONSTANTS.E_TOOLTIP_CLICK}`, barClickEventHandler);\n eventBus.on(`${props.chartId}-${CONSTANTS.E_TOOLTIP_MOVE}`, barMoveEventHandler);\n\n return () => {\n eventBus.remove(`${props.chartId}-${CONSTANTS.E_TOOLTIP_CLICK}`, barClickEventHandler);\n eventBus.remove(`${props.chartId}-${CONSTANTS.E_TOOLTIP_MOVE}`, barMoveEventHandler);\n };\n }, []);\n\n return (\n
\n
\n
\n );\n};\n\nexport const tooltipHandler = (\n tooltipRef: any,\n tooltipContentRef: any,\n props: any,\n event: React.MouseEvent\n) => {\n const { current: tooltipDiv } = tooltipRef || { current: null };\n const { current: tooltipContentDiv } = tooltipContentRef || { current: null };\n const { labelHeader, label: labelValue, label2, isVital, count, fillColor } = event.currentTarget?.dataset || {};\n const isVisible = ['mouseover', 'mousemove'].includes(event.type) ? true : false;\n\n if (event.type === 'mouseout') {\n contents.copyText = contents.initCopyText;\n }\n\n if (!!tooltipDiv) {\n d3Select(tooltipDiv).classed('tooltip--visible', isVisible);\n\n if (isVisible) {\n d3Select(tooltipDiv)\n .style('left', `${event.pageX}px`)\n .style('top', `${event.pageY - 28}px`);\n }\n\n d3Select(tooltipContentDiv).style(\n 'background',\n !!fillColor\n ? fillColor\n : isVital === 'true'\n ? !!props.vitalColor\n ? camelCase(props.vitalColor)\n : props.theme.palette.brandDanger\n : !!props.trivialColor\n ? camelCase(props.trivialColor)\n : props.theme.palette.brandWarning\n ).html(`\n \n \n ${count}\n `);\n }\n};\n\nexport const barClickHandler = (tooltipRef: any, props: any, event: React.MouseEvent) => {\n const content =\n `${event.currentTarget?.dataset.labelHeader}\n \\r\\nBar percentage: ${event.currentTarget?.dataset.label}\n \\r\\nCumulative percentage: ${event.currentTarget?.dataset.label2}\n \\r\\nCounts: ${event.currentTarget?.dataset.count}` || 'No Content';\n const textField = document.createElement('textarea');\n textField.innerText = content;\n const appendTo = !!tooltipRef.current ? tooltipRef.current : document.body;\n\n if (!!appendTo) {\n appendTo.appendChild(textField);\n }\n\n textField.select();\n document.execCommand('copy');\n d3Select(appendTo)\n .select('.tooltip-copy-label')\n .text(contents.dataCopied);\n textField.remove();\n};\n","import React from 'react';\nimport { select as d3Select, axisBottom as d3AxisBottom, axisLeft as d3AxisLeft } from 'd3';\nimport { css } from 'emotion';\n\ninterface PathsComponentInterface {\n theme: any;\n styles: any;\n padding: number;\n chartId: string;\n chartWidth: number;\n chartHeight: number;\n vitalBreakpointVal: number;\n vitalLineColor: string;\n curveLineColor: string;\n x: any;\n p: any;\n y: any;\n xBand: any;\n pathData: any;\n line: any;\n showVitalFew: boolean;\n cutOffXPathData: any;\n}\n\ninterface AxisComponentInterface {\n data: any;\n padding: number;\n styles: any;\n line: any;\n vitalBreakpointVal: number;\n isInclusive: boolean;\n bottomLineData: any;\n chartHeight: number;\n chartWidth: number;\n x: any;\n y: any;\n p: any;\n pLabels: any;\n xPBand: any;\n}\n\nexport const PathsComponent = ({\n theme,\n styles,\n padding,\n chartId,\n chartWidth,\n vitalBreakpointVal,\n vitalLineColor,\n curveLineColor,\n p,\n xBand,\n pathData,\n line,\n showVitalFew,\n}: PathsComponentInterface) => {\n return (\n \n {\n d3Select(node)\n .datum(pathData)\n .attr('d', line);\n }}\n />\n {showVitalFew && (\n {\n d3Select(node)\n .attr('x1', 0)\n .attr('x2', chartWidth - padding)\n .attr('y1', p(vitalBreakpointVal / 100))\n .attr('y2', p(vitalBreakpointVal / 100));\n }}\n />\n )}\n \n );\n};\n\nexport const AxisComponent = ({\n data,\n styles,\n padding,\n chartHeight,\n chartWidth,\n x,\n xPBand,\n y,\n p,\n pLabels,\n vitalBreakpointVal,\n isInclusive,\n}: AxisComponentInterface) => {\n const hasVitals = !!data.p.filter((d: number) => d < vitalBreakpointVal).length;\n const isVital = (_: any, i: number) => data.p[i] < vitalBreakpointVal || (!hasVitals && i === 0);\n const pList = data.p.filter(isVital).sort((a: number, b: number) => a - b);\n\n return (\n \n {\n const [breakpointXLabel] = data.xAxisLabels\n .filter(\n (_: string, index: number) =>\n !!pList[index] || (isInclusive && pList[index - 1] < vitalBreakpointVal && !pList[index + 1])\n )\n .reverse();\n const xPAxis = d3AxisBottom(xPBand).tickValues([breakpointXLabel, '100 %']);\n\n d3Select(node)\n .call(xPAxis as any)\n .selectAll('text')\n .attr('y', padding / 2)\n .attr('x', 0)\n .style('text-anchor', 'center');\n }}\n />\n {\n d3Select(node)\n .attr('x1', 0)\n .attr('x2', chartWidth - padding)\n .attr('y1', chartHeight)\n .attr('y2', chartHeight);\n }}\n />\n {\n d3Select(node).call(d3AxisLeft(y).ticks(chartHeight / 30) as any);\n }}\n />\n {\n d3Select(node).call(\n d3AxisLeft(p)\n .ticks(4)\n .tickFormat(pLabels) as any\n );\n }}\n />\n \n );\n};\n","import { FieldType } from '@grafana/data';\nexport interface GraphData {\n x: string[];\n y: number[];\n p: number[];\n [key: string]: any;\n}\n\ninterface Error {\n message: string;\n}\n\nexport class PanelDataController {\n dataType: string;\n results: GraphData | null;\n error: Error | null;\n\n constructor(data: any) {\n const [target] = data.request.targets;\n const { resultFormat } = target;\n const [serie] = data.series;\n const { fields, meta } = serie;\n this.error = null;\n\n if (!!meta && !!meta.executedQueryString && resultFormat !== 'time_series') {\n this.dataType = 'table';\n this.results = this.setTableData(fields);\n } else if (resultFormat === 'time_series') {\n this.dataType = 'series';\n this.results = this.setTimeSeriesData(data.series);\n } else {\n this.dataType = 'series';\n this.results = this.setSeriesData(fields);\n }\n }\n\n getResults() {\n return {\n results: this.results,\n error: this.error,\n };\n }\n\n private setTableData(fields: any) {\n const xData = fields.find(({ type }: { type: string }) => type === FieldType.string);\n const yData = fields.find(({ type }: { type: string }) => type === FieldType.number);\n const xValues: string[] = xData.values.toArray().map((d: any) => `${d}`);\n const yValues: number[] = yData.values.toArray();\n return this.setResults(xValues, yValues, this.sumYVals(yValues));\n }\n\n private setSeriesData(fields: any) {\n const [xData, yData] = fields;\n const xValues: string[] = xData.values.toArray().map((d: any) => d);\n const yValues: number[] = yData.values.toArray();\n return this.setResults(xValues, yValues, this.sumYVals(yValues));\n }\n\n private setTimeSeriesData(series: any) {\n const xValues: string[] = series.map(({ name }: { name: string }) => this.stripName(name));\n const yValues: number[] = series.map(({ fields }: { fields: any }) => {\n const [, val]: [any, any] = fields;\n const [response]: [number] = val.values.toArray();\n return response;\n });\n return this.setResults(xValues, yValues, this.sumYVals(yValues));\n }\n\n private sumYVals(vals: number[]) {\n return vals.reduce((a, d) => a + d, 0);\n }\n\n private stripName(name: string) {\n const string = name.match(/\\{.*:+(.*)\\}/);\n\n if (!string) {\n return name;\n }\n\n const [fullTagName, tagName] = string;\n\n if (!!tagName) {\n return tagName.trim();\n } else if (!!fullTagName) {\n return fullTagName.trim();\n }\n\n return name;\n }\n\n private setResults(xValues: string[], yValues: number[], yValuesSum: number) {\n if (!!yValues.filter((y: number) => y < 0).length) {\n this.results = null;\n this.error = {\n message: 'Column \"counts\" contains negative values',\n };\n return this.results;\n }\n\n this.results = yValues\n .map((d, i) => ({ i, x: xValues[i], y: d }))\n .sort((a, b) => b.y - a.y)\n .reduce(\n (result: GraphData, d, i) => {\n let xPercentage = (d.y * 100) / yValuesSum;\n xPercentage = xPercentage > 100 ? 100 : xPercentage;\n let percentage = (result?.p[i - 1] ? result.p[i - 1] : 0) + xPercentage;\n percentage = percentage > 100 ? 100 : percentage;\n const xAxisLabels =\n i === yValues.length - 1 ? `${Math.trunc(Math.ceil(percentage))} %` : `${percentage.toFixed(2)} %`;\n const tooltipLabel = `${xPercentage.toFixed(2)} %`;\n\n return {\n ...result,\n x: [...result.x, d.x],\n y: [...result.y, d.y],\n p: [...result.p, percentage],\n xP: [...result.xP, xPercentage],\n xAxisLabels: [...result.xAxisLabels, xAxisLabels],\n tooltipLabel: [...result.tooltipLabel, tooltipLabel],\n };\n },\n { x: [], y: [], p: [], xP: [], xAxisLabels: [], tooltipLabel: [] }\n );\n return this.results;\n }\n}\n","import { PanelPlugin } from '@grafana/data';\nimport { ParetoOptions } from './types';\nimport { ParetoPanel } from './ParetoPanel';\n\nexport const plugin = new PanelPlugin(ParetoPanel).setPanelOptions(builder => {\n return (\n builder\n .addBooleanSwitch({\n path: 'showVitalFew',\n name: 'Show vital few line',\n description: 'Indicates that many defects come from relatively few causes.',\n defaultValue: true,\n })\n .addNumberInput({\n path: 'vitalBreakpointVal',\n name: 'Vital few value (%)',\n description: 'Default is 80 based on the 80/20 rule. But, you are able to customize this.',\n defaultValue: 20,\n })\n .addBooleanSwitch({\n path: 'isInclusive',\n name: 'Inclusive vital few',\n description: 'Include bar with overlapping breakpoint value',\n defaultValue: false,\n })\n .addBooleanSwitch({\n path: 'showBarValue',\n name: 'Show bar values',\n description: 'Show the bar values on top of the bars?',\n defaultValue: false,\n })\n .addNumberInput({\n path: 'valToFixed',\n name: 'Number of decimals (max. 6)',\n description: 'Set number of decimals in bar values.',\n settings: {\n min: 0,\n max: 6,\n },\n defaultValue: 2,\n showIf: c => c.showBarValue,\n })\n /**\n * Will add the slider input once implementation is done :)\n */\n .addNumberInput({\n path: 'barPadding',\n name: 'Bar padding',\n description: 'Space between bars. Should be a value between 0 and 1.',\n defaultValue: 0.2,\n settings: {\n min: 0,\n max: 1,\n },\n })\n .addColorPicker({\n category: ['Colors'],\n path: 'curveLineColor',\n name: 'Percentage line',\n description: 'The curved line visualizing the optimal trade off',\n // defaultValue: theme.palette.brandDanger,\n })\n .addColorPicker({\n category: ['Colors'],\n path: 'vitalLineColor',\n name: 'Breakpoint lines',\n description: 'Horizontal and vertical lines indicating the vital few breakpoint',\n showIf: c => c.showVitalFew,\n })\n .addColorPicker({\n category: ['Colors'],\n path: 'vitalColor',\n name: 'Vital few bars',\n description: 'The bars within the determined vital few percentage',\n // defaultValue: theme.palette.brandDanger,\n })\n .addColorPicker({\n category: ['Colors'],\n path: 'trivialColor',\n name: 'Trivial many bars',\n description: 'The bars outside the vital few percentage',\n // defaultValue: theme.palette.brandSuccess,\n })\n .addColorPicker({\n category: ['Colors'],\n path: 'barHoverColor',\n name: 'Bar hover state',\n description: 'Bar fill color on hover',\n // defaultValue: theme.palette.brandSuccess,\n })\n );\n});\n","import React, { useRef } from 'react';\nimport { PanelProps } from '@grafana/data';\nimport { ParetoOptions } from 'types';\nimport { css, cx } from 'emotion';\nimport { useTheme } from '@grafana/ui';\nimport { select as d3Select } from 'd3';\nimport { BarGraph } from './BarGraph';\nimport { BrushComponent } from './BrushComponent';\nimport { TooltipComponent } from './TooltipComponent';\nimport { PathsComponent, AxisComponent } from './GraphComponents';\nimport { PanelDataController } from './controllers';\nimport { getStyles } from './styles';\n\ninterface Props extends PanelProps {}\n\nexport const ParetoPanel: React.FC = ({ options, data, width, height, id }) => {\n const svgRef = useRef(null);\n const theme = useTheme();\n const styles = getStyles();\n\n if (!data || !!!data.series.length) {\n return
No Data
;\n }\n\n const chartId = `chartMask_${id}`;\n const PanelData = new PanelDataController(data);\n const { results: graphData, error } = PanelData.getResults();\n\n if (!!error || !graphData) {\n return (\n
\n {error?.message || 'Invalid data'}\n
\n );\n }\n\n const barGraphSettings = { options, width, height };\n const barGraphData = BarGraph(graphData, barGraphSettings);\n const props = {\n data: graphData,\n theme,\n styles,\n chartId,\n ...options,\n ...barGraphData,\n svgRef,\n };\n const Component = barGraphData.Component;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {\n d3Select(node)\n .attr('width', props.chartWidth - props.padding)\n .attr('height', props.chartHeight + props.padding);\n }}\n />\n \n \n \n
\n );\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"d3\"","webpack:///external \"emotion\"","webpack:///external \"@grafana/data\"","webpack:///external \"@grafana/ui\"","webpack:///../node_modules/tslib/tslib.es6.js","webpack:///./helpers/constants.ts","webpack:///./helpers/utils.ts","webpack:///./helpers/eventBus.ts","webpack:///./components/BarGraph.tsx","webpack:///./styles.ts","webpack:///./components/BrushComponent.tsx","webpack:///./components/TooltipComponent.tsx","webpack:///./components/GraphComponents.tsx","webpack:///./components/controllers.ts","webpack:///./module.ts","webpack:///./ParetoPanel.tsx"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__2__","__WEBPACK_EXTERNAL_MODULE__3__","__WEBPACK_EXTERNAL_MODULE__4__","__assign","assign","arguments","length","apply","this","__read","iterator","e","ar","next","done","push","error","__spread","concat","__makeTemplateObject","cooked","raw","CONSTANTS","getTextLabelClass","bandWidth","styles","step","textLabel","__largeBar","__smallBar","__hidden","func","waitFor","timeout","Promise","resolve","clearTimeout","setTimeout","camelCase","input","indexOf","toLowerCase","replace","match","group1","eventBus","event","callback","document","addEventListener","data","dispatchEvent","CustomEvent","detail","removeEventListener","theme","padding","x","xBand","y","chartHeight","chartWidth","vitalBreakpointVal","barTextFontSize","barTextRotation","isInclusive","showVitalFew","showBarValue","showBarText","valToFixed","chartId","vitalColor","vitalLineColor","trivialColor","barHoverColor","barLabelColor","hasVitals","filter","bandwidth","debouncedClickHandler","E_TOOLTIP_CLICK","debouncedMoveHandler","E_TOOLTIP_MOVE","getFillColor","isVital","palette","brandDanger","brandWarning","showVitalVerticalLineIndex","maxValueOffset","Math","max","toString","clipPath","className","transform","map","val","currentX","trunc","label","toFixed","visibilityClassName","forcedHidden","__barLabel","textLabelClass","bar","join","fill","tooltipLabel","onMouseUp","currentTarget","onMouseOver","type","pageX","pageY","onMouseMove","onMouseOut","ref","node","attr","index","barValue","id","barTextGroup","style","propX","barText","fontSize","fontWeight","lineCutOff","getStyles","wrapper","svg","tooltipContainer","tooltip","colors","border2","text","textBox","line","lineBottomAxis","paths","brushWrapper","bg3","bgBlue2","brushOverlay","axis","chartMaskId","placeholder","__noData","redBase","props","initXDomain","initBandWidth","lastSelection","idleTimeout","idled","range","barPadding","domain","xAxisLabels","brushHandler","svgRef","current","selection","xLinear","invert","barCount","xStart","xPartStart","selectedPart","percentage","floor","select","brush","move","newEndRange","resetRange","zoom","extent","on","xCheck","isValidLimit","classed","transition","duration","ticks","tickFormat","pLabels","selectAll","each","dataset","newCurrentX","size","xPos","yPos","datum","pathData","resetChart","contents","initCopyText","copyText","dataCopied","getCopyLabel","isCopyLabelVisible","tooltipRef","tooltipContentRef","barClickEventHandler","barMoveEventHandler","labelHeader","label2","count","fillColor","isVisible","includes","tooltipDiv","tooltipContentDiv","html","labelValue","content","textField","createElement","innerText","appendTo","body","appendChild","execCommand","remove","curveLineColor","xPBand","pList","_","sort","a","b","breakpointXLabel","xPAxis","tickValues","target","resultFormat","refId","serie","fields","meta","executedQueryString","dataType","results","setTableData","setTimeSeriesData","series","setTimeSeriesFluxData","setSeriesData","getResults","xData","find","string","yData","number","xValues","values","toArray","yValues","setResults","sumYVals","dataFrame","stripName","time","Array","from","vals","reduce","fullTagName","tagName","trim","yValuesSum","message","result","xPercentage","ceil","xP","options","width","height","graphData","barGraphData","maxYOffsetVal","minYOffsetVal","paddingOuter","curve","cutOffXPathData","bottomLineData","barHeightOffset","yDomainMin","Component","BarGraph","xmlns","xmlnsXlink","viewBox","setPanelOptions","builder","addBooleanSwitch","path","description","defaultValue","addNumberInput","settings","min","showIf","addColorPicker","category"],"mappings":"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","file":"module.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4__;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export enum CONSTANTS {\n E_TOOLTIP_CLICK = 'E_TOOLTIP_CLICK',\n E_TOOLTIP_MOVE = 'E_TOOLTIP_MOVE',\n}\n","export const getTextLabelClass = (bandWidth: number, styles: any, i: number, step: number) => {\n return bandWidth >= 30\n ? `${styles.textLabel.__largeBar} --large`\n : bandWidth < 30 && i % step === 0\n ? `${styles.textLabel.__smallBar} --small`\n : `${styles.textLabel.__hidden} --hidden`;\n};\n\nexport const tickFilter = (highestVitalFewValue: number, maxCount: number) => (pVal: any, i: number) =>\n pVal === highestVitalFewValue || maxCount === i;\n\nexport const debounce = any>(func: F, waitFor: number) => {\n let timeout: any;\n\n return (...args: Parameters): Promise> =>\n new Promise(resolve => {\n if (timeout) {\n clearTimeout(timeout);\n }\n\n timeout = setTimeout(() => resolve(func(...args)), waitFor);\n });\n};\n\nexport const throttle = any>(func: F, waitFor: number) => {\n const now = () => new Date().getTime();\n const resetStartTime = () => (startTime = now());\n let timeout: any;\n let startTime: number = now() - waitFor;\n\n return (...args: Parameters): Promise> =>\n new Promise(resolve => {\n const timeLeft = startTime + waitFor - now();\n if (timeout) {\n clearTimeout(timeout);\n }\n if (startTime + waitFor <= now()) {\n resetStartTime();\n resolve(func(...args));\n } else {\n timeout = setTimeout(() => {\n resetStartTime();\n resolve(func(...args));\n }, timeLeft);\n }\n });\n};\n\nexport const camelCase = (input: string): string => {\n if (input.indexOf('rgb') === 0) {\n return input;\n }\n\n return input.toLowerCase().replace(/-(.)/g, (match, group1) => group1.toUpperCase());\n};\n","export const eventBus = {\n on(event: any, callback: any) {\n document.addEventListener(event, e => callback(e.detail));\n },\n dispatch(event: any, data: any) {\n document.dispatchEvent(new CustomEvent(event, { detail: data }));\n },\n remove(event: any, callback: any) {\n document.removeEventListener(event, callback);\n },\n};\n","import React from 'react';\nimport {\n select as d3Select,\n max as d3Max,\n min as d3Min,\n scaleLinear as d3ScaleLinear,\n scaleBand as d3ScaleBand,\n line as d3Line,\n curveBasis as d3LineCurve,\n} from 'd3';\nimport { css } from 'emotion';\nimport { GraphData } from '../helpers/schema';\nimport { getTextLabelClass, debounce, camelCase } from '../helpers/utils';\nimport { eventBus } from '../helpers/eventBus';\nimport { CONSTANTS } from '../helpers/constants';\nimport { BarGraphSettings } from 'helpers/schema';\n\nexport function BarGraph(data: GraphData, { options, width, height }: BarGraphSettings) {\n const { vitalBreakpointVal } = options;\n const maxYOffsetVal: number = d3Max(data.y) || 0;\n const minYOffsetVal: number = d3Min(data.y) || 0;\n const padding = 20;\n const chartHeight = height - 3 * padding;\n const chartWidth = width - 2 * padding;\n const barPadding = options.barPadding < 1 ? options.barPadding : options.barPadding / 10;\n const xBand = d3ScaleBand()\n .range([0, chartWidth - padding])\n .padding(barPadding);\n const xPBand = d3ScaleBand()\n .range([0, chartWidth - padding])\n .padding(barPadding)\n .paddingOuter(0.6);\n const xLinear = d3ScaleLinear().range([0, chartWidth - padding]);\n const x = d3ScaleLinear().range([0, chartWidth - padding]);\n const y = d3ScaleLinear().range([chartHeight, 0]);\n const p = d3ScaleLinear().range([chartHeight, 0]);\n const line = d3Line()\n .curve(d3LineCurve)\n .x((_, i) => x(i) || 0)\n .y((d: any) => (!!d ? p(d.p / 100) : d));\n const pLabels = (n: any, index: number): string => {\n if (index === 0 || !n || !!!n) {\n return ``;\n }\n return `${n * 100} %`;\n };\n const pathData = data.p.map((d, i) => ({ x: data.xAxisLabels[i] || '', p: d || 0 })) || null;\n const cutOffXPathData = data.p.map((d, i) => ({ x: data.xAxisLabels[i] || '', p: vitalBreakpointVal })) || null;\n const bottomLineData = data.p.map((d, i) => ({ x: i, p: 0 }));\n const barHeightOffset = data.p[0] / data.p.length;\n const yDomainMin = minYOffsetVal - barHeightOffset > 0 ? minYOffsetVal - barHeightOffset : 0;\n\n xBand.domain(data.xAxisLabels);\n xPBand.domain(data.xAxisLabels);\n xLinear.domain([-1, data.x.length]);\n x.domain([-1, data.x.length]);\n p.domain([0, 1]);\n y.domain([yDomainMin, maxYOffsetVal + barHeightOffset]);\n\n return {\n padding,\n x,\n xBand,\n xPBand,\n xLinear,\n y,\n p,\n chartHeight,\n chartWidth,\n line,\n pathData,\n cutOffXPathData,\n bottomLineData,\n pLabels,\n Component,\n };\n}\n\nconst Component: React.FC = ({\n data,\n styles,\n theme,\n padding,\n x,\n xBand,\n y,\n chartHeight,\n chartWidth,\n vitalBreakpointVal,\n barTextFontSize,\n barTextRotation,\n isInclusive,\n showVitalFew,\n showBarValue,\n showBarText,\n valToFixed,\n chartId,\n vitalColor,\n vitalLineColor,\n trivialColor,\n barHoverColor,\n barLabelColor,\n}) => {\n const hasVitals = !!data.p.filter((d: number, i: number) => d < vitalBreakpointVal).length;\n const bandwidth = xBand.bandwidth() * 0.9;\n const barClickHandler = (event: any) => eventBus.dispatch(`${chartId}-${CONSTANTS.E_TOOLTIP_CLICK}`, event);\n const barMoveHandler = (event: any) => eventBus.dispatch(`${chartId}-${CONSTANTS.E_TOOLTIP_MOVE}`, event);\n const debouncedClickHandler = debounce(barClickHandler, 200);\n const debouncedMoveHandler = debounce(barMoveHandler, 200);\n const getFillColor = (isVital: boolean) =>\n isVital\n ? !!vitalColor\n ? camelCase(vitalColor)\n : theme.palette.brandDanger\n : !!trivialColor\n ? camelCase(trivialColor)\n : theme.palette.brandWarning;\n let showVitalVerticalLineIndex = 0;\n const maxValueOffset = Math.max(...data.y).toString().length * barTextFontSize + 20;\n\n return (\n \n {data.y.map((val: number, i: number) => {\n const currentX: number = x(i) - bandwidth / 2;\n const step = Math.trunc(chartWidth / 10 / bandwidth);\n const defaultFixedVal = 2;\n const maxFixedVal = 6;\n const label =\n typeof val === 'number' && valToFixed >= 0\n ? val.toFixed(valToFixed > maxFixedVal ? defaultFixedVal : valToFixed)\n : val;\n const isForcedHidden = !showBarValue;\n const visibilityClassName = isForcedHidden ? styles.forcedHidden.__barLabel : '';\n const BarLabel = ({ index, className }: any) => (\n \n {label}\n \n );\n const BarText = ({ index, className, x: propX }: any) => (\n {\n d3Select(node).style(\n 'transform',\n `translate(${propX + bandwidth / 2 + barTextFontSize / 2}px, ${chartHeight -\n 10}px) rotate(${barTextRotation}deg)`\n );\n }}\n >\n \n {val}\n \n \n {data.x[i]} - {data.tooltipLabel[i]}\n \n \n );\n let isVital;\n\n if (!hasVitals && i === 0) {\n isVital = true;\n } else if (data.p[i] < vitalBreakpointVal && !isInclusive) {\n isVital = true;\n } else if (isInclusive && (data.p[i - 1] < vitalBreakpointVal || i === 0)) {\n isVital = true;\n } else {\n isVital = false;\n }\n\n showVitalVerticalLineIndex =\n !hasVitals && i === 0\n ? 0\n : data.p[i] < vitalBreakpointVal && !isInclusive\n ? i\n : isInclusive && data.p[i - 1] < vitalBreakpointVal\n ? i\n : showVitalVerticalLineIndex;\n const textLabelClass = getTextLabelClass(bandwidth, styles, i, step);\n\n return (\n <>\n debouncedClickHandler({ currentTarget })}\n onMouseOver={({ currentTarget, type, pageX, pageY }) =>\n debouncedMoveHandler({ currentTarget, type, pageX, pageY })\n }\n onMouseMove={({ currentTarget, type, pageX, pageY }) =>\n debouncedMoveHandler({ currentTarget, type, pageX, pageY })\n }\n onMouseOut={({ currentTarget, type, pageX, pageY }) =>\n debouncedMoveHandler({ currentTarget, type, pageX, pageY })\n }\n ref={node => {\n d3Select(node)\n .attr('x', currentX)\n .attr('y', y(val))\n .attr('width', bandwidth)\n .attr('height', chartHeight - y(val));\n }}\n />\n \n {showBarText ? : <>}\n <>\n {showVitalFew && i === data.y.length - 1 && (\n {\n d3Select(node)\n .attr('x1', x(showVitalVerticalLineIndex) - bandwidth / 2 + bandwidth / 2)\n .attr('x2', x(showVitalVerticalLineIndex) - bandwidth / 2 + bandwidth / 2)\n .attr('y1', 0)\n .attr('y2', chartHeight);\n }}\n />\n )}\n \n \n );\n })}\n
\n );\n};\n","import { css } from 'emotion';\nimport { stylesFactory, useTheme } from '@grafana/ui';\n\nexport const getStyles = stylesFactory(() => {\n const theme = useTheme();\n\n return {\n wrapper: css`\n position: relative;\n `,\n svg: css`\n position: absolute;\n top: 0;\n left: 0;\n `,\n tooltipContainer: css`\n position: fixed;\n z-index: 100;\n min-width: 20vw;\n display: flex;\n transition: all 0.2s ease;\n\n &:not(.tooltip--visible) {\n z-index: -10;\n opacity: 0;\n }\n\n .tooltip--visible {\n z-index: 1;\n opacity: 1;\n }\n `,\n tooltip: css`\n position: absolute;\n bottom: 0;\n left: 0;\n border: 1px solid ${theme.colors.border2};\n padding: 4px 10px;\n max-width: 100%;\n color: white;\n\n strong {\n position: absolute;\n top: -1px;\n left: 100%;\n padding: 4px;\n bottom: -1px;\n min-width: 50px;\n text-align: center;\n background: inherit;\n border: 1px solid ${theme.colors.border2};\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.4rem;\n }\n\n label {\n display: block;\n background: inherit;\n padding: 0 0 4px 0;\n\n &.label-header {\n font-weight: bold;\n font-size: 1.2rem;\n max-width: 100%;\n }\n }\n\n .tooltip-copy-label {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n background: ${theme.colors.border2};\n color: ${theme.colors.text};\n font-size: 10px;\n height: 20px;\n box-sizing: border-box;\n padding: 2px 4px;\n\n &.hidden {\n opacity: 0;\n z-index: -1;\n }\n }\n `,\n textBox: css`\n position: absolute;\n bottom: 0;\n left: 0;\n padding: 10px;\n `,\n bar: css`\n cursor: pointer;\n\n &:hover {\n fill: ${theme.colors.text};\n }\n `,\n barValue: css`\n fill: ${theme.colors.text};\n text-anchor: middle;\n opacity: 1;\n transition: opacity 0.2s ease-out;\n user-select: none;\n `,\n barTextGroup: css``,\n barText: css`\n fill: ${theme.colors.text};\n opacity: 1;\n transition: opacity 0.2s ease-out;\n user-select: none;\n font-size: 12px;\n `,\n line: css`\n fill: none;\n stroke-width: 2px;\n shape-rendering: geometricPrecision;\n `,\n lineCutOff: css`\n fill: none;\n stroke-width: 2px;\n stroke-dasharray: 5px;\n `,\n lineBottomAxis: css`\n // fill: none;\n stroke: ${theme.colors.text};\n shape-rendering: crispEdges;\n `,\n paths: css`\n position: relative;\n `,\n brushWrapper: css`\n fill: ${theme.colors.bg3};\n stroke: ${theme.colors.border2};\n stroke-width: 0.75px;\n\n .selection {\n fill: ${theme.colors.bgBlue2} !important;\n fill-opacity: 0.75;\n stroke: none;\n\n &--invalid {\n fill: ${theme.palette.brandDanger} !important;\n }\n }\n\n .handle {\n fill: ${theme.palette.brandWarning} !important;\n fill-opacity: 0.75;\n }\n `,\n brushOverlay: css`\n cursor: crosshair;\n `,\n textLabel: {\n __largeBar: css``,\n __smallBar: css``,\n __hidden: css`\n fill: none;\n opacity: 0;\n `,\n },\n axis: css`\n text {\n user-select: none;\n }\n `,\n chartMaskId: css`\n fill: none;\n user-select: none;\n `,\n placeholder: {\n __noData: css`\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 2rem;\n font-weight: bold;\n color: ${theme.palette.redBase};\n height: 100%;\n user-select: none;\n `,\n },\n forcedHidden: {\n __barLabel: css`\n opacity: 0 !important;\n transform: translate(0, -100px);\n `,\n },\n };\n});\n","import React, { useLayoutEffect, useEffect, useCallback } from 'react';\nimport { getStyles } from '../styles';\nimport {\n select as d3Select,\n scaleLinear as d3ScaleLinear,\n scaleBand as d3ScaleBand,\n brushX as d3BrushX,\n event as d3Event,\n axisLeft as d3AxisLeft,\n} from 'd3';\nimport { getTextLabelClass } from '../helpers/utils';\n\nexport const BrushComponent = (props: any) => {\n const styles = getStyles();\n let initXDomain: any = null;\n let initBandWidth: any = null;\n let lastSelection: any = null;\n const minLimitSelection = 5;\n let idleTimeout: any = null;\n let idleDelay = 350;\n const idled = () => {\n idleTimeout = null;\n };\n const checkXBand = d3ScaleBand()\n .range([0, props.chartWidth - props.padding])\n .padding(props.barPadding);\n\n checkXBand.domain(props.data.xAxisLabels);\n\n const brushCalcHandler = () => {\n const svg = d3Select(props.svgRef.current);\n const { selection } = d3Event || {};\n\n if (!!selection) {\n const barCount = props.data.xAxisLabels.length;\n const xCheck = d3ScaleLinear().range([0, props.chartWidth]);\n\n xCheck.domain(selection.map(props.xLinear.invert, props.xLinear));\n\n let [xStart] = props.xLinear.domain();\n const [xPartStart, xPartEnd] = xCheck.domain();\n const selectedPart = xPartEnd - xPartStart;\n const percentage = Math.floor((selectedPart * 100) / (barCount - xStart));\n const isValidLimit = percentage >= minLimitSelection;\n\n svg\n .select('rect.selection')\n .classed('selection--valid', isValidLimit)\n .classed('selection--invalid', !isValidLimit);\n }\n };\n const brushHandler = () => {\n const svg = d3Select(props.svgRef.current);\n const { selection } = d3Event || {};\n\n if (!svg || !selection) {\n return;\n }\n\n if (!initXDomain || !initBandWidth || !selection) {\n initXDomain = props.x.domain();\n initBandWidth = props.xBand.bandwidth();\n }\n\n /**\n * @TBD\n * all commented lines considered and updated accordingly\n * changing the left y bar only will not be accurate because the bar heights\n * are not changing\n */\n\n if (selection?.length) {\n // const [brushStartPosX] = selection;\n // const axisWidth = props.chartWidth - props.padding;\n // const positionX1Percentage = (brushStartPosX * 100) / axisWidth;\n\n props.x.domain(selection.map(props.xLinear.invert, props.xLinear));\n\n const barCount = props.data.xAxisLabels.length;\n let [xStart] = props.xLinear.domain();\n const [xPartStart, xPartEnd] = props.x.domain();\n const selectedPart = xPartEnd - xPartStart;\n const percentage = Math.floor((selectedPart * 100) / (barCount - xStart));\n\n if (percentage < minLimitSelection) {\n svg.select('.brush').call(brush.move as any, lastSelection);\n return;\n }\n\n lastSelection = selection;\n // const startIndex = Math.floor((positionX1Percentage * barCount) / 100);\n // const highestValueVisible = props.data.y[startIndex || 0];\n\n const initWidth = props.chartWidth - props.padding;\n const newEndRange = (100 / percentage) * initWidth;\n\n // props.y.domain([0, highestValueVisible]);\n props.xBand\n .range([0, newEndRange])\n .padding(props.barPadding)\n .domain(props.data.xAxisLabels);\n } else {\n if (!idleTimeout) {\n idleTimeout = setTimeout(idled, idleDelay);\n svg.select('.brush').call(brush.move as any, lastSelection);\n return;\n }\n\n const resetRange: [number, number] = [0, props.chartWidth - props.padding];\n lastSelection = null;\n props.x.domain(initXDomain);\n props.xBand\n .range(resetRange)\n .padding(props.barPadding)\n .domain(props.data.xAxisLabels);\n }\n zoom();\n };\n\n const brush = d3BrushX()\n .extent([\n [0, 0],\n [props.chartWidth - props.padding, 10],\n ])\n .on('brush', brushCalcHandler)\n .on('end', brushHandler);\n const zoom = () => {\n const svg = d3Select(props.svgRef.current);\n\n if (!!svg) {\n const transition: any = d3Select(props.svgRef.current)\n ?.transition()\n .duration(750);\n\n svg\n .select('.axis-left')\n .transition(transition)\n .call(d3AxisLeft(props.y) as any);\n svg\n .select('.axis-right')\n .transition(transition)\n .call(\n d3AxisLeft(props.p)\n .ticks(4)\n .tickFormat(props.pLabels) as any\n );\n\n let i = 0;\n let showVitalVerticalLineIndex = 0;\n const bandWidth = props.xBand.bandwidth();\n const bandWidth50 = bandWidth / 2;\n const allBarEls = svg.selectAll(`rect.${styles.bar}`);\n\n allBarEls.each(function(this: any) {\n if (this.dataset) {\n const newCurrentX: number = props.x(i) - bandWidth50;\n const { isVital } = this.dataset;\n showVitalVerticalLineIndex = isVital === 'true' ? i : showVitalVerticalLineIndex;\n\n d3Select(this)\n .transition(transition)\n .attr('x', newCurrentX)\n .attr('width', bandWidth);\n\n if (props.showBarText) {\n d3Select(`#barTextGroup-${i}`)\n .transition(transition)\n .style(\n 'transform',\n `translate(${newCurrentX + bandWidth50}px, ${props.chartHeight - 10}px) rotate(${\n props.barTextRotation\n }deg)`\n );\n }\n\n if (props.showVitalFew && i === allBarEls.size() - 1) {\n const xPos = props.x(showVitalVerticalLineIndex) - bandWidth50 + bandWidth50;\n\n svg\n .select('.line--vertical')\n .transition(transition)\n .attr('x1', xPos)\n .attr('x2', xPos)\n .attr('y1', 0)\n .attr('y2', props.chartHeight);\n }\n }\n\n i++;\n });\n\n if (props.showBarValue) {\n const step = Math.trunc(props.chartWidth / 10 / bandWidth);\n\n svg.selectAll(`text.${styles.barValue}`).each(function(this: any) {\n const { index } = this.dataset;\n const newCurrentX: number = props.x(+index) - bandWidth50;\n const textLabelClass = getTextLabelClass(bandWidth, styles, +index, step);\n\n d3Select(this)\n .transition(transition)\n .attr('class', [styles.barValue, textLabelClass].join(' '))\n .attr('x', newCurrentX + bandWidth50);\n });\n }\n\n const yPos = props.p(props.vitalBreakpointVal / 100);\n\n svg\n .select('.line--horizontal')\n .transition(transition)\n .attr('x1', 0)\n .attr('x2', props.chartWidth - props.padding)\n .attr('y1', yPos)\n .attr('y2', yPos);\n\n svg\n .select('.line--curve')\n .datum(props.pathData)\n .transition(transition)\n .attr('transform', `translate(${props.padding}, 0)`)\n .attr('d', props.line as any);\n }\n };\n\n const resetChart = useCallback(() => {\n d3Select(props.svgRef.current)\n .select('.brush')\n .call(brush.move as any, null);\n\n brushHandler();\n }, [d3Select, brushHandler]);\n\n useLayoutEffect(() => {\n resetChart();\n }, []);\n\n useEffect(() => {\n resetChart();\n }, [props.data, resetChart]);\n\n return (\n {\n d3Select(node).call(brush as any);\n }}\n />\n );\n};\n","import React, { useRef, useEffect } from 'react';\nimport { select as d3Select } from 'd3';\nimport { eventBus } from '../helpers/eventBus';\nimport { CONSTANTS } from '../helpers/constants';\nimport { camelCase } from '../helpers/utils';\nimport { getStyles } from '../styles';\n\nconst contents = {\n initCopyText: 'Click on bar to copy data',\n copyText: '',\n dataCopied: 'Copied data!',\n};\n\nconst getCopyLabel = ({ isCopyLabelVisible }: any, text: string) =>\n `${text}`;\n\nexport const TooltipComponent = (props: any) => {\n const styles = getStyles();\n const tooltipRef = useRef(null);\n const tooltipContentRef = useRef(null);\n const barClickEventHandler = (e: any) => {\n barClickHandler(tooltipRef, props, e);\n };\n const barMoveEventHandler = (e: any) => {\n tooltipHandler(tooltipRef, tooltipContentRef, props, e);\n };\n\n useEffect(() => {\n eventBus.on(`${props.chartId}-${CONSTANTS.E_TOOLTIP_CLICK}`, barClickEventHandler);\n eventBus.on(`${props.chartId}-${CONSTANTS.E_TOOLTIP_MOVE}`, barMoveEventHandler);\n\n return () => {\n eventBus.remove(`${props.chartId}-${CONSTANTS.E_TOOLTIP_CLICK}`, barClickEventHandler);\n eventBus.remove(`${props.chartId}-${CONSTANTS.E_TOOLTIP_MOVE}`, barMoveEventHandler);\n };\n }, []);\n\n return (\n
\n
\n
\n );\n};\n\nexport const tooltipHandler = (\n tooltipRef: any,\n tooltipContentRef: any,\n props: any,\n event: React.MouseEvent\n) => {\n const { current: tooltipDiv } = tooltipRef || { current: null };\n const { current: tooltipContentDiv } = tooltipContentRef || { current: null };\n const { labelHeader, label: labelValue, label2, isVital, count, fillColor } = event.currentTarget?.dataset || {};\n const isVisible = ['mouseover', 'mousemove'].includes(event.type) ? true : false;\n\n if (event.type === 'mouseout') {\n contents.copyText = contents.initCopyText;\n }\n\n if (!!tooltipDiv) {\n d3Select(tooltipDiv).classed('tooltip--visible', isVisible);\n\n if (isVisible) {\n d3Select(tooltipDiv)\n .style('left', `${event.pageX}px`)\n .style('top', `${event.pageY - 28}px`);\n }\n\n d3Select(tooltipContentDiv).style(\n 'background',\n !!fillColor\n ? fillColor\n : isVital === 'true'\n ? !!props.vitalColor\n ? camelCase(props.vitalColor)\n : props.theme.palette.brandDanger\n : !!props.trivialColor\n ? camelCase(props.trivialColor)\n : props.theme.palette.brandWarning\n ).html(`\n \n \n ${count}\n `);\n }\n};\n\nexport const barClickHandler = (tooltipRef: any, props: any, event: React.MouseEvent) => {\n const content =\n `${event.currentTarget?.dataset.labelHeader}\n \\r\\nBar percentage: ${event.currentTarget?.dataset.label}\n \\r\\nCumulative percentage: ${event.currentTarget?.dataset.label2}\n \\r\\nCounts: ${event.currentTarget?.dataset.count}` || 'No Content';\n const textField = document.createElement('textarea');\n textField.innerText = content;\n const appendTo = !!tooltipRef.current ? tooltipRef.current : document.body;\n\n if (!!appendTo) {\n appendTo.appendChild(textField);\n }\n\n textField.select();\n document.execCommand('copy');\n d3Select(appendTo)\n .select('.tooltip-copy-label')\n .text(contents.dataCopied);\n textField.remove();\n};\n","import React from 'react';\nimport { select as d3Select, axisBottom as d3AxisBottom, axisLeft as d3AxisLeft } from 'd3';\nimport { css } from 'emotion';\nimport { AxisComponentInterface, PathsComponentInterface } from 'helpers/schema';\n\nexport const PathsComponent = ({\n theme,\n styles,\n padding,\n chartId,\n chartWidth,\n vitalBreakpointVal,\n vitalLineColor,\n curveLineColor,\n p,\n xBand,\n pathData,\n line,\n showVitalFew,\n}: PathsComponentInterface) => {\n return (\n \n {\n d3Select(node)\n .datum(pathData)\n .attr('d', line);\n }}\n />\n {showVitalFew && (\n {\n d3Select(node)\n .attr('x1', 0)\n .attr('x2', chartWidth - padding)\n .attr('y1', p(vitalBreakpointVal / 100))\n .attr('y2', p(vitalBreakpointVal / 100));\n }}\n />\n )}\n \n );\n};\n\nexport const AxisComponent = ({\n data,\n styles,\n padding,\n chartHeight,\n chartWidth,\n x,\n xPBand,\n y,\n p,\n pLabels,\n vitalBreakpointVal,\n isInclusive,\n}: AxisComponentInterface) => {\n const hasVitals = !!data.p.filter((d: number) => d < vitalBreakpointVal).length;\n const isVital = (_: any, i: number) => data.p[i] < vitalBreakpointVal || (!hasVitals && i === 0);\n const pList = data.p.filter(isVital).sort((a: number, b: number) => a - b);\n\n return (\n \n {\n const [breakpointXLabel] = data.xAxisLabels\n .filter(\n (_: string, index: number) =>\n !!pList[index] || (isInclusive && pList[index - 1] < vitalBreakpointVal && !pList[index + 1])\n )\n .reverse();\n const xPAxis = d3AxisBottom(xPBand).tickValues([breakpointXLabel, '100 %']);\n\n d3Select(node)\n .call(xPAxis as any)\n .selectAll('text')\n .attr('y', padding / 2)\n .attr('x', 0)\n .style('text-anchor', 'center');\n }}\n />\n {\n d3Select(node)\n .attr('x1', 0)\n .attr('x2', chartWidth - padding)\n .attr('y1', chartHeight)\n .attr('y2', chartHeight);\n }}\n />\n {\n d3Select(node).call(d3AxisLeft(y).ticks(chartHeight / 30) as any);\n }}\n />\n {\n d3Select(node).call(\n d3AxisLeft(p)\n .ticks(4)\n .tickFormat(pLabels) as any\n );\n }}\n />\n \n );\n};\n","import { FieldType } from '@grafana/data';\nimport { DataFrame, Error, GraphData } from 'helpers/schema';\nexport class PanelDataController {\n dataType: string;\n results: GraphData | null;\n error: Error | null;\n\n constructor(data: any) {\n const [target] = data.request.targets;\n const { resultFormat, refId } = target;\n const [serie] = data.series;\n const { fields, meta } = serie;\n this.error = null;\n\n if (meta?.executedQueryString && resultFormat !== 'time_series') {\n this.dataType = 'table';\n this.results = this.setTableData(fields);\n } else if (resultFormat === 'time_series') {\n this.dataType = 'series';\n this.results =\n !serie?.name || refId.toLowerCase() === 'flux'\n ? (this.results = this.setTimeSeriesFluxData(fields))\n : this.setTimeSeriesData(data.series);\n } else {\n this.dataType = 'series';\n this.results = this.setSeriesData(fields);\n }\n }\n\n getResults() {\n return {\n results: this.results,\n error: this.error,\n };\n }\n\n private setTableData(fields: any) {\n const xData = fields.find(({ type }: { type: string }) => type === FieldType.string);\n const yData = fields.find(({ type }: { type: string }) => type === FieldType.number);\n const xValues: string[] = xData.values.toArray().map((d: any) => `${d}`);\n const yValues: number[] = yData.values.toArray();\n return this.setResults(xValues, yValues, this.sumYVals(yValues));\n }\n\n private setSeriesData(fields: any) {\n const [xData, yData] = fields;\n const xValues: string[] = xData.values.toArray().map((d: any) => d);\n const yValues: number[] = yData.values.toArray();\n return this.setResults(xValues, yValues, this.sumYVals(yValues));\n }\n\n private setTimeSeriesData(series: any) {\n const xValues: string[] = series.map((dataFrame: DataFrame, index: number) => this.stripName(dataFrame, index));\n const yValues: number[] = series.map(({ fields }: { fields: any }) => {\n const [, val]: [any, any] = fields;\n const [response]: [number] = val.values.toArray();\n return response;\n });\n return this.setResults(xValues, yValues, this.sumYVals(yValues));\n }\n\n private setTimeSeriesFluxData(fields: any) {\n const yData = fields.find(({ type }: { type: string }) => type === FieldType.number);\n const yValues: number[] = yData?.values?.toArray() || [];\n\n let xData = fields.find(({ type }: { type: string }) => type === FieldType.string);\n\n if (!xData) {\n xData = fields.find(({ type }: { type: string }) => type === FieldType.time);\n }\n\n const xValues: string[] =\n xData?.values?.toArray().map((d: any) => `${d}`) ||\n Array.from({ length: yValues?.length || 0 }).map((i, index) => `T${index + 1}`);\n\n return this.setResults(xValues, yValues, this.sumYVals(yValues));\n }\n\n private sumYVals(vals: number[]) {\n return vals?.reduce((a, d) => a + d, 0);\n }\n\n private stripName(dataFrame: DataFrame, index: number) {\n const { name } = dataFrame || {};\n const string = name?.match(/\\{.*:+(.*)\\}/) || null;\n\n if (!string) {\n return index + 1;\n }\n\n const [fullTagName, tagName] = string;\n\n if (!!tagName) {\n return tagName.trim();\n } else if (!!fullTagName) {\n return fullTagName.trim();\n }\n\n return name;\n }\n\n private setResults(xValues: string[], yValues: number[], yValuesSum: number) {\n if (!!yValues.filter((y: number) => y < 0).length) {\n this.results = null;\n this.error = {\n message: 'Column \"counts\" contains negative values',\n };\n return this.results;\n } else if (!yValues?.length) {\n this.results = null;\n this.error = {\n message: 'Please check your query. There is no data available!',\n };\n return this.results;\n }\n\n this.results = yValues\n .map((d, i) => ({ i, x: xValues[i], y: d }))\n .sort((a, b) => b.y - a.y)\n .reduce(\n (result: GraphData, d, i) => {\n let xPercentage = (d.y * 100) / yValuesSum;\n xPercentage = xPercentage > 100 ? 100 : xPercentage;\n let percentage = (result?.p[i - 1] ? result.p[i - 1] : 0) + xPercentage;\n percentage = percentage > 100 ? 100 : percentage;\n const xAxisLabels =\n i === yValues.length - 1 ? `${Math.trunc(Math.ceil(percentage))} %` : `${percentage.toFixed(2)} %`;\n const tooltipLabel = `${xPercentage.toFixed(2)} %`;\n\n return {\n ...result,\n x: [...result.x, d.x],\n y: [...result.y, d.y],\n p: [...result.p, percentage],\n xP: [...result.xP, xPercentage],\n xAxisLabels: [...result.xAxisLabels, xAxisLabels],\n tooltipLabel: [...result.tooltipLabel, tooltipLabel],\n };\n },\n { x: [], y: [], p: [], xP: [], xAxisLabels: [], tooltipLabel: [] }\n );\n return this.results;\n }\n}\n","import { PanelPlugin } from '@grafana/data';\nimport { ParetoOptions } from './helpers/types';\nimport { ParetoPanel } from './ParetoPanel';\n\nexport const plugin = new PanelPlugin(ParetoPanel).setPanelOptions(builder => {\n return (\n builder\n .addBooleanSwitch({\n path: 'showVitalFew',\n name: 'Show vital few line',\n description: 'Indicates that many defects come from relatively few causes.',\n defaultValue: true,\n })\n .addNumberInput({\n path: 'vitalBreakpointVal',\n name: 'Vital few value (%)',\n description: 'Default is 80 based on the 80/20 rule. But, you are able to customize this.',\n defaultValue: 20,\n })\n .addBooleanSwitch({\n path: 'isInclusive',\n name: 'Inclusive vital few',\n description: 'Include bar with overlapping breakpoint value',\n defaultValue: false,\n })\n .addBooleanSwitch({\n path: 'showBarValue',\n name: 'Show bar values',\n description: 'Show the bar values on top of the bars?',\n defaultValue: false,\n })\n .addBooleanSwitch({\n path: 'showBarText',\n name: 'Show bar labels',\n description: 'Show the bar label?',\n defaultValue: false,\n })\n .addNumberInput({\n path: 'barTextFontSize',\n name: 'Bar label font size',\n description: 'Font size for the bar label.',\n defaultValue: 12,\n })\n .addNumberInput({\n path: 'barTextRotation',\n name: 'Bar label rotation',\n description: 'Rotation degree of the label',\n defaultValue: 270,\n })\n .addNumberInput({\n path: 'valToFixed',\n name: 'Number of decimals (max. 6)',\n description: 'Set number of decimals in bar values.',\n settings: {\n min: 0,\n max: 6,\n },\n defaultValue: 2,\n showIf: c => c.showBarValue,\n })\n /**\n * Will add the slider input once implementation is done :)\n */\n .addNumberInput({\n path: 'barPadding',\n name: 'Bar padding',\n description: 'Space between bars. Should be a value between 1 and 9.',\n defaultValue: 2,\n settings: {\n min: 1,\n max: 9,\n },\n })\n .addColorPicker({\n category: ['Colors'],\n path: 'curveLineColor',\n name: 'Percentage line',\n description: 'The curved line visualizing the optimal trade off',\n // defaultValue: theme.palette.brandDanger,\n })\n .addColorPicker({\n category: ['Colors'],\n path: 'vitalLineColor',\n name: 'Breakpoint lines',\n description: 'Horizontal and vertical lines indicating the vital few breakpoint',\n showIf: c => c.showVitalFew,\n })\n .addColorPicker({\n category: ['Colors'],\n path: 'vitalColor',\n name: 'Vital few bars',\n description: 'The bars within the determined vital few percentage',\n // defaultValue: theme.palette.brandDanger,\n })\n .addColorPicker({\n category: ['Colors'],\n path: 'barLabelColor',\n name: 'Bar label color',\n description: 'Color or the bar label',\n // defaultValue: theme.palette.brandDanger,\n })\n .addColorPicker({\n category: ['Colors'],\n path: 'trivialColor',\n name: 'Trivial many bars',\n description: 'The bars outside the vital few percentage',\n // defaultValue: theme.palette.brandSuccess,\n })\n .addColorPicker({\n category: ['Colors'],\n path: 'barHoverColor',\n name: 'Bar hover state',\n description: 'Bar fill color on hover',\n // defaultValue: theme.palette.brandSuccess,\n })\n );\n});\n","import React, { useRef } from 'react';\nimport { css, cx } from 'emotion';\nimport { useTheme } from '@grafana/ui';\nimport { select as d3Select } from 'd3';\nimport { BarGraph } from './components/BarGraph';\nimport { BrushComponent } from './components/BrushComponent';\nimport { TooltipComponent } from './components/TooltipComponent';\nimport { PathsComponent, AxisComponent } from './components/GraphComponents';\nimport { PanelDataController } from './components/controllers';\nimport { getStyles } from './styles';\nimport { Props } from 'helpers/schema';\n\nexport const ParetoPanel: React.FC = ({ options, data, width, height, id }) => {\n const svgRef = useRef(null);\n const theme = useTheme();\n const styles = getStyles();\n\n if (!data || !!!data.series.length) {\n return
No Data
;\n }\n\n const chartId = `chartMask_${id}`;\n const PanelData = new PanelDataController(data);\n const { results: graphData, error } = PanelData.getResults();\n\n if (!!error || !graphData) {\n return (\n
\n {error?.message || 'Invalid data'}\n
\n );\n }\n\n const barGraphSettings = { options, width, height };\n const barGraphData = BarGraph(graphData, barGraphSettings);\n const props = {\n data: graphData,\n theme,\n styles,\n chartId,\n ...options,\n ...barGraphData,\n svgRef,\n };\n const Component = barGraphData.Component;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {\n d3Select(node)\n .attr('width', props.chartWidth - props.padding)\n .attr('height', props.chartHeight + props.padding);\n }}\n />\n \n \n \n
\n );\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/Standalone/grafana/plugins/isaozler-paretochart-panel/plugin.json b/Standalone/grafana/plugins/isaozler-paretochart-panel/plugin.json index 1d7c2f0..e44907b 100644 --- a/Standalone/grafana/plugins/isaozler-paretochart-panel/plugin.json +++ b/Standalone/grafana/plugins/isaozler-paretochart-panel/plugin.json @@ -19,8 +19,8 @@ { "name": "Pareto Chart Dashboard Impression", "path": "img/production-env--impression.jpg" }, { "name": "Pareto Chart Edit Dashboard", "path": "img/pareto-chart-edit-panel.jpg" } ], - "version": "0.3.1", - "updated": "2020-10-22" + "version": "0.3.2", + "updated": "2021-10-18" }, "dependencies": { "grafanaDependency": ">=7.0.0", diff --git a/Standalone/grafana/plugins/marcusolsson-gantt-panel/CHANGELOG.md b/Standalone/grafana/plugins/marcusolsson-gantt-panel/CHANGELOG.md index ad1725b..0a18773 100644 --- a/Standalone/grafana/plugins/marcusolsson-gantt-panel/CHANGELOG.md +++ b/Standalone/grafana/plugins/marcusolsson-gantt-panel/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.7.5 (2022-01-07) + +[Full changelog](https://github.com/marcusolsson/grafana-gantt-panel/compare/v0.7.4...v0.7.5) + +### Bug fixes + +- `experiments` is undefined ([#69](https://github.com/marcusolsson/grafana-gantt-panel/issues/69)) (thanks [@prOOrc](https://github.com/pr00rc)!) + ## 0.7.4 (2021-09-05) [Full changelog](https://github.com/marcusolsson/grafana-gantt-panel/compare/v0.7.3...v0.7.4) diff --git a/Standalone/grafana/plugins/marcusolsson-gantt-panel/LICENSE b/Standalone/grafana/plugins/marcusolsson-gantt-panel/LICENSE index f151462..45592b9 100644 --- a/Standalone/grafana/plugins/marcusolsson-gantt-panel/LICENSE +++ b/Standalone/grafana/plugins/marcusolsson-gantt-panel/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2021 Marcus Olsson + Copyright 2022 Marcus Olsson Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/Standalone/grafana/plugins/marcusolsson-gantt-panel/MANIFEST.txt b/Standalone/grafana/plugins/marcusolsson-gantt-panel/MANIFEST.txt index b1cbfc9..601c07e 100644 --- a/Standalone/grafana/plugins/marcusolsson-gantt-panel/MANIFEST.txt +++ b/Standalone/grafana/plugins/marcusolsson-gantt-panel/MANIFEST.txt @@ -8,28 +8,28 @@ Hash: SHA512 "signedByOrg": "marcusolsson", "signedByOrgName": "Marcus Olsson", "plugin": "marcusolsson-gantt-panel", - "version": "0.7.4", - "time": 1630847863678, + "version": "0.7.5", + "time": 1641552991497, "keyId": "7e4d0c6a708866e7", "files": { - "module.js.map": "29a2dba2fd25e2d7c6f107d922e7fac4790d3d944fc3d92950a05c80e9007f3c", - "CHANGELOG.md": "74e540ac1f9b90f5f1be76beaa1a4fd29f213c69bf4e7336ed3a11174d36db75", - "module.js": "61cdac78545abe5c085fae3f87c308693b7862da80cd5722e23b7cac1d85abd0", + "CHANGELOG.md": "bbc5ce985c5fd5d23af9a35675543e8fc43b408796b6ecca409e16c368f4333c", + "module.js.map": "330647eae34cd9e6b993fecaf4cc8316757f8bf84e839e289c7b21e02ce07f14", + "module.js": "4fa4e704d6e2621785cd4ded595f3f50f20399cb2524134c550480ff10da7d89", "img/light.png": "fcb10b8798a4f3b60b064d9e6eaf64e1221d1f161de985e73ce78d3802b24a36", "img/dark.png": "a99b6f7e1cdc1cf8a5b1d5558bed4ee9b2998063b2c0d8932bf76b20241fead4", "img/logo.svg": "360d6e805c3d99714c01ee23efbdbb84bd9c279471acec4d5bed0901a8488e22", - "LICENSE": "73852a67e3154ce23adc3d8e8047e6859039c9b1fcb8b428612e30bd908230af", - "README.md": "0e03eee69e33703ac62e4ea70ad587231ea3dc05dea461f2123bb679af446f41", - "plugin.json": "05f1e3b37666799b20b1edbd4a181139a39d221363827015e93321ed8774363f" + "LICENSE": "5ab170e6de9123e3d011f1cd05e8dc2586954c1e889aac499bf5d98dc83e2839", + "plugin.json": "447f276abdbd40e83609a4ec15e290321b61dda1033b3a3dfda8b773fce1a21e", + "README.md": "0e03eee69e33703ac62e4ea70ad587231ea3dc05dea461f2123bb679af446f41" } } -----BEGIN PGP SIGNATURE----- Version: OpenPGP.js v4.10.1 Comment: https://openpgpjs.org -wqEEARMKAAYFAmE0w3cACgkQfk0ManCIZueePQIJAUA8ugkPoWlQg2mOrUtQ -QDBDW2PTjcVrliWRkbi/rEcEs3bBLmtfkm8xn/lmxV2ucGDHBzHNxqcV+lwz -7NMWVnZPAgQK34/Se4AzYkYnhKM7NiDki1yJ6OyGY3APeyutq499s+ZkIz7O -DhLA5lT97HhR92RP9k72aeJQsDszaiv4xU+Cdg== -=dJ+/ +wqAEARMKAAYFAmHYHF8ACgkQfk0ManCIZue3hAIIr8ZSCXvCRkETaM6z8rCw +K2RGcAiE3DGGKSEc4h40OTlPa+fNi6OwIgoLzEJdvYsGSiSJKpGfHvcuceUC +nk8FxxsCBjjfXa5RSzsk9LbVgEE1oozrnEjMzbrU6LUn6LMpb3jvHivfeHhf +K6tPQ0kiehTwPvD5xoIG2xMGTd+tQMnf+Ydq +=TDaD -----END PGP SIGNATURE----- diff --git a/Standalone/grafana/plugins/marcusolsson-gantt-panel/module.js b/Standalone/grafana/plugins/marcusolsson-gantt-panel/module.js index b0213d5..cceb063 100644 --- a/Standalone/grafana/plugins/marcusolsson-gantt-panel/module.js +++ b/Standalone/grafana/plugins/marcusolsson-gantt-panel/module.js @@ -1,2 +1,2 @@ -define(["react","@grafana/data","@grafana/ui","emotion","d3","@grafana/runtime","react-dom"],(function(e,t,n,r,i,o,a){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=13)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t){e.exports=r},function(e,t,n){e.exports=function(){"use strict";var e=6e4,t=36e5,n="millisecond",r="second",i="minute",o="hour",a="day",u="week",s="month",c="quarter",l="year",f="date",d="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},v=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},g={s:v,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?"+":"-")+v(r,2,"0")+":"+v(i,2,"0")},m:function e(t,n){if(t.date())?=?)",c("XRANGEIDENTIFIERLOOSE"),a[u.XRANGEIDENTIFIERLOOSE]=a[u.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",c("XRANGEIDENTIFIER"),a[u.XRANGEIDENTIFIER]=a[u.NUMERICIDENTIFIER]+"|x|X|\\*",c("XRANGEPLAIN"),a[u.XRANGEPLAIN]="[v=\\s]*("+a[u.XRANGEIDENTIFIER]+")(?:\\.("+a[u.XRANGEIDENTIFIER]+")(?:\\.("+a[u.XRANGEIDENTIFIER]+")(?:"+a[u.PRERELEASE]+")?"+a[u.BUILD]+"?)?)?",c("XRANGEPLAINLOOSE"),a[u.XRANGEPLAINLOOSE]="[v=\\s]*("+a[u.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+a[u.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+a[u.XRANGEIDENTIFIERLOOSE]+")(?:"+a[u.PRERELEASELOOSE]+")?"+a[u.BUILD]+"?)?)?",c("XRANGE"),a[u.XRANGE]="^"+a[u.GTLT]+"\\s*"+a[u.XRANGEPLAIN]+"$",c("XRANGELOOSE"),a[u.XRANGELOOSE]="^"+a[u.GTLT]+"\\s*"+a[u.XRANGEPLAINLOOSE]+"$",c("COERCE"),a[u.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",c("COERCERTL"),o[u.COERCERTL]=new RegExp(a[u.COERCE],"g"),c("LONETILDE"),a[u.LONETILDE]="(?:~>?)",c("TILDETRIM"),a[u.TILDETRIM]="(\\s*)"+a[u.LONETILDE]+"\\s+",o[u.TILDETRIM]=new RegExp(a[u.TILDETRIM],"g");c("TILDE"),a[u.TILDE]="^"+a[u.LONETILDE]+a[u.XRANGEPLAIN]+"$",c("TILDELOOSE"),a[u.TILDELOOSE]="^"+a[u.LONETILDE]+a[u.XRANGEPLAINLOOSE]+"$",c("LONECARET"),a[u.LONECARET]="(?:\\^)",c("CARETTRIM"),a[u.CARETTRIM]="(\\s*)"+a[u.LONECARET]+"\\s+",o[u.CARETTRIM]=new RegExp(a[u.CARETTRIM],"g");c("CARET"),a[u.CARET]="^"+a[u.LONECARET]+a[u.XRANGEPLAIN]+"$",c("CARETLOOSE"),a[u.CARETLOOSE]="^"+a[u.LONECARET]+a[u.XRANGEPLAINLOOSE]+"$",c("COMPARATORLOOSE"),a[u.COMPARATORLOOSE]="^"+a[u.GTLT]+"\\s*("+a[u.LOOSEPLAIN]+")$|^$",c("COMPARATOR"),a[u.COMPARATOR]="^"+a[u.GTLT]+"\\s*("+a[u.FULLPLAIN]+")$|^$",c("COMPARATORTRIM"),a[u.COMPARATORTRIM]="(\\s*)"+a[u.GTLT]+"\\s*("+a[u.LOOSEPLAIN]+"|"+a[u.XRANGEPLAIN]+")",o[u.COMPARATORTRIM]=new RegExp(a[u.COMPARATORTRIM],"g");c("HYPHENRANGE"),a[u.HYPHENRANGE]="^\\s*("+a[u.XRANGEPLAIN]+")\\s+-\\s+("+a[u.XRANGEPLAIN]+")\\s*$",c("HYPHENRANGELOOSE"),a[u.HYPHENRANGELOOSE]="^\\s*("+a[u.XRANGEPLAINLOOSE]+")\\s+-\\s+("+a[u.XRANGEPLAINLOOSE]+")\\s*$",c("STAR"),a[u.STAR]="(<|>)?=?\\s*\\*";for(var l=0;l256)return null;if(!(t.loose?o[u.LOOSE]:o[u.FULL]).test(e))return null;try{return new d(e,t)}catch(e){return null}}function d(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof d){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof d))return new d(e,t);r("SemVer",e,t),this.options=t,this.loose=!!t.loose;var n=e.trim().match(t.loose?o[u.LOOSE]:o[u.FULL]);if(!n)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);-1===n&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,n,r){"string"==typeof n&&(r=n,n=void 0);try{return new d(e,n).inc(t,r).version}catch(e){return null}},t.diff=function(e,t){if(y(e,t))return null;var n=f(e),r=f(t),i="";if(n.prerelease.length||r.prerelease.length){i="pre";var o="prerelease"}for(var a in n)if(("major"===a||"minor"===a||"patch"===a)&&n[a]!==r[a])return i+a;return o},t.compareIdentifiers=m;var p=/^[0-9]+$/;function m(e,t){var n=p.test(e),r=p.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:e0}function g(e,t,n){return h(e,t,n)<0}function y(e,t,n){return 0===h(e,t,n)}function E(e,t,n){return 0!==h(e,t,n)}function b(e,t,n){return h(e,t,n)>=0}function w(e,t,n){return h(e,t,n)<=0}function O(e,t,n,r){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return y(e,n,r);case"!=":return E(e,n,r);case">":return v(e,n,r);case">=":return b(e,n,r);case"<":return g(e,n,r);case"<=":return w(e,n,r);default:throw new TypeError("Invalid operator: "+t)}}function x(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof x){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof x))return new x(e,t);r("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===T?this.value="":this.value=this.operator+this.semver.version,r("comp",this)}t.rcompareIdentifiers=function(e,t){return m(t,e)},t.major=function(e,t){return new d(e,t).major},t.minor=function(e,t){return new d(e,t).minor},t.patch=function(e,t){return new d(e,t).patch},t.compare=h,t.compareLoose=function(e,t){return h(e,t,!0)},t.compareBuild=function(e,t,n){var r=new d(e,n),i=new d(t,n);return r.compare(i)||r.compareBuild(i)},t.rcompare=function(e,t,n){return h(t,e,n)},t.sort=function(e,n){return e.sort((function(e,r){return t.compareBuild(e,r,n)}))},t.rsort=function(e,n){return e.sort((function(e,r){return t.compareBuild(r,e,n)}))},t.gt=v,t.lt=g,t.eq=y,t.neq=E,t.gte=b,t.lte=w,t.cmp=O,t.Comparator=x;var T={};function I(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof I)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new I(e.raw,t);if(e instanceof x)return new I(e.value,t);if(!(this instanceof I))return new I(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((function(e){return this.parseRange(e.trim())}),this).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function R(e,t){for(var n=!0,r=e.slice(),i=r.pop();n&&r.length;)n=r.every((function(e){return i.intersects(e,t)})),i=r.pop();return n}function k(e){return!e||"x"===e.toLowerCase()||"*"===e}function L(e,t,n,r,i,o,a,u,s,c,l,f,d){return((t=k(n)?"":k(r)?">="+n+".0.0":k(i)?">="+n+"."+r+".0":">="+t)+" "+(u=k(s)?"":k(c)?"<"+(+s+1)+".0.0":k(l)?"<"+s+"."+(+c+1)+".0":f?"<="+s+"."+c+"."+l+"-"+f:"<="+u)).trim()}function A(e,t,n){for(var i=0;i0){var o=e[i].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function S(e,t,n){try{t=new I(t,n)}catch(e){return!1}return t.test(e)}function N(e,t,n,r){var i,o,a,u,s;switch(e=new d(e,r),t=new I(t,r),n){case">":i=v,o=w,a=g,u=">",s=">=";break;case"<":i=g,o=b,a=v,u="<",s="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(S(e,t,r))return!1;for(var c=0;c=0.0.0")),f=f||e,p=p||e,i(e.semver,f.semver,r)?f=e:a(e.semver,p.semver,r)&&(p=e)})),f.operator===u||f.operator===s)return!1;if((!p.operator||p.operator===u)&&o(e,p.semver))return!1;if(p.operator===s&&a(e,p.semver))return!1}return!0}x.prototype.parse=function(e){var t=this.options.loose?o[u.COMPARATORLOOSE]:o[u.COMPARATOR],n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new d(n[2],this.options.loose):this.semver=T},x.prototype.toString=function(){return this.value},x.prototype.test=function(e){if(r("Comparator.test",e,this.options.loose),this.semver===T||e===T)return!0;if("string"==typeof e)try{e=new d(e,this.options)}catch(e){return!1}return O(e,this.operator,this.semver,this.options)},x.prototype.intersects=function(e,t){if(!(e instanceof x))throw new TypeError("a Comparator is required");var n;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||(n=new I(e.value,t),S(this.value,n,t));if(""===e.operator)return""===e.value||(n=new I(this.value,t),S(e.semver,n,t));var r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),i=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,a=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),u=O(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),s=O(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||i||o&&a||u||s},t.Range=I,I.prototype.format=function(){return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range},I.prototype.toString=function(){return this.range},I.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var n=t?o[u.HYPHENRANGELOOSE]:o[u.HYPHENRANGE];e=e.replace(n,L),r("hyphen replace",e),e=e.replace(o[u.COMPARATORTRIM],"$1$2$3"),r("comparator trim",e,o[u.COMPARATORTRIM]),e=(e=(e=e.replace(o[u.TILDETRIM],"$1~")).replace(o[u.CARETTRIM],"$1^")).split(/\s+/).join(" ");var i=t?o[u.COMPARATORLOOSE]:o[u.COMPARATOR],a=e.split(" ").map((function(e){return function(e,t){return r("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){r("caret",e,t);var n=t.loose?o[u.CARETLOOSE]:o[u.CARET];return e.replace(n,(function(t,n,i,o,a){var u;return r("caret",e,t,n,i,o,a),k(n)?u="":k(i)?u=">="+n+".0.0 <"+(+n+1)+".0.0":k(o)?u="0"===n?">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0":">="+n+"."+i+".0 <"+(+n+1)+".0.0":a?(r("replaceCaret pr",a),u="0"===n?"0"===i?">="+n+"."+i+"."+o+"-"+a+" <"+n+"."+i+"."+(+o+1):">="+n+"."+i+"."+o+"-"+a+" <"+n+"."+(+i+1)+".0":">="+n+"."+i+"."+o+"-"+a+" <"+(+n+1)+".0.0"):(r("no pr"),u="0"===n?"0"===i?">="+n+"."+i+"."+o+" <"+n+"."+i+"."+(+o+1):">="+n+"."+i+"."+o+" <"+n+"."+(+i+1)+".0":">="+n+"."+i+"."+o+" <"+(+n+1)+".0.0"),r("caret return",u),u}))}(e,t)})).join(" ")}(e,t),r("caret",e),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){var n=t.loose?o[u.TILDELOOSE]:o[u.TILDE];return e.replace(n,(function(t,n,i,o,a){var u;return r("tilde",e,t,n,i,o,a),k(n)?u="":k(i)?u=">="+n+".0.0 <"+(+n+1)+".0.0":k(o)?u=">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0":a?(r("replaceTilde pr",a),u=">="+n+"."+i+"."+o+"-"+a+" <"+n+"."+(+i+1)+".0"):u=">="+n+"."+i+"."+o+" <"+n+"."+(+i+1)+".0",r("tilde return",u),u}))}(e,t)})).join(" ")}(e,t),r("tildes",e),e=function(e,t){return r("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return function(e,t){e=e.trim();var n=t.loose?o[u.XRANGELOOSE]:o[u.XRANGE];return e.replace(n,(function(n,i,o,a,u,s){r("xRange",e,n,i,o,a,u,s);var c=k(o),l=c||k(a),f=l||k(u),d=f;return"="===i&&d&&(i=""),s=t.includePrerelease?"-0":"",c?n=">"===i||"<"===i?"<0.0.0-0":"*":i&&d?(l&&(a=0),u=0,">"===i?(i=">=",l?(o=+o+1,a=0,u=0):(a=+a+1,u=0)):"<="===i&&(i="<",l?o=+o+1:a=+a+1),n=i+o+"."+a+"."+u+s):l?n=">="+o+".0.0"+s+" <"+(+o+1)+".0.0"+s:f&&(n=">="+o+"."+a+".0"+s+" <"+o+"."+(+a+1)+".0"+s),r("xRange return",n),n}))}(e,t)})).join(" ")}(e,t),r("xrange",e),e=function(e,t){return r("replaceStars",e,t),e.trim().replace(o[u.STAR],"")}(e,t),r("stars",e),e}(e,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(a=a.filter((function(e){return!!e.match(i)}))),a=a.map((function(e){return new x(e,this.options)}),this)},I.prototype.intersects=function(e,t){if(!(e instanceof I))throw new TypeError("a Range is required");return this.set.some((function(n){return R(n,t)&&e.set.some((function(e){return R(e,t)&&n.every((function(n){return e.every((function(e){return n.intersects(e,t)}))}))}))}))},t.toComparators=function(e,t){return new I(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))},I.prototype.test=function(e){if(!e)return!1;if("string"==typeof e)try{e=new d(e,this.options)}catch(e){return!1}for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":n&&!v(n,t)||(n=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}))}if(n&&e.test(n))return n;return null},t.validRange=function(e,t){try{return new I(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,n){return N(e,t,"<",n)},t.gtr=function(e,t,n){return N(e,t,">",n)},t.outside=N,t.prerelease=function(e,t){var n=f(e,t);return n&&n.prerelease.length?n.prerelease:null},t.intersects=function(e,t,n){return e=new I(e,n),t=new I(t,n),e.intersects(t)},t.coerce=function(e,t){if(e instanceof d)return e;"number"==typeof e&&(e=String(e));if("string"!=typeof e)return null;var n=null;if((t=t||{}).rtl){for(var r;(r=o[u.COERCERTL].exec(e))&&(!n||n.index+n[0].length!==e.length);)n&&r.index+r[0].length===n.index+n[0].length||(n=r),o[u.COERCERTL].lastIndex=r.index+r[1].length+r[2].length;o[u.COERCERTL].lastIndex=-1}else n=e.match(o[u.COERCE]);if(null===n)return null;return f(n[2]+"."+(n[3]||"0")+"."+(n[4]||"0"),t)}}).call(this,n(12))},function(e,t){e.exports=i},function(e,t){e.exports=o},function(e,t,n){var r;!function(){var i={y:function(e){return 1===e?"χρόνος":"χρόνια"},mo:function(e){return 1===e?"μήνας":"μήνες"},w:function(e){return 1===e?"εβδομάδα":"εβδομάδες"},d:function(e){return 1===e?"μέρα":"μέρες"},h:function(e){return 1===e?"ώρα":"ώρες"},m:function(e){return 1===e?"λεπτό":"λεπτά"},s:function(e){return 1===e?"δευτερόλεπτο":"δευτερόλεπτα"},ms:function(e){return 1===e?"χιλιοστό του δευτερολέπτου":"χιλιοστά του δευτερολέπτου"},decimal:","},o=["۰","١","٢","٣","٤","٥","٦","٧","٨","٩"],a={af:{y:"jaar",mo:function(e){return"maand"+(1===e?"":"e")},w:function(e){return 1===e?"week":"weke"},d:function(e){return 1===e?"dag":"dae"},h:function(e){return 1===e?"uur":"ure"},m:function(e){return 1===e?"minuut":"minute"},s:function(e){return"sekonde"+(1===e?"":"s")},ms:function(e){return"millisekonde"+(1===e?"":"s")},decimal:","},ar:{y:function(e){return["سنة","سنتان","سنوات"][f(e)]},mo:function(e){return["شهر","شهران","أشهر"][f(e)]},w:function(e){return["أسبوع","أسبوعين","أسابيع"][f(e)]},d:function(e){return["يوم","يومين","أيام"][f(e)]},h:function(e){return["ساعة","ساعتين","ساعات"][f(e)]},m:function(e){return["دقيقة","دقيقتان","دقائق"][f(e)]},s:function(e){return["ثانية","ثانيتان","ثواني"][f(e)]},ms:function(e){return["جزء من الثانية","جزآن من الثانية","أجزاء من الثانية"][f(e)]},decimal:",",delimiter:" و ",_formatCount:function(e,t){for(var n=l(o,{".":t}),r=e.toString().split(""),i=0;i=2?"s":"")},mo:"mois",w:function(e){return"semaine"+(e>=2?"s":"")},d:function(e){return"jour"+(e>=2?"s":"")},h:function(e){return"heure"+(e>=2?"s":"")},m:function(e){return"minute"+(e>=2?"s":"")},s:function(e){return"seconde"+(e>=2?"s":"")},ms:function(e){return"milliseconde"+(e>=2?"s":"")},decimal:","},gr:i,he:{y:function(e){return 1===e?"שנה":"שנים"},mo:function(e){return 1===e?"חודש":"חודשים"},w:function(e){return 1===e?"שבוע":"שבועות"},d:function(e){return 1===e?"יום":"ימים"},h:function(e){return 1===e?"שעה":"שעות"},m:function(e){return 1===e?"דקה":"דקות"},s:function(e){return 1===e?"שניה":"שניות"},ms:function(e){return 1===e?"מילישנייה":"מילישניות"},decimal:"."},hr:{y:function(e){return e%10==2||e%10==3||e%10==4?"godine":"godina"},mo:function(e){return 1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci"},w:function(e){return e%10==1&&11!==e?"tjedan":"tjedna"},d:function(e){return 1===e?"dan":"dana"},h:function(e){return 1===e?"sat":2===e||3===e||4===e?"sata":"sati"},m:function(e){var t=e%10;return 2!==t&&3!==t&&4!==t||!(e<10||e>14)?"minuta":"minute"},s:function(e){var t=e%10;return 5===t||Math.floor(e)===e&&e>=10&&e<=19?"sekundi":1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi"},ms:function(e){return 1===e?"milisekunda":e%10==2||e%10==3||e%10==4?"milisekunde":"milisekundi"},decimal:","},hi:{y:"साल",mo:function(e){return 1===e?"महीना":"महीने"},w:function(e){return 1===e?"हफ़्ता":"हफ्ते"},d:"दिन",h:function(e){return 1===e?"घंटा":"घंटे"},m:"मिनट",s:"सेकंड",ms:"मिलीसेकंड",decimal:"."},hu:{y:"év",mo:"hónap",w:"hét",d:"nap",h:"óra",m:"perc",s:"másodperc",ms:"ezredmásodperc",decimal:","},id:{y:"tahun",mo:"bulan",w:"minggu",d:"hari",h:"jam",m:"menit",s:"detik",ms:"milidetik",decimal:"."},is:{y:"ár",mo:function(e){return"mánuð"+(1===e?"ur":"ir")},w:function(e){return"vik"+(1===e?"a":"ur")},d:function(e){return"dag"+(1===e?"ur":"ar")},h:function(e){return"klukkutím"+(1===e?"i":"ar")},m:function(e){return"mínút"+(1===e?"a":"ur")},s:function(e){return"sekúnd"+(1===e?"a":"ur")},ms:function(e){return"millisekúnd"+(1===e?"a":"ur")},decimal:"."},it:{y:function(e){return"ann"+(1===e?"o":"i")},mo:function(e){return"mes"+(1===e?"e":"i")},w:function(e){return"settiman"+(1===e?"a":"e")},d:function(e){return"giorn"+(1===e?"o":"i")},h:function(e){return"or"+(1===e?"a":"e")},m:function(e){return"minut"+(1===e?"o":"i")},s:function(e){return"second"+(1===e?"o":"i")},ms:function(e){return"millisecond"+(1===e?"o":"i")},decimal:","},ja:{y:"年",mo:"月",w:"週",d:"日",h:"時間",m:"分",s:"秒",ms:"ミリ秒",decimal:"."},km:{y:"ឆ្នាំ",mo:"ខែ",w:"សប្តាហ៍",d:"ថ្ងៃ",h:"ម៉ោង",m:"នាទី",s:"វិនាទី",ms:"មិល្លីវិនាទី"},kn:{y:function(e){return 1===e?"ವರ್ಷ":"ವರ್ಷಗಳು"},mo:function(e){return 1===e?"ತಿಂಗಳು":"ತಿಂಗಳುಗಳು"},w:function(e){return 1===e?"ವಾರ":"ವಾರಗಳು"},d:function(e){return 1===e?"ದಿನ":"ದಿನಗಳು"},h:function(e){return 1===e?"ಗಂಟೆ":"ಗಂಟೆಗಳು"},m:function(e){return 1===e?"ನಿಮಿಷ":"ನಿಮಿಷಗಳು"},s:function(e){return 1===e?"ಸೆಕೆಂಡ್":"ಸೆಕೆಂಡುಗಳು"},ms:function(e){return 1===e?"ಮಿಲಿಸೆಕೆಂಡ್":"ಮಿಲಿಸೆಕೆಂಡುಗಳು"}},ko:{y:"년",mo:"개월",w:"주일",d:"일",h:"시간",m:"분",s:"초",ms:"밀리 초",decimal:"."},ku:{y:"sal",mo:"meh",w:"hefte",d:"roj",h:"seet",m:"deqe",s:"saniye",ms:"mîlîçirk",decimal:","},lo:{y:"ປີ",mo:"ເດືອນ",w:"ອາທິດ",d:"ມື້",h:"ຊົ່ວໂມງ",m:"ນາທີ",s:"ວິນາທີ",ms:"ມິນລິວິນາທີ",decimal:","},lt:{y:function(e){return e%10==0||e%100>=10&&e%100<=20?"metų":"metai"},mo:function(e){return["mėnuo","mėnesiai","mėnesių"][h(e)]},w:function(e){return["savaitė","savaitės","savaičių"][h(e)]},d:function(e){return["diena","dienos","dienų"][h(e)]},h:function(e){return["valanda","valandos","valandų"][h(e)]},m:function(e){return["minutė","minutės","minučių"][h(e)]},s:function(e){return["sekundė","sekundės","sekundžių"][h(e)]},ms:function(e){return["milisekundė","milisekundės","milisekundžių"][h(e)]},decimal:","},lv:{y:function(e){return v(e)?"gads":"gadi"},mo:function(e){return v(e)?"mēnesis":"mēneši"},w:function(e){return v(e)?"nedēļa":"nedēļas"},d:function(e){return v(e)?"diena":"dienas"},h:function(e){return v(e)?"stunda":"stundas"},m:function(e){return v(e)?"minūte":"minūtes"},s:function(e){return v(e)?"sekunde":"sekundes"},ms:function(e){return v(e)?"milisekunde":"milisekundes"},decimal:","},mk:{y:function(e){return 1===e?"година":"години"},mo:function(e){return 1===e?"месец":"месеци"},w:function(e){return 1===e?"недела":"недели"},d:function(e){return 1===e?"ден":"дена"},h:function(e){return 1===e?"час":"часа"},m:function(e){return 1===e?"минута":"минути"},s:function(e){return 1===e?"секунда":"секунди"},ms:function(e){return 1===e?"милисекунда":"милисекунди"},decimal:","},mr:{y:function(e){return 1===e?"वर्ष":"वर्षे"},mo:function(e){return 1===e?"महिना":"महिने"},w:function(e){return 1===e?"आठवडा":"आठवडे"},d:"दिवस",h:"तास",m:function(e){return 1===e?"मिनिट":"मिनिटे"},s:"सेकंद",ms:"मिलिसेकंद"},ms:{y:"tahun",mo:"bulan",w:"minggu",d:"hari",h:"jam",m:"minit",s:"saat",ms:"milisaat",decimal:"."},nl:{y:"jaar",mo:function(e){return 1===e?"maand":"maanden"},w:function(e){return 1===e?"week":"weken"},d:function(e){return 1===e?"dag":"dagen"},h:"uur",m:function(e){return 1===e?"minuut":"minuten"},s:function(e){return 1===e?"seconde":"seconden"},ms:function(e){return 1===e?"milliseconde":"milliseconden"},decimal:","},no:{y:"år",mo:function(e){return"måned"+(1===e?"":"er")},w:function(e){return"uke"+(1===e?"":"r")},d:function(e){return"dag"+(1===e?"":"er")},h:function(e){return"time"+(1===e?"":"r")},m:function(e){return"minutt"+(1===e?"":"er")},s:function(e){return"sekund"+(1===e?"":"er")},ms:function(e){return"millisekund"+(1===e?"":"er")},decimal:","},pl:{y:function(e){return["rok","roku","lata","lat"][d(e)]},mo:function(e){return["miesiąc","miesiąca","miesiące","miesięcy"][d(e)]},w:function(e){return["tydzień","tygodnia","tygodnie","tygodni"][d(e)]},d:function(e){return["dzień","dnia","dni","dni"][d(e)]},h:function(e){return["godzina","godziny","godziny","godzin"][d(e)]},m:function(e){return["minuta","minuty","minuty","minut"][d(e)]},s:function(e){return["sekunda","sekundy","sekundy","sekund"][d(e)]},ms:function(e){return["milisekunda","milisekundy","milisekundy","milisekund"][d(e)]},decimal:","},pt:{y:function(e){return"ano"+(1===e?"":"s")},mo:function(e){return 1===e?"mês":"meses"},w:function(e){return"semana"+(1===e?"":"s")},d:function(e){return"dia"+(1===e?"":"s")},h:function(e){return"hora"+(1===e?"":"s")},m:function(e){return"minuto"+(1===e?"":"s")},s:function(e){return"segundo"+(1===e?"":"s")},ms:function(e){return"milissegundo"+(1===e?"":"s")},decimal:","},ro:{y:function(e){return 1===e?"an":"ani"},mo:function(e){return 1===e?"lună":"luni"},w:function(e){return 1===e?"săptămână":"săptămâni"},d:function(e){return 1===e?"zi":"zile"},h:function(e){return 1===e?"oră":"ore"},m:function(e){return 1===e?"minut":"minute"},s:function(e){return 1===e?"secundă":"secunde"},ms:function(e){return 1===e?"milisecundă":"milisecunde"},decimal:","},ru:{y:function(e){return["лет","год","года"][p(e)]},mo:function(e){return["месяцев","месяц","месяца"][p(e)]},w:function(e){return["недель","неделя","недели"][p(e)]},d:function(e){return["дней","день","дня"][p(e)]},h:function(e){return["часов","час","часа"][p(e)]},m:function(e){return["минут","минута","минуты"][p(e)]},s:function(e){return["секунд","секунда","секунды"][p(e)]},ms:function(e){return["миллисекунд","миллисекунда","миллисекунды"][p(e)]},decimal:","},sq:{y:function(e){return 1===e?"vit":"vjet"},mo:"muaj",w:"javë",d:"ditë",h:"orë",m:function(e){return"minut"+(1===e?"ë":"a")},s:function(e){return"sekond"+(1===e?"ë":"a")},ms:function(e){return"milisekond"+(1===e?"ë":"a")},decimal:","},sr:{y:function(e){return["години","година","године"][p(e)]},mo:function(e){return["месеци","месец","месеца"][p(e)]},w:function(e){return["недељи","недеља","недеље"][p(e)]},d:function(e){return["дани","дан","дана"][p(e)]},h:function(e){return["сати","сат","сата"][p(e)]},m:function(e){return["минута","минут","минута"][p(e)]},s:function(e){return["секунди","секунда","секунде"][p(e)]},ms:function(e){return["милисекунди","милисекунда","милисекунде"][p(e)]},decimal:","},ta:{y:function(e){return 1===e?"வருடம்":"ஆண்டுகள்"},mo:function(e){return 1===e?"மாதம்":"மாதங்கள்"},w:function(e){return 1===e?"வாரம்":"வாரங்கள்"},d:function(e){return 1===e?"நாள்":"நாட்கள்"},h:function(e){return 1===e?"மணி":"மணிநேரம்"},m:function(e){return"நிமிட"+(1===e?"ம்":"ங்கள்")},s:function(e){return"வினாடி"+(1===e?"":"கள்")},ms:function(e){return"மில்லி விநாடி"+(1===e?"":"கள்")}},te:{y:function(e){return"సంవత్స"+(1===e?"రం":"రాల")},mo:function(e){return"నెల"+(1===e?"":"ల")},w:function(e){return 1===e?"వారం":"వారాలు"},d:function(e){return"రోజు"+(1===e?"":"లు")},h:function(e){return"గంట"+(1===e?"":"లు")},m:function(e){return 1===e?"నిమిషం":"నిమిషాలు"},s:function(e){return 1===e?"సెకను":"సెకన్లు"},ms:function(e){return 1===e?"మిల్లీసెకన్":"మిల్లీసెకన్లు"}},uk:{y:function(e){return["років","рік","роки"][p(e)]},mo:function(e){return["місяців","місяць","місяці"][p(e)]},w:function(e){return["тижнів","тиждень","тижні"][p(e)]},d:function(e){return["днів","день","дні"][p(e)]},h:function(e){return["годин","година","години"][p(e)]},m:function(e){return["хвилин","хвилина","хвилини"][p(e)]},s:function(e){return["секунд","секунда","секунди"][p(e)]},ms:function(e){return["мілісекунд","мілісекунда","мілісекунди"][p(e)]},decimal:","},ur:{y:"سال",mo:function(e){return 1===e?"مہینہ":"مہینے"},w:function(e){return 1===e?"ہفتہ":"ہفتے"},d:"دن",h:function(e){return 1===e?"گھنٹہ":"گھنٹے"},m:"منٹ",s:"سیکنڈ",ms:"ملی سیکنڈ",decimal:"."},sk:{y:function(e){return["rok","roky","roky","rokov"][m(e)]},mo:function(e){return["mesiac","mesiace","mesiace","mesiacov"][m(e)]},w:function(e){return["týždeň","týždne","týždne","týždňov"][m(e)]},d:function(e){return["deň","dni","dni","dní"][m(e)]},h:function(e){return["hodina","hodiny","hodiny","hodín"][m(e)]},m:function(e){return["minúta","minúty","minúty","minút"][m(e)]},s:function(e){return["sekunda","sekundy","sekundy","sekúnd"][m(e)]},ms:function(e){return["milisekunda","milisekundy","milisekundy","milisekúnd"][m(e)]},decimal:","},sl:{y:function(e){return e%10==1?"leto":e%100==2?"leti":e%100==3||e%100==4||Math.floor(e)!==e&&e%100<=5?"leta":"let"},mo:function(e){return e%10==1?"mesec":e%100==2||Math.floor(e)!==e&&e%100<=5?"meseca":e%10==3||e%10==4?"mesece":"mesecev"},w:function(e){return e%10==1?"teden":e%10==2||Math.floor(e)!==e&&e%100<=4?"tedna":e%10==3||e%10==4?"tedne":"tednov"},d:function(e){return e%100==1?"dan":"dni"},h:function(e){return e%10==1?"ura":e%100==2?"uri":e%10==3||e%10==4||Math.floor(e)!==e?"ure":"ur"},m:function(e){return e%10==1?"minuta":e%10==2?"minuti":e%10==3||e%10==4||Math.floor(e)!==e&&e%100<=4?"minute":"minut"},s:function(e){return e%10==1?"sekunda":e%100==2?"sekundi":e%100==3||e%100==4||Math.floor(e)!==e?"sekunde":"sekund"},ms:function(e){return e%10==1?"milisekunda":e%100==2?"milisekundi":e%100==3||e%100==4||Math.floor(e)!==e?"milisekunde":"milisekund"},decimal:","},sv:{y:"år",mo:function(e){return"månad"+(1===e?"":"er")},w:function(e){return"veck"+(1===e?"a":"or")},d:function(e){return"dag"+(1===e?"":"ar")},h:function(e){return"timm"+(1===e?"e":"ar")},m:function(e){return"minut"+(1===e?"":"er")},s:function(e){return"sekund"+(1===e?"":"er")},ms:function(e){return"millisekund"+(1===e?"":"er")},decimal:","},sw:{y:function(e){return 1===e?"mwaka":"miaka"},mo:function(e){return 1===e?"mwezi":"miezi"},w:"wiki",d:function(e){return 1===e?"siku":"masiku"},h:function(e){return 1===e?"saa":"masaa"},m:"dakika",s:"sekunde",ms:"milisekunde",decimal:"."},tr:{y:"yıl",mo:"ay",w:"hafta",d:"gün",h:"saat",m:"dakika",s:"saniye",ms:"milisaniye",decimal:","},th:{y:"ปี",mo:"เดือน",w:"สัปดาห์",d:"วัน",h:"ชั่วโมง",m:"นาที",s:"วินาที",ms:"มิลลิวินาที",decimal:"."},vi:{y:"năm",mo:"tháng",w:"tuần",d:"ngày",h:"giờ",m:"phút",s:"giây",ms:"mili giây",decimal:","},zh_CN:{y:"年",mo:"个月",w:"周",d:"天",h:"小时",m:"分钟",s:"秒",ms:"毫秒",decimal:"."},zh_TW:{y:"年",mo:"個月",w:"周",d:"天",h:"小時",m:"分鐘",s:"秒",ms:"毫秒",decimal:"."}};function u(e){var t=function(e,n){return function(e,t){var n,r,i;e=Math.abs(e);var o,u,s,l=function(e){var t=[e.language];if(y(e,"fallbacks")){if(!g(e.fallbacks)||!e.fallbacks.length)throw new Error("fallbacks must be an array with at least one element");t=t.concat(e.fallbacks)}for(var n=0;n=0&&((i=f[n]).unitCount=Math.round(i.unitCount),0!==n);n--)h=f[n-1],m=t.unitMeasures[h.unitName]/t.unitMeasures[i.unitName],(i.unitCount%m==0||t.largest&&t.largest-12)return E.slice(0,-1).join(b)+(t.serialComma?",":"")+t.conjunction+E.slice(-1)}(e,l({},t,n||{}))};return l(t,{language:"en",spacer:" ",conjunction:"",serialComma:!0,units:["y","mo","w","d","h","m","s"],languages:{},round:!1,unitMeasures:{y:315576e5,mo:26298e5,w:6048e5,d:864e5,h:36e5,m:6e4,s:1e3,ms:1}},e)}var s=u({});function c(e,t,n,r){var i,o;i=y(r,"decimal")?r.decimal:y(n,"decimal")?n.decimal:".",o="function"==typeof n._formatCount?n._formatCount(e,i):e.toString().replace(".",i);var a,u=n[t];return a="function"==typeof u?u(e):u,o+r.spacer+a}function l(e){for(var t,n=1;n2&&e<11?2:0}function d(e){return 1===e?0:Math.floor(e)!==e?1:e%10>=2&&e%10<=4&&!(e%100>10&&e%100<20)?2:3}function p(e){return Math.floor(e)!==e?2:e%100>=5&&e%100<=20||e%10>=5&&e%10<=9||e%10==0?0:e%10==1?1:e>1?2:0}function m(e){return 1===e?0:Math.floor(e)!==e?1:e%10>=2&&e%10<=4&&e%100<10?2:3}function h(e){return 1===e||e%10==1&&e%100>20?0:Math.floor(e)!==e||e%10>=2&&e%100>20||e%10>=2&&e%100<10?1:2}function v(e){return e%10==1&&e%100!=11}var g=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function y(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s.getSupportedLanguages=function(){var e=[];for(var t in a)y(a,t)&&"gr"!==t&&e.push(t);return e},s.humanizer=u,void 0===(r=function(){return s}.call(t,n,t,e))||(e.exports=r)}()},function(e,t){e.exports=a},,,function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var s,c=[],l=!1,f=-1;function d(){l&&s&&(l=!1,s.length?c=s.concat(c):f=-1,c.length&&p())}function p(){if(!l){var e=u(d);l=!0;for(var t=c.length;t;){for(s=c,c=[];++f1)for(var n=1;n0){var s=u.data.flatMap((function(e){return e.fields})).filter((function(e){var t,r;return!(null===(t=n.settings)||void 0===t?void 0:t.filterByType)||(null===(r=n.settings)||void 0===r?void 0:r.filterByType.some((function(t){return e.type===t})))})).map((function(e){return{label:e.name,value:e.name}}));return(null===(t=n.settings)||void 0===t?void 0:t.multi)?o.a.createElement(a.MultiSelect,{isClearable:!0,isLoading:!1,value:r,onChange:function(e){return i(e.map((function(e){return e.value})))},options:s}):o.a.createElement(a.Select,{isClearable:!0,isLoading:!1,value:r,onChange:function(e){i(null==e?void 0:e.value)},options:s})}return o.a.createElement(a.Select,{onChange:function(){},disabled:!0})};var s=function(){return(s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)a.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function d(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i1?"s":"")+":"),o.a.createElement("div",null,u.map((function(e,t){var n=e.type,r=e.description,u=e.ok;return o.a.createElement("div",{key:t,className:Object(b.css)(m||(m=p(["\n display: flex;\n align-items: center;\n padding-bottom: ",";\n & > * {\n margin-right: ",";\n }\n & > *:last-child {\n margin-right: 0;\n }\n "],["\n display: flex;\n align-items: center;\n padding-bottom: ",";\n & > * {\n margin-right: ",";\n }\n & > *:last-child {\n margin-right: 0;\n }\n "])),i.spacing.sm,i.spacing.sm)},u?o.a.createElement(a.Icon,{name:"check-circle",size:"lg",style:{color:i.palette.brandSuccess}}):o.a.createElement(a.Icon,{name:"circle",size:"lg",style:{color:i.colors.linkDisabled}}),o.a.createElement(a.Badge,{className:Object(b.css)(h||(h=p(["\n margin-top: 0;\n "],["\n margin-top: 0;\n "]))),text:n.slice(0,1).toUpperCase()+n.slice(1),color:"blue"}),r&&o.a.createElement("span",null,""+r))})))))},O=function(e,t){var n=[];return t.map((function(t){var r=t.type,i=t.description,o=e.filter((function(e){return!n.includes(e)})).find((function(e){return e.type===r}));return o&&n.push(o),{type:r,description:i,ok:!!o}}))},x=n(7),T=n(5),I=function(e,t,n){var i;return(null==e?void 0:e.type)===r.FieldType.number?((i=s(s({},e),{type:r.FieldType.time})).display=Object(r.getDisplayProcessor)({field:i,timeZone:t,theme:n}),i):(null==e?void 0:e.type)===r.FieldType.string?((i=s(s({},e),{type:r.FieldType.time,values:new r.ArrayVector(e.values.toArray().map((function(e){return Object(r.dateTimeParse)(e,{timeZone:t,format:"YYYY-MM-DDTHH:mm:ss.SSSSSSSZ"}).valueOf()})))})).display=Object(r.getDisplayProcessor)({field:i,timeZone:t,theme:n}),i):e},R=function(e){var t,n;return e?""+(null!==(t=e.prefix)&&void 0!==t?t:"")+e.text+(null!==(n=e.suffix)&&void 0!==n?n:""):""},k=function(e){e.item;var t=e.value,n=e.onChange,r=(e.context,Object(a.useTheme)()),i=t||[],u=function(e){return function(r){n(t.map((function(t,n){return n===e?s(s({},t),{text:r.currentTarget.value}):t})))}};return o.a.createElement(o.a.Fragment,null,o.a.createElement(a.Button,{variant:"secondary",size:"sm",icon:"plus",fullWidth:!0,className:Object(b.css)(v||(v=p(["\n width: 100%;\n margin-bottom: ",";\n "],["\n width: 100%;\n margin-bottom: ",";\n "])),r.spacing.sm),onClick:function(){n(d(d([],f(i)),[{text:"",color:"green"}]))}},"Add color mapping"),o.a.createElement("div",null,i.map((function(e,c){var l,f=e.text,d=e.color;return o.a.createElement(a.Input,{key:c,type:"text",className:Object(b.css)(g||(g=p(["\n &:not(&:last-child) {\n margin-bottom: ",";\n }\n "],["\n &:not(&:last-child) {\n margin-bottom: ",";\n }\n "])),r.spacing.sm),prefix:o.a.createElement("div",{className:Object(b.css)(y||(y=p(["\n padding: 0 ",";\n "],["\n padding: 0 ",";\n "])),r.spacing.sm)},o.a.createElement(a.ColorPicker,{color:d,onChange:(l=c,function(e){n(t.map((function(t,n){return n===l?s(s({},t),{color:e}):t})))})})),value:f,onChange:u(c),suffix:o.a.createElement(a.Icon,{className:Object(b.css)(E||(E=p(["\n color: ",";\n cursor: pointer;\n\n &:hover {\n color: ",";\n }\n "],["\n color: ",";\n cursor: pointer;\n\n &:hover {\n color: ",";\n }\n "])),r.colors.textWeak,r.colors.text),name:"trash-alt",onClick:function(){return function(e){n(i.filter((function(t,n){return n!==e})))}(c)}})})}))))},L=n(6),A=n(4),S=n.n(A),N=n(8),j=n.n(N),D=a.ContextMenu,M=function(e){var t=e.x,n=e.y,r=e.onClose,i=e.renderMenuItems,a=e.renderHeader,u=i?i().map((function(e){return{label:e.label,items:e.items.map((function(e){return s({},e)}))}})):void 0;return o.a.createElement(D,{x:t,y:n,onClose:r,renderHeader:a,items:u})},C=function(e){var t=e.x,n=e.y,r=e.onClose,i=e.renderMenuItems,u=e.renderHeader,c=x.config.buildInfo.version;return Object(T.gte)(c,"8.0.0")?o.a.createElement(a.ContextMenu,{x:t,y:n,onClose:r,renderMenuItems:function(){return i().map((function(e,t){return o.a.createElement(a.MenuGroup,{key:""+e.label+t,label:e.label,ariaLabel:e.label},(e.items||[]).map((function(e){return o.a.createElement(a.MenuItem,s({key:e.label},e))})))}))},renderHeader:u}):o.a.createElement(M,{x:t,y:n,onClose:r,renderMenuItems:i,renderHeader:u})};function F(e){var t=e.getBoundingClientRect();return{width:t.width,height:t.height,top:t.top,right:t.right,bottom:t.bottom,left:t.left,x:t.left,y:t.top}}function P(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function $(e){var t=P(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function B(e){return e instanceof P(e).Element||e instanceof Element}function U(e){return e instanceof P(e).HTMLElement||e instanceof HTMLElement}function H(e){return"undefined"!=typeof ShadowRoot&&(e instanceof P(e).ShadowRoot||e instanceof ShadowRoot)}function _(e){return e?(e.nodeName||"").toLowerCase():null}function G(e){return((B(e)?e.ownerDocument:e.document)||window.document).documentElement}function V(e){return F(G(e)).left+$(e).scrollLeft}function z(e){return P(e).getComputedStyle(e)}function X(e){var t=z(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function W(e,t,n){void 0===n&&(n=!1);var r,i,o=G(t),a=F(e),u=U(t),s={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(u||!u&&!n)&&(("body"!==_(t)||X(o))&&(s=(r=t)!==P(r)&&U(r)?{scrollLeft:(i=r).scrollLeft,scrollTop:i.scrollTop}:$(r)),U(t)?((c=F(t)).x+=t.clientLeft,c.y+=t.clientTop):o&&(c.x=V(o))),{x:a.left+s.scrollLeft-c.x,y:a.top+s.scrollTop-c.y,width:a.width,height:a.height}}function Y(e){var t=F(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function q(e){return"html"===_(e)?e:e.assignedSlot||e.parentNode||(H(e)?e.host:null)||G(e)}function Z(e,t){var n;void 0===t&&(t=[]);var r=function e(t){return["html","body","#document"].indexOf(_(t))>=0?t.ownerDocument.body:U(t)&&X(t)?t:e(q(t))}(e),i=r===(null==(n=e.ownerDocument)?void 0:n.body),o=P(r),a=i?[o].concat(o.visualViewport||[],X(r)?r:[]):r,u=t.concat(a);return i?u:u.concat(Z(q(a)))}function J(e){return["table","td","th"].indexOf(_(e))>=0}function Q(e){return U(e)&&"fixed"!==z(e).position?e.offsetParent:null}function K(e){for(var t=P(e),n=Q(e);n&&J(n)&&"static"===z(n).position;)n=Q(n);return n&&("html"===_(n)||"body"===_(n)&&"static"===z(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&U(e)&&"fixed"===z(e).position)return null;for(var n=q(e);U(n)&&["html","body"].indexOf(_(n))<0;){var r=z(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}var ee="top",te="bottom",ne="right",re="left",ie=[ee,te,ne,re],oe=ie.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),ae=[].concat(ie,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),ue=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function se(e){var t=new Map,n=new Set,r=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||function e(i){n.add(i.name),[].concat(i.requires||[],i.requiresIfExists||[]).forEach((function(r){if(!n.has(r)){var i=t.get(r);i&&e(i)}})),r.push(i)}(e)})),r}var ce={placement:"bottom",modifiers:[],strategy:"absolute"};function le(){for(var e=arguments.length,t=new Array(e),n=0;n=0?"x":"y"}function ge(e){var t,n=e.reference,r=e.element,i=e.placement,o=i?me(i):null,a=i?he(i):null,u=n.x+n.width/2-r.width/2,s=n.y+n.height/2-r.height/2;switch(o){case ee:t={x:u,y:n.y-r.height};break;case te:t={x:u,y:n.y+n.height};break;case ne:t={x:n.x+n.width,y:s};break;case re:t={x:n.x-r.width,y:s};break;default:t={x:n.x,y:n.y}}var c=o?ve(o):null;if(null!=c){var l="y"===c?"height":"width";switch(a){case"start":t[c]=t[c]-(n[l]/2-r[l]/2);break;case"end":t[c]=t[c]+(n[l]/2-r[l]/2)}}return t}var ye={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=ge({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},Ee=Math.max,be=Math.min,we=Math.round,Oe={top:"auto",right:"auto",bottom:"auto",left:"auto"};function xe(e){var t,n=e.popper,r=e.popperRect,i=e.placement,o=e.offsets,a=e.position,u=e.gpuAcceleration,s=e.adaptive,c=e.roundOffsets,l=!0===c?function(e){var t=e.x,n=e.y,r=window.devicePixelRatio||1;return{x:we(we(t*r)/r)||0,y:we(we(n*r)/r)||0}}(o):"function"==typeof c?c(o):o,f=l.x,d=void 0===f?0:f,p=l.y,m=void 0===p?0:p,h=o.hasOwnProperty("x"),v=o.hasOwnProperty("y"),g=re,y=ee,E=window;if(s){var b=K(n),w="clientHeight",O="clientWidth";b===P(n)&&"static"!==z(b=G(n)).position&&(w="scrollHeight",O="scrollWidth"),b=b,i===ee&&(y=te,m-=b[w]-r.height,m*=u?1:-1),i===re&&(g=ne,d-=b[O]-r.width,d*=u?1:-1)}var x,T=Object.assign({position:a},s&&Oe);return u?Object.assign({},T,((x={})[y]=v?"0":"",x[g]=h?"0":"",x.transform=(E.devicePixelRatio||1)<2?"translate("+d+"px, "+m+"px)":"translate3d("+d+"px, "+m+"px, 0)",x)):Object.assign({},T,((t={})[y]=v?m+"px":"",t[g]=h?d+"px":"",t.transform="",t))}var Te={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},i=t.elements[e];U(i)&&_(i)&&(Object.assign(i.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],i=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});U(r)&&_(r)&&(Object.assign(r.style,o),Object.keys(i).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]};var Ie={left:"right",right:"left",bottom:"top",top:"bottom"};function Re(e){return e.replace(/left|right|bottom|top/g,(function(e){return Ie[e]}))}var ke={start:"end",end:"start"};function Le(e){return e.replace(/start|end/g,(function(e){return ke[e]}))}function Ae(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&H(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Se(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Ne(e,t){return"viewport"===t?Se(function(e){var t=P(e),n=G(e),r=t.visualViewport,i=n.clientWidth,o=n.clientHeight,a=0,u=0;return r&&(i=r.width,o=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=r.offsetLeft,u=r.offsetTop)),{width:i,height:o,x:a+V(e),y:u}}(e)):U(t)?function(e){var t=F(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):Se(function(e){var t,n=G(e),r=$(e),i=null==(t=e.ownerDocument)?void 0:t.body,o=Ee(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=Ee(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),u=-r.scrollLeft+V(e),s=-r.scrollTop;return"rtl"===z(i||n).direction&&(u+=Ee(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:u,y:s}}(G(e)))}function je(e,t,n){var r="clippingParents"===t?function(e){var t=Z(q(e)),n=["absolute","fixed"].indexOf(z(e).position)>=0&&U(e)?K(e):e;return B(n)?t.filter((function(e){return B(e)&&Ae(e,n)&&"body"!==_(e)})):[]}(e):[].concat(t),i=[].concat(r,[n]),o=i[0],a=i.reduce((function(t,n){var r=Ne(e,n);return t.top=Ee(r.top,t.top),t.right=be(r.right,t.right),t.bottom=be(r.bottom,t.bottom),t.left=Ee(r.left,t.left),t}),Ne(e,o));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function De(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Me(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function Ce(e,t){void 0===t&&(t={});var n=t,r=n.placement,i=void 0===r?e.placement:r,o=n.boundary,a=void 0===o?"clippingParents":o,u=n.rootBoundary,s=void 0===u?"viewport":u,c=n.elementContext,l=void 0===c?"popper":c,f=n.altBoundary,d=void 0!==f&&f,p=n.padding,m=void 0===p?0:p,h=De("number"!=typeof m?m:Me(m,ie)),v="popper"===l?"reference":"popper",g=e.elements.reference,y=e.rects.popper,E=e.elements[d?v:l],b=je(B(E)?E:E.contextElement||G(e.elements.popper),a,s),w=F(g),O=ge({reference:w,element:y,strategy:"absolute",placement:i}),x=Se(Object.assign({},y,O)),T="popper"===l?x:w,I={top:b.top-T.top+h.top,bottom:T.bottom-b.bottom+h.bottom,left:b.left-T.left+h.left,right:T.right-b.right+h.right},R=e.modifiersData.offset;if("popper"===l&&R){var k=R[i];Object.keys(I).forEach((function(e){var t=[ne,te].indexOf(e)>=0?1:-1,n=[ee,te].indexOf(e)>=0?"y":"x";I[e]+=k[n]*t}))}return I}function Fe(e,t,n){return Ee(e,be(t,n))}function Pe(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function $e(e){return[ee,ne,te,re].some((function(t){return e[t]>=0}))}var Be=fe({defaultModifiers:[pe,ye,{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=void 0===r||r,o=n.adaptive,a=void 0===o||o,u=n.roundOffsets,s=void 0===u||u,c={placement:me(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,xe(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:s})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,xe(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:s})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},Te,{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=void 0===i?[0,0]:i,a=ae.reduce((function(e,n){return e[n]=function(e,t,n){var r=me(e),i=[re,ee].indexOf(r)>=0?-1:1,o="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=o[0],u=o[1];return a=a||0,u=(u||0)*i,[re,ne].indexOf(r)>=0?{x:u,y:a}:{x:a,y:u}}(n,t.rects,o),e}),{}),u=a[t.placement],s=u.x,c=u.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=s,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,o=void 0===i||i,a=n.altAxis,u=void 0===a||a,s=n.fallbackPlacements,c=n.padding,l=n.boundary,f=n.rootBoundary,d=n.altBoundary,p=n.flipVariations,m=void 0===p||p,h=n.allowedAutoPlacements,v=t.options.placement,g=me(v),y=s||(g===v||!m?[Re(v)]:function(e){if("auto"===me(e))return[];var t=Re(e);return[Le(e),t,Le(t)]}(v)),E=[v].concat(y).reduce((function(e,n){return e.concat("auto"===me(n)?function(e,t){void 0===t&&(t={});var n=t,r=n.placement,i=n.boundary,o=n.rootBoundary,a=n.padding,u=n.flipVariations,s=n.allowedAutoPlacements,c=void 0===s?ae:s,l=he(r),f=l?u?oe:oe.filter((function(e){return he(e)===l})):ie,d=f.filter((function(e){return c.indexOf(e)>=0}));0===d.length&&(d=f);var p=d.reduce((function(t,n){return t[n]=Ce(e,{placement:n,boundary:i,rootBoundary:o,padding:a})[me(n)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:n,boundary:l,rootBoundary:f,padding:c,flipVariations:m,allowedAutoPlacements:h}):n)}),[]),b=t.rects.reference,w=t.rects.popper,O=new Map,x=!0,T=E[0],I=0;I=0,S=A?"width":"height",N=Ce(t,{placement:R,boundary:l,rootBoundary:f,altBoundary:d,padding:c}),j=A?L?ne:re:L?te:ee;b[S]>w[S]&&(j=Re(j));var D=Re(j),M=[];if(o&&M.push(N[k]<=0),u&&M.push(N[j]<=0,N[D]<=0),M.every((function(e){return e}))){T=R,x=!1;break}O.set(R,M)}if(x)for(var C=function(e){var t=E.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return T=t,"break"},F=m?3:1;F>0;F--){if("break"===C(F))break}t.placement!==T&&(t.modifiersData[r]._skip=!0,t.placement=T,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,o=void 0===i||i,a=n.altAxis,u=void 0!==a&&a,s=n.boundary,c=n.rootBoundary,l=n.altBoundary,f=n.padding,d=n.tether,p=void 0===d||d,m=n.tetherOffset,h=void 0===m?0:m,v=Ce(t,{boundary:s,rootBoundary:c,padding:f,altBoundary:l}),g=me(t.placement),y=he(t.placement),E=!y,b=ve(g),w="x"===b?"y":"x",O=t.modifiersData.popperOffsets,x=t.rects.reference,T=t.rects.popper,I="function"==typeof h?h(Object.assign({},t.rects,{placement:t.placement})):h,R={x:0,y:0};if(O){if(o||u){var k="y"===b?ee:re,L="y"===b?te:ne,A="y"===b?"height":"width",S=O[b],N=O[b]+v[k],j=O[b]-v[L],D=p?-T[A]/2:0,M="start"===y?x[A]:T[A],C="start"===y?-T[A]:-x[A],F=t.elements.arrow,P=p&&F?Y(F):{width:0,height:0},$=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},B=$[k],U=$[L],H=Fe(0,x[A],P[A]),_=E?x[A]/2-D-H-B-I:M-H-B-I,G=E?-x[A]/2+D+H+U+I:C+H+U+I,V=t.elements.arrow&&K(t.elements.arrow),z=V?"y"===b?V.clientTop||0:V.clientLeft||0:0,X=t.modifiersData.offset?t.modifiersData.offset[t.placement][b]:0,W=O[b]+_-X-z,q=O[b]+G-X;if(o){var Z=Fe(p?be(N,W):N,S,p?Ee(j,q):j);O[b]=Z,R[b]=Z-S}if(u){var J="x"===b?ee:re,Q="x"===b?te:ne,ie=O[w],oe=ie+v[J],ae=ie-v[Q],ue=Fe(p?be(oe,W):oe,ie,p?Ee(ae,q):ae);O[w]=ue,R[w]=ue-ie}}t.modifiersData[r]=R}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,i=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,u=me(n.placement),s=ve(u),c=[re,ne].indexOf(u)>=0?"height":"width";if(o&&a){var l=function(e,t){return De("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:Me(e,ie))}(i.padding,n),f=Y(o),d="y"===s?ee:re,p="y"===s?te:ne,m=n.rects.reference[c]+n.rects.reference[s]-a[s]-n.rects.popper[c],h=a[s]-n.rects.reference[s],v=K(o),g=v?"y"===s?v.clientHeight||0:v.clientWidth||0:0,y=m/2-h/2,E=l[d],b=g-f[c]-l[p],w=g/2-f[c]/2+y,O=Fe(E,w,b),x=s;n.modifiersData[r]=((t={})[x]=O,t.centerOffset=O-w,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&Ae(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,a=Ce(t,{elementContext:"reference"}),u=Ce(t,{altBoundary:!0}),s=Pe(a,r),c=Pe(u,i,o),l=$e(s),f=$e(c);t.modifiersData[n]={referenceClippingOffsets:s,popperEscapeOffsets:c,isReferenceHidden:l,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":l,"data-popper-escaped":f})}}]}),Ue={passive:!0,capture:!0};function He(e,t,n){if(Array.isArray(e)){var r=e[t];return null==r?Array.isArray(n)?n[t]:n:r}return e}function _e(e,t){var n={}.toString.call(e);return 0===n.indexOf("[object")&&n.indexOf(t+"]")>-1}function Ge(e,t){return"function"==typeof e?e.apply(void 0,t):e}function Ve(e,t){return 0===t?e:function(r){clearTimeout(n),n=setTimeout((function(){e(r)}),t)};var n}function ze(e){return[].concat(e)}function Xe(e,t){-1===e.indexOf(t)&&e.push(t)}function We(e){return e.split("-")[0]}function Ye(e){return[].slice.call(e)}function qe(){return document.createElement("div")}function Ze(e){return["Element","Fragment"].some((function(t){return _e(e,t)}))}function Je(e){return _e(e,"MouseEvent")}function Qe(e){return!(!e||!e._tippy||e._tippy.reference!==e)}function Ke(e){return Ze(e)?[e]:function(e){return _e(e,"NodeList")}(e)?Ye(e):Array.isArray(e)?e:Ye(document.querySelectorAll(e))}function et(e,t){e.forEach((function(e){e&&(e.style.transitionDuration=t+"ms")}))}function tt(e,t){e.forEach((function(e){e&&e.setAttribute("data-state",t)}))}function nt(e){var t,n=ze(e)[0];return(null==n||null==(t=n.ownerDocument)?void 0:t.body)?n.ownerDocument:document}function rt(e,t,n){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(t){e[r](t,n)}))}var it={isTouch:!1},ot=0;function at(){it.isTouch||(it.isTouch=!0,window.performance&&document.addEventListener("mousemove",ut))}function ut(){var e=performance.now();e-ot<20&&(it.isTouch=!1,document.removeEventListener("mousemove",ut)),ot=e}function st(){var e=document.activeElement;if(Qe(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}var ct="undefined"!=typeof window&&"undefined"!=typeof document?navigator.userAgent:"",lt=/MSIE |Trident\//.test(ct);var ft={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},dt=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},ft,{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),pt=Object.keys(dt);function mt(e){var t=(e.plugins||[]).reduce((function(t,n){var r=n.name,i=n.defaultValue;return r&&(t[r]=void 0!==e[r]?e[r]:i),t}),{});return Object.assign({},e,{},t)}function ht(e,t){var n=Object.assign({},t,{content:Ge(t.content,[e])},t.ignoreAttributes?{}:function(e,t){return(t?Object.keys(mt(Object.assign({},dt,{plugins:t}))):pt).reduce((function(t,n){var r=(e.getAttribute("data-tippy-"+n)||"").trim();if(!r)return t;if("content"===n)t[n]=r;else try{t[n]=JSON.parse(r)}catch(e){t[n]=r}return t}),{})}(e,t.plugins));return n.aria=Object.assign({},dt.aria,{},n.aria),n.aria={expanded:"auto"===n.aria.expanded?t.interactive:n.aria.expanded,content:"auto"===n.aria.content?t.interactive?null:"describedby":n.aria.content},n}function vt(e,t){e.innerHTML=t}function gt(e){var t=qe();return!0===e?t.className="tippy-arrow":(t.className="tippy-svg-arrow",Ze(e)?t.appendChild(e):vt(t,e)),t}function yt(e,t){Ze(t.content)?(vt(e,""),e.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?vt(e,t.content):e.textContent=t.content)}function Et(e){var t=e.firstElementChild,n=Ye(t.children);return{box:t,content:n.find((function(e){return e.classList.contains("tippy-content")})),arrow:n.find((function(e){return e.classList.contains("tippy-arrow")||e.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(e){return e.classList.contains("tippy-backdrop")}))}}function bt(e){var t=qe(),n=qe();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=qe();function i(n,r){var i=Et(t),o=i.box,a=i.content,u=i.arrow;r.theme?o.setAttribute("data-theme",r.theme):o.removeAttribute("data-theme"),"string"==typeof r.animation?o.setAttribute("data-animation",r.animation):o.removeAttribute("data-animation"),r.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?o.setAttribute("role",r.role):o.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||yt(a,e.props),r.arrow?u?n.arrow!==r.arrow&&(o.removeChild(u),o.appendChild(gt(r.arrow))):o.appendChild(gt(r.arrow)):u&&o.removeChild(u)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),yt(r,e.props),t.appendChild(n),n.appendChild(r),i(e.props,e.props),{popper:t,onUpdate:i}}bt.$$tippy=!0;var wt=1,Ot=[],xt=[];function Tt(e,t){var n,r,i,o,a,u,s,c,l,f=ht(e,Object.assign({},dt,{},mt((n=t,Object.keys(n).reduce((function(e,t){return void 0!==n[t]&&(e[t]=n[t]),e}),{}))))),d=!1,p=!1,m=!1,h=!1,v=[],g=Ve(Y,f.interactiveDebounce),y=wt++,E=(l=f.plugins).filter((function(e,t){return l.indexOf(e)===t})),b={id:y,reference:e,popper:qe(),popperInstance:null,props:f,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:E,clearDelayTimeouts:function(){clearTimeout(r),clearTimeout(i),cancelAnimationFrame(o)},setProps:function(t){0;if(b.state.isDestroyed)return;M("onBeforeUpdate",[b,t]),X();var n=b.props,r=ht(e,Object.assign({},b.props,{},t,{ignoreAttributes:!0}));b.props=r,z(),n.interactiveDebounce!==r.interactiveDebounce&&(P(),g=Ve(Y,r.interactiveDebounce));n.triggerTarget&&!r.triggerTarget?ze(n.triggerTarget).forEach((function(e){e.removeAttribute("aria-expanded")})):r.triggerTarget&&e.removeAttribute("aria-expanded");F(),D(),x&&x(n,r);b.popperInstance&&(Q(),ee().forEach((function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})));M("onAfterUpdate",[b,t])},setContent:function(e){b.setProps({content:e})},show:function(){0;var e=b.state.isVisible,t=b.state.isDestroyed,n=!b.state.isEnabled,r=it.isTouch&&!b.props.touch,i=He(b.props.duration,0,dt.duration);if(e||t||n||r)return;if(A().hasAttribute("disabled"))return;if(M("onShow",[b],!1),!1===b.props.onShow(b))return;b.state.isVisible=!0,L()&&(O.style.visibility="visible");D(),H(),b.state.isMounted||(O.style.transition="none");if(L()){var o=N(),a=o.box,u=o.content;et([a,u],0)}s=function(){var e;if(b.state.isVisible&&!h){if(h=!0,O.offsetHeight,O.style.transition=b.props.moveTransition,L()&&b.props.animation){var t=N(),n=t.box,r=t.content;et([n,r],i),tt([n,r],"visible")}C(),F(),Xe(xt,b),null==(e=b.popperInstance)||e.forceUpdate(),b.state.isMounted=!0,M("onMount",[b]),b.props.animation&&L()&&function(e,t){G(e,t)}(i,(function(){b.state.isShown=!0,M("onShown",[b])}))}},function(){var e,t=b.props.appendTo,n=A();e=b.props.interactive&&t===dt.appendTo||"parent"===t?n.parentNode:Ge(t,[n]);e.contains(O)||e.appendChild(O);Q(),!1}()},hide:function(){0;var e=!b.state.isVisible,t=b.state.isDestroyed,n=!b.state.isEnabled,r=He(b.props.duration,1,dt.duration);if(e||t||n)return;if(M("onHide",[b],!1),!1===b.props.onHide(b))return;b.state.isVisible=!1,b.state.isShown=!1,h=!1,d=!1,L()&&(O.style.visibility="hidden");if(P(),_(),D(),L()){var i=N(),o=i.box,a=i.content;b.props.animation&&(et([o,a],r),tt([o,a],"hidden"))}C(),F(),b.props.animation?L()&&function(e,t){G(e,(function(){!b.state.isVisible&&O.parentNode&&O.parentNode.contains(O)&&t()}))}(r,b.unmount):b.unmount()},hideWithInteractivity:function(e){0;S().addEventListener("mousemove",g),Xe(Ot,g),g(e)},enable:function(){b.state.isEnabled=!0},disable:function(){b.hide(),b.state.isEnabled=!1},unmount:function(){0;b.state.isVisible&&b.hide();if(!b.state.isMounted)return;K(),ee().forEach((function(e){e._tippy.unmount()})),O.parentNode&&O.parentNode.removeChild(O);xt=xt.filter((function(e){return e!==b})),b.state.isMounted=!1,M("onHidden",[b])},destroy:function(){0;if(b.state.isDestroyed)return;b.clearDelayTimeouts(),b.unmount(),X(),delete e._tippy,b.state.isDestroyed=!0,M("onDestroy",[b])}};if(!f.render)return b;var w=f.render(b),O=w.popper,x=w.onUpdate;O.setAttribute("data-tippy-root",""),O.id="tippy-"+b.id,b.popper=O,e._tippy=b,O._tippy=b;var T=E.map((function(e){return e.fn(b)})),I=e.hasAttribute("aria-expanded");return z(),F(),D(),M("onCreate",[b]),f.showOnCreate&&te(),O.addEventListener("mouseenter",(function(){b.props.interactive&&b.state.isVisible&&b.clearDelayTimeouts()})),O.addEventListener("mouseleave",(function(e){b.props.interactive&&b.props.trigger.indexOf("mouseenter")>=0&&(S().addEventListener("mousemove",g),g(e))})),b;function R(){var e=b.props.touch;return Array.isArray(e)?e:[e,0]}function k(){return"hold"===R()[0]}function L(){var e;return!!(null==(e=b.props.render)?void 0:e.$$tippy)}function A(){return c||e}function S(){var e=A().parentNode;return e?nt(e):document}function N(){return Et(O)}function j(e){return b.state.isMounted&&!b.state.isVisible||it.isTouch||a&&"focus"===a.type?0:He(b.props.delay,e?0:1,dt.delay)}function D(){O.style.pointerEvents=b.props.interactive&&b.state.isVisible?"":"none",O.style.zIndex=""+b.props.zIndex}function M(e,t,n){var r;(void 0===n&&(n=!0),T.forEach((function(n){n[e]&&n[e].apply(void 0,t)})),n)&&(r=b.props)[e].apply(r,t)}function C(){var t=b.props.aria;if(t.content){var n="aria-"+t.content,r=O.id;ze(b.props.triggerTarget||e).forEach((function(e){var t=e.getAttribute(n);if(b.state.isVisible)e.setAttribute(n,t?t+" "+r:r);else{var i=t&&t.replace(r,"").trim();i?e.setAttribute(n,i):e.removeAttribute(n)}}))}}function F(){!I&&b.props.aria.expanded&&ze(b.props.triggerTarget||e).forEach((function(e){b.props.interactive?e.setAttribute("aria-expanded",b.state.isVisible&&e===A()?"true":"false"):e.removeAttribute("aria-expanded")}))}function P(){S().removeEventListener("mousemove",g),Ot=Ot.filter((function(e){return e!==g}))}function $(e){if(!(it.isTouch&&(m||"mousedown"===e.type)||b.props.interactive&&O.contains(e.target))){if(A().contains(e.target)){if(it.isTouch)return;if(b.state.isVisible&&b.props.trigger.indexOf("click")>=0)return}else M("onClickOutside",[b,e]);!0===b.props.hideOnClick&&(b.clearDelayTimeouts(),b.hide(),p=!0,setTimeout((function(){p=!1})),b.state.isMounted||_())}}function B(){m=!0}function U(){m=!1}function H(){var e=S();e.addEventListener("mousedown",$,!0),e.addEventListener("touchend",$,Ue),e.addEventListener("touchstart",U,Ue),e.addEventListener("touchmove",B,Ue)}function _(){var e=S();e.removeEventListener("mousedown",$,!0),e.removeEventListener("touchend",$,Ue),e.removeEventListener("touchstart",U,Ue),e.removeEventListener("touchmove",B,Ue)}function G(e,t){var n=N().box;function r(e){e.target===n&&(rt(n,"remove",r),t())}if(0===e)return t();rt(n,"remove",u),rt(n,"add",r),u=r}function V(t,n,r){void 0===r&&(r=!1),ze(b.props.triggerTarget||e).forEach((function(e){e.addEventListener(t,n,r),v.push({node:e,eventType:t,handler:n,options:r})}))}function z(){var e;k()&&(V("touchstart",W,{passive:!0}),V("touchend",q,{passive:!0})),(e=b.props.trigger,e.split(/\s+/).filter(Boolean)).forEach((function(e){if("manual"!==e)switch(V(e,W),e){case"mouseenter":V("mouseleave",q);break;case"focus":V(lt?"focusout":"blur",Z);break;case"focusin":V("focusout",Z)}}))}function X(){v.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,i=e.options;t.removeEventListener(n,r,i)})),v=[]}function W(e){var t,n=!1;if(b.state.isEnabled&&!J(e)&&!p){var r="focus"===(null==(t=a)?void 0:t.type);a=e,c=e.currentTarget,F(),!b.state.isVisible&&Je(e)&&Ot.forEach((function(t){return t(e)})),"click"===e.type&&(b.props.trigger.indexOf("mouseenter")<0||d)&&!1!==b.props.hideOnClick&&b.state.isVisible?n=!0:te(e),"click"===e.type&&(d=!n),n&&!r&&ne(e)}}function Y(e){var t=e.target,n=A().contains(t)||O.contains(t);"mousemove"===e.type&&n||function(e,t){var n=t.clientX,r=t.clientY;return e.every((function(e){var t=e.popperRect,i=e.popperState,o=e.props.interactiveBorder,a=We(i.placement),u=i.modifiersData.offset;if(!u)return!0;var s="bottom"===a?u.top.y:0,c="top"===a?u.bottom.y:0,l="right"===a?u.left.x:0,f="left"===a?u.right.x:0,d=t.top-r+s>o,p=r-t.bottom-c>o,m=t.left-n+l>o,h=n-t.right-f>o;return d||p||m||h}))}(ee().concat(O).map((function(e){var t,n=null==(t=e._tippy.popperInstance)?void 0:t.state;return n?{popperRect:e.getBoundingClientRect(),popperState:n,props:f}:null})).filter(Boolean),e)&&(P(),ne(e))}function q(e){J(e)||b.props.trigger.indexOf("click")>=0&&d||(b.props.interactive?b.hideWithInteractivity(e):ne(e))}function Z(e){b.props.trigger.indexOf("focusin")<0&&e.target!==A()||b.props.interactive&&e.relatedTarget&&O.contains(e.relatedTarget)||ne(e)}function J(e){return!!it.isTouch&&k()!==e.type.indexOf("touch")>=0}function Q(){K();var t=b.props,n=t.popperOptions,r=t.placement,i=t.offset,o=t.getReferenceClientRect,a=t.moveTransition,u=L()?Et(O).arrow:null,c=o?{getBoundingClientRect:o,contextElement:o.contextElement||A()}:e,l=[{name:"offset",options:{offset:i}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!a}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;if(L()){var n=N().box;["placement","reference-hidden","escaped"].forEach((function(e){"placement"===e?n.setAttribute("data-placement",t.placement):t.attributes.popper["data-popper-"+e]?n.setAttribute("data-"+e,""):n.removeAttribute("data-"+e)})),t.attributes.popper={}}}}];L()&&u&&l.push({name:"arrow",options:{element:u,padding:3}}),l.push.apply(l,(null==n?void 0:n.modifiers)||[]),b.popperInstance=Be(c,O,Object.assign({},n,{placement:r,onFirstUpdate:s,modifiers:l}))}function K(){b.popperInstance&&(b.popperInstance.destroy(),b.popperInstance=null)}function ee(){return Ye(O.querySelectorAll("[data-tippy-root]"))}function te(e){b.clearDelayTimeouts(),e&&M("onTrigger",[b,e]),H();var t=j(!0),n=R(),i=n[0],o=n[1];it.isTouch&&"hold"===i&&o&&(t=o),t?r=setTimeout((function(){b.show()}),t):b.show()}function ne(e){if(b.clearDelayTimeouts(),M("onUntrigger",[b,e]),b.state.isVisible){if(!(b.props.trigger.indexOf("mouseenter")>=0&&b.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(e.type)>=0&&d)){var t=j(!1);t?i=setTimeout((function(){b.state.isVisible&&b.hide()}),t):o=requestAnimationFrame((function(){b.hide()}))}}else _()}}function It(e,t){void 0===t&&(t={});var n=dt.plugins.concat(t.plugins||[]);document.addEventListener("touchstart",at,Ue),window.addEventListener("blur",st);var r=Object.assign({},t,{plugins:n}),i=Ke(e).reduce((function(e,t){var n=t&&Tt(t,r);return n&&e.push(n),e}),[]);return Ze(e)?i[0]:i}It.defaultProps=dt,It.setDefaultProps=function(e){Object.keys(e).forEach((function(t){dt[t]=e[t]}))},It.currentInput=it;Object.assign({},Te,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}});It.setDefaultProps({render:bt});var Rt=It,kt=n(9);function Lt(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}var At="undefined"!=typeof window&&"undefined"!=typeof document;function St(e,t){e&&("function"==typeof e&&e(t),{}.hasOwnProperty.call(e,"current")&&(e.current=t))}function Nt(){return At&&document.createElement("div")}function jt(e){var t=[];return e.forEach((function(e){t.find((function(t){return function e(t,n){if(t===n)return!0;if("object"==typeof t&&null!=t&&"object"==typeof n&&null!=n){if(Object.keys(t).length!==Object.keys(n).length)return!1;for(var r in t){if(!n.hasOwnProperty(r))return!1;if(!e(t[r],n[r]))return!1}return!0}return!1}(e,t)}))||t.push(e)})),t}function Dt(e,t){var n,r;return Object.assign({},t,{popperOptions:Object.assign({},e.popperOptions,t.popperOptions,{modifiers:jt([].concat((null==(n=e.popperOptions)?void 0:n.modifiers)||[],(null==(r=t.popperOptions)?void 0:r.modifiers)||[]))})})}var Mt=At?i.useLayoutEffect:i.useEffect;function Ct(e){var t=Object(i.useRef)();return t.current||(t.current="function"==typeof e?e():e),t.current}function Ft(e,t,n){n.split(/\s+/).forEach((function(n){n&&e.classList[t](n)}))}var Pt={name:"className",defaultValue:"",fn:function(e){var t=e.popper.firstElementChild,n=function(){var t;return!!(null==(t=e.props.render)?void 0:t.$$tippy)};function r(){e.props.className&&!n()||Ft(t,"add",e.props.className)}return{onCreate:r,onBeforeUpdate:function(){n()&&Ft(t,"remove",e.props.className)},onAfterUpdate:r}}};function $t(e){return function(t){var n=t.children,r=t.content,a=t.visible,u=t.singleton,s=t.render,c=t.reference,l=t.disabled,f=void 0!==l&&l,d=t.ignoreAttributes,p=void 0===d||d,m=(t.__source,t.__self,Lt(t,["children","content","visible","singleton","render","reference","disabled","ignoreAttributes","__source","__self"])),h=void 0!==a,v=void 0!==u,g=Object(i.useState)(!1),y=g[0],E=g[1],b=Object(i.useState)({}),w=b[0],O=b[1],x=Object(i.useState)(),T=x[0],I=x[1],R=Ct((function(){return{container:Nt(),renders:1}})),k=Object.assign({ignoreAttributes:p},m,{content:R.container});h&&(k.trigger="manual",k.hideOnClick=!1),v&&(f=!0);var L=k,A=k.plugins||[];s&&(L=Object.assign({},k,{plugins:v?[].concat(A,[{fn:function(){return{onTrigger:function(e,t){var n=u.data.children.find((function(e){return e.instance.reference===t.currentTarget})).content;I(n)}}}}]):A,render:function(){return{popper:R.container}}}));var S=[c].concat(n?[n.type]:[]);return Mt((function(){var t=c;c&&c.hasOwnProperty("current")&&(t=c.current);var n=e(t||R.ref||Nt(),Object.assign({},L,{plugins:[Pt].concat(k.plugins||[])}));return R.instance=n,f&&n.disable(),a&&n.show(),v&&u.hook({instance:n,content:r,props:L}),E(!0),function(){n.destroy(),null==u||u.cleanup(n)}}),S),Mt((function(){var e;if(1!==R.renders){var t=R.instance;t.setProps(Dt(t.props,L)),null==(e=t.popperInstance)||e.forceUpdate(),f?t.disable():t.enable(),h&&(a?t.show():t.hide()),v&&u.hook({instance:t,content:r,props:L})}else R.renders++})),Mt((function(){var e;if(s){var t=R.instance;t.setProps({popperOptions:Object.assign({},t.props.popperOptions,{modifiers:[].concat(((null==(e=t.props.popperOptions)?void 0:e.modifiers)||[]).filter((function(e){return"$$tippyReact"!==e.name})),[{name:"$$tippyReact",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t,n=e.state,r=null==(t=n.modifiersData)?void 0:t.hide;w.placement===n.placement&&w.referenceHidden===(null==r?void 0:r.isReferenceHidden)&&w.escaped===(null==r?void 0:r.hasPopperEscaped)||O({placement:n.placement,referenceHidden:null==r?void 0:r.isReferenceHidden,escaped:null==r?void 0:r.hasPopperEscaped}),n.attributes.popper={}}}])})})}}),[w.placement,w.referenceHidden,w.escaped].concat(S)),o.a.createElement(o.a.Fragment,null,n?Object(i.cloneElement)(n,{ref:function(e){R.ref=e,St(n.ref,e)}}):null,y&&Object(kt.createPortal)(s?s(function(e){var t={"data-placement":e.placement};return e.referenceHidden&&(t["data-reference-hidden"]=""),e.escaped&&(t["data-escaped"]=""),t}(w),T,R.instance):r,R.container))}}var Bt,Ut,Ht,_t,Gt,Vt,zt,Xt,Wt,Yt,qt,Zt,Jt,Qt=function(e,t){return Object(i.forwardRef)((function(n,r){var a=n.children,u=Lt(n,["children"]);return o.a.createElement(e,Object.assign({},t,u),a?Object(i.cloneElement)(a,{ref:function(e){St(r,e),St(a.ref,e)}}):null)}))},Kt=Qt($t(Rt)),en=function(e){var t=e.content,n=e.children,r=Object(a.useTheme)(),i=tn(r);return o.a.createElement(Kt,{maxWidth:500,content:t,animation:!1,className:i.tooltip},n)},tn=Object(a.stylesFactory)((function(e){return{tooltip:Object(b.css)(Bt||(Bt=p(["\n border-radius: ",";\n background-color: ",";\n padding: ",";\n box-shadow: 0px 0px 20px ",";\n "],["\n border-radius: ",";\n background-color: ",";\n padding: ",";\n box-shadow: 0px 0px 20px ",";\n "])),e.border.radius.md,e.colors.bg2,e.spacing.sm,e.colors.dropdownShadow)}})),nn=function(e){var t=e.x,n=e.y,r=e.width,u=e.height,s=e.color,c=e.tooltip,l=e.links,d=Object(a.useTheme)(),m=f(Object(i.useState)({x:0,y:0}),2),h=m[0],v=m[1],g=f(Object(i.useState)(""),2),y=g[0],E=g[1],w=f(Object(i.useState)([]),2),O=w[0],x=w[1],T=f(Object(i.useState)(!1),2),I=T[0],R=T[1];return o.a.createElement(o.a.Fragment,null,I&&o.a.createElement(C,{x:h.x,y:h.y,onClose:function(){return R(!1)},renderHeader:function(){return y},renderMenuItems:function(){return O.filter((function(e){return e.items.length}))}}),o.a.createElement(en,{content:c},o.a.createElement("g",{className:Object(b.css)(Ut||(Ut=p(["\n cursor: pointer;\n "],["\n cursor: pointer;\n "]))),onClick:function(e){v({x:e.clientX,y:e.clientY}),R(!0),E(o.a.createElement("div",{className:Object(b.css)(Ht||(Ht=p(["\n padding: "," ",";\n "],["\n padding: "," ",";\n "])),d.spacing.xs,d.spacing.sm)},c)),x([{label:"Data links",items:l.map((function(e){return{label:e.title,ariaLabel:e.title,url:e.href,target:e.target,icon:"_self"===e.target?"link":"external-link-alt",onClick:e.onClick}}))}])}},o.a.createElement("rect",{fill:s,x:t,y:n,width:r,height:u,rx:d.border.radius.sm,ry:d.border.radius.sm}))))},rn=function(e){var t,n=e.textField,u=e.startField,c=e.endField,l=e.colorByField,m=e.groupByField,h=e.labelFields,v=e.width,g=e.height,y=e.timeRange,E=e.timeZone,w=e.onChangeTimeRange,O=e.experiments,x=e.sortBy,T=e.sortOrder,I=e.colors,k=e.showYAxis,A=f(Object(i.useState)(),2),N=A[0],D=A[1],M=Object(a.useTheme)(),C=an(M),F=Object(i.useRef)(null),P=f(Object(i.useState)(!1),2),$=P[0],B=P[1],U=f(Object(i.useState)(!1),2),H=U[0],_=U[1],G=f(Object(i.useState)({x:0,y:0}),2),V=G[0],z=G[1],X=f(Object(i.useState)({x:0,y:0}),2),W=X[0],Y=X[1],q=function(e){if(F.current){var t=F.current.getScreenCTM();if(t){var n=F.current.createSVGPoint();return n.x=e.x,n.y=e.x,n.matrixTransform(t.inverse())}}},Z=m?m.values.toArray().reduce((function(e,t,n){return e[t]||(e[t]=[]),e[t].push(n),e}),{}):{},J=Object.keys(Z).map((function(e){return{label:e,value:e}})),Q=null!=N?N:J.length>0?J[0].value:void 0,K=O.enabled?!O.lockToExtents:void 0===Q,ee=J.length>0&&Q?Z[Q]:n.values.toArray().map((function(e,t){return t})),te=S()(y.from.valueOf()),ne=S()(y.to.valueOf()),re=on(te,ne),ie=ee.filter((function(e){var t=S()(u.values.get(e)),n=S()(c.values.get(e));return re(t)||re(n)||t.isBefore(te)&&n.isAfter(ne)||O.enabled&&O.lockToExtents})).sort((function(e,t){var r=f("asc"===T?[e,t]:[t,e],2),i=r[0],o=r[1];switch(x){case"text":return n.values.get(i).localeCompare(n.values.get(o));case"startTime":return u.values.get(i)-u.values.get(o);default:return i-o}})),oe=d([],f(new Set(ie.map((function(e){return n.values.get(e)}))))),ae=null!==(t=L.max(oe.map((function(e){var t,n;return null!==(n=null===(t=function(e,t){var n=document.createElement("canvas").getContext("2d");if(n)return n.font=t+" sans-serif",n.measureText(e)}(e,M.typography.size.sm))||void 0===t?void 0:t.width)&&void 0!==n?n:0}))))&&void 0!==t?t:0,ue=10+(k?ae:0),se=0,ce=30+(J.length>0?40:0),le=v-ue-10,fe=g-se-ce,de=[ie.map((function(e){return u.values.get(e)})).reduce((function(e,t){var n=S()(t);return n.isBefore(e)?n:e}),S()()),ie.map((function(e){return c.values.get(e)})).reduce((function(e,t){var n=S()(t);return e.isBefore(n)?n:e}),S()(0))],pe=L.scaleTime().domain(O.enabled?O.lockToExtents?[de[0].toDate(),de[1].toDate()]:[te.toDate(),ne.toDate()]:[m?de[0].toDate():te.toDate(),m?de[1].toDate():ne.toDate()]).range([0,le]),me=L.scaleLinear().domain([0,le]).range([te.valueOf(),ne.valueOf()]),he=Math.max((1-.25*oe.length)/1.25,0),ve=L.scaleBand().domain(oe).range([0,fe]).padding(he),ge=L.axisBottom(pe).tickFormat((function(e){if(O.enabled&&O.relativeXAxis){var t=e-de[0].valueOf();return t<0?"":j()(t,{largest:1})}var n=pe.domain(),i=Object(a.graphTimeFormat)(pe.ticks().length,n[0].valueOf(),n[1].valueOf());return Object(r.dateTimeFormat)(e,{format:i,timeZone:E})})),ye=L.axisLeft(ve),Ee={x:W.x+(V.x-W.x<0?V.x-W.x:0),y:0,width:Math.abs(V.x-W.x),height:g-ce},be=ve.bandwidth()-2;return be<5?o.a.createElement("div",{className:"panel-empty"},o.a.createElement("p",null,"Too many tasks to visualize properly. ",o.a.createElement("br",null),"Update the query to return fewer tasks or increase the height of the panel.")):o.a.createElement("div",null,o.a.createElement("svg",{ref:F,className:C.svg,width:v,height:g-(J.length>0?40:0),xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",onMouseDown:function(e){_(!0);var t=q({x:e.clientX,y:e.clientY});t&&Y(t)},onMouseMove:function(e){var t=q({x:e.clientX,y:e.clientY});t&&(z(t),H&&K&&Math.sqrt(Math.pow(W.x-t.x,2)+Math.pow(W.y-t.y,2))>5&&B(!0))},onMouseUp:function(){_(!1),$&&K&&(w({from:me(Ee.x-ue),to:me(Ee.x+Ee.width-ue)}),B(!1))}},o.a.createElement("g",null,ie.map((function(e){var t,i=n.values.get(e),s=u.values.get(e),f=c.values.get(e),d=S()(s),p=S()(f),m=s?Math.max(pe(d.toDate()),0):0,v=f?Math.min(pe(p.toDate()),le):le,g=Math.max(v-m-2,1),y={x:m+ue,y:null!==(t=ve(i))&&void 0!==t?t:0},E=o.a.createElement("div",null,o.a.createElement("div",{className:C.tooltip.header},i),s&&o.a.createElement("div",{className:C.tooltip.value},"Started at: ",u.display(s).text),f&&o.a.createElement("div",{className:C.tooltip.value},"Ended at: ",c.display(f).text),o.a.createElement("div",{className:C.tooltip.faint},j()((f||Date.now())-s,{largest:2})),o.a.createElement("div",null,h.filter((function(t){return null==t?void 0:t.values.get(e)})).map((function(t){return null==t?void 0:t.display(null==t?void 0:t.values.get(e))})).map(R).map((function(e,t){return o.a.createElement(a.Badge,{key:t,className:C.tooltip.badge,text:null!=e?e:"",color:"blue"})})))),b=l?l.type===r.FieldType.number?l.display(l.values.get(e)).color:function(e,t,n){var i,o=(null!=n?n:[]).find((function(t){return t.text===e}));return Object(r.getColorForTheme)(null!==(i=null==o?void 0:o.color)&&void 0!==i?i:"green",t)}(l.values.get(e),M,I):"black";return o.a.createElement(nn,{key:e,x:y.x,y:y.y,width:g,height:be,color:b,tooltip:E,links:n.getLinks({valueRowIndex:e})})}))),K&&$&&o.a.createElement("rect",s({fill:M.colors.text,opacity:.1,pointerEvents:"none"},Ee)),o.a.createElement("g",{transform:"translate("+ue+", "+(g-(se+ce))+")",ref:function(e){L.select(e).call(ge)},className:Object(b.css)(_t||(_t=p(["\n font-family: ",";\n font-size: ",";\n "],["\n font-family: ",";\n font-size: ",";\n "])),M.typography.fontFamily.sansSerif,M.typography.size.sm)}),k&&o.a.createElement("g",{transform:"translate("+ue+", 0)",ref:function(e){L.select(e).call(ye)},className:Object(b.css)(Gt||(Gt=p(["\n font-family: ",";\n font-size: ",";\n "],["\n font-family: ",";\n font-size: ",";\n "])),M.typography.fontFamily.sansSerif,M.typography.size.sm)})),J.length>0?o.a.createElement("div",{className:C.frameSelect},o.a.createElement(a.Select,{onChange:function(e){D(e.value)},value:Q,options:J})):null)},on=function(e,t){return function(n){return!(n.isBefore(e)||n.isAfter(t))}},an=Object(a.stylesFactory)((function(e){return{svg:Object(b.css)(Vt||(Vt=p(["\n flex: 1;\n "],["\n flex: 1;\n "]))),root:Object(b.css)(zt||(zt=p(["\n display: flex;\n flex-direction: column;\n "],["\n display: flex;\n flex-direction: column;\n "]))),frameSelect:Object(b.css)(Xt||(Xt=p([""],[""]))),tooltip:{root:Object(b.css)(Wt||(Wt=p(["\n border-radius: ",";\n background-color: ",";\n padding: ",";\n box-shadow: 0px 0px 20px ",";\n "],["\n border-radius: ",";\n background-color: ",";\n padding: ",";\n box-shadow: 0px 0px 20px ",";\n "])),e.border.radius.md,e.colors.bg2,e.spacing.sm,e.colors.dropdownShadow),header:Object(b.css)(Yt||(Yt=p(["\n font-weight: ",";\n font-size: ",";\n margin-bottom: ",";\n color: ",";\n "],["\n font-weight: ",";\n font-size: ",";\n margin-bottom: ",";\n color: ",";\n "])),e.typography.weight.semibold,e.typography.size.md,e.spacing.sm,e.colors.text),value:Object(b.css)(qt||(qt=p(["\n font-size: ",";\n margin-bottom: ",";\n "],["\n font-size: ",";\n margin-bottom: ",";\n "])),e.typography.size.md,e.spacing.xs),faint:Object(b.css)(Zt||(Zt=p(["\n font-size: ",";\n margin-bottom: ",";\n color: ",";\n "],["\n font-size: ",";\n margin-bottom: ",";\n color: ",";\n "])),e.typography.size.md,e.spacing.xs,e.colors.textSemiWeak),badge:Object(b.css)(Jt||(Jt=p(["\n margin-right: ",";\n &:last-child {\n margin-right: 0;\n }\n overflow: hidden;\n max-width: 100%;\n "],["\n margin-right: ",";\n &:last-child {\n margin-right: 0;\n }\n overflow: hidden;\n max-width: 100%;\n "])),e.spacing.xs)}}})),un={schema:[{type:r.FieldType.string,description:"Task name"},{type:r.FieldType.time,description:"Task start time"},{type:r.FieldType.time,description:"Task end time"}],url:"https://github.com/marcusolsson/grafana-gantt-panel"};n.d(t,"plugin",(function(){return ln}));var sn,cn,ln=(sn="marcusolsson-gantt-panel",cn=new r.PanelPlugin((function(e){var t,n,i=e.options,u=e.data,c=e.width,l=e.height,f=e.timeRange,d=e.onChangeTimeRange,p=e.timeZone,m=Object(a.useTheme)(),h=i.colors,v=u.series[0];if(!v)return o.a.createElement("div",{style:{width:c,height:l}},o.a.createElement(w,s({},un)));var g=i.textField?v.fields.find((function(e){return e.name===i.textField})):v.fields.find((function(e){return e.type===r.FieldType.string})),y=I(i.startField?v.fields.find((function(e){return e.name===i.startField})):v.fields.find((function(e){return e.type===r.FieldType.time})),p,m),E=I(i.endField?v.fields.find((function(e){return e.name===i.endField})):v.fields.filter((function(e){return e!==y})).find((function(e){return e.type===r.FieldType.time})),p,m);if(!g||!y||!E)return o.a.createElement("div",{style:{width:c,height:l}},o.a.createElement(w,s({},un,{fields:v.fields.map((function(e){return y&&y.name===e.name?y:E&&E.name===e.name?E:e}))})));var b=i.colorByField?v.fields.find((function(e){return e.name===i.colorByField})):g,O=v.fields.find((function(e){return e.name===i.groupByField})),x=null!==(n=null===(t=i.labelFields)||void 0===t?void 0:t.map((function(e){return v.fields.find((function(t){return t.name===e}))})))&&void 0!==n?n:[];return o.a.createElement(rn,{textField:g,startField:y,endField:E,colorByField:null!=b?b:g,groupByField:O,labelFields:x,timeRange:f,timeZone:p,width:c,height:l,onChangeTimeRange:d,experiments:i.experiments,sortBy:i.sortBy,sortOrder:i.sortOrder,colors:h,showYAxis:i.showYAxis})})).useFieldConfig().setPanelOptions((function(e){return e.addBooleanSwitch({path:"experiments.enabled",name:"Enable experiments",description:"Try out new features that we're working on. Be aware that experiments can be unstable and may break your panel. Use at your own risk.",category:["Experiments"]}).addBooleanSwitch({path:"experiments.lockToExtents",name:"Lock to extents",description:"Locks the view to the oldest start time and the most recent end time. This disables zooming.",category:["Experiments"],showIf:function(e){return e.experiments.enabled}}).addBooleanSwitch({path:"experiments.relativeXAxis",name:"Relative time",description:"Displays the duration since the start of the first task.",category:["Experiments"],showIf:function(e){return e.experiments.enabled}}).addCustomEditor({id:"textField",path:"textField",name:"Text",description:"Field to use for the text. Must be unique. Defaults to the first textual field.",editor:u,category:["Dimensions"],settings:{filterByType:[r.FieldType.string]}}).addCustomEditor({id:"startField",path:"startField",name:"Start time",description:"Field to use for the start time. Defaults to the first time field.",editor:u,category:["Dimensions"],settings:{filterByType:[r.FieldType.time,r.FieldType.string,r.FieldType.number]}}).addCustomEditor({id:"endField",path:"endField",name:"End time",description:"Field to use for the end time. Defaults to the second time field.",editor:u,category:["Dimensions"],settings:{filterByType:[r.FieldType.time,r.FieldType.string,r.FieldType.number]}}).addCustomEditor({id:"colorByField",path:"colorByField",name:"Color by",description:"Field to use for colors. Defaults to the text field.",editor:u,category:["Dimensions"],settings:{filterByType:[r.FieldType.string,r.FieldType.number]}}).addCustomEditor({id:"groupByField",path:"groupByField",name:"Group by",description:"Field to use for grouping.",editor:u,category:["Dimensions"],settings:{filterByType:[r.FieldType.string]}}).addCustomEditor({id:"labelFields",path:"labelFields",name:"Labels",description:"Fields to use as labels in the tooltip.",category:["Dimensions"],editor:u,settings:{multi:!0}}).addBooleanSwitch({path:"showYAxis",name:"Show Y-axis",defaultValue:!0}).addSelect({path:"sortBy",name:"Sort by",defaultValue:"startTime",settings:{options:[{label:"Text",value:"text",description:"Sort tasks alphabetically by their text"},{label:"Start time",value:"startTime",description:"Sort tasks chronologically by their start time"}]}}).addSelect({path:"sortOrder",name:"Sort order",defaultValue:"asc",settings:{options:[{label:"Ascending",value:"asc",description:"A-Z if sorting by text, or oldest to most recent if sorting by time"},{label:"Descending",value:"desc",description:"Z-A if sorting by text, or most recent to oldest if sorting by time"}]}}).addCustomEditor({id:"colors",path:"colors",name:"Color mappings",editor:k,showIf:function(e,t){if(!t||!t.length)return!1;var n=t[0],i=e.textField?n.fields.find((function(t){return t.name===e.textField})):n.fields.find((function(e){return e.type===r.FieldType.string})),o=e.colorByField?n.fields.find((function(t){return t.name===e.colorByField})):i;return!!o&&o.type===r.FieldType.string}})})),c(void 0,void 0,void 0,(function(){var e,t;return l(this,(function(n){switch(n.label){case 0:return[4,Object(x.getBackendSrv)().datasourceRequest({url:"/public/plugins/"+sn+"/plugin.json"})];case 1:return e=n.sent(),t=e.data,Object(T.satisfies)(x.config.buildInfo.version,t.dependencies.grafanaDependency,{includePrerelease:!0})?[2,cn]:[2,new r.PanelPlugin((function(e){var n=e.width,r=e.height;return o.a.createElement("div",{style:{width:n,height:r}},o.a.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"}},o.a.createElement("div",null,o.a.createElement("p",null,o.a.createElement("strong",null,"Error loading: "+t.id)),"This plugin requires a more recent version of Grafana ("+t.dependencies.grafanaDependency+").")))}))]}}))})))}])})); +define(["react","@grafana/data","@grafana/ui","emotion","d3","@grafana/runtime","react-dom"],(function(e,t,n,r,i,o,a){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=13)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t){e.exports=r},function(e,t,n){e.exports=function(){"use strict";var e=6e4,t=36e5,n="millisecond",r="second",i="minute",o="hour",a="day",u="week",s="month",c="quarter",l="year",f="date",d="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},v=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},g={s:v,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?"+":"-")+v(r,2,"0")+":"+v(i,2,"0")},m:function e(t,n){if(t.date())?=?)",c("XRANGEIDENTIFIERLOOSE"),a[u.XRANGEIDENTIFIERLOOSE]=a[u.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",c("XRANGEIDENTIFIER"),a[u.XRANGEIDENTIFIER]=a[u.NUMERICIDENTIFIER]+"|x|X|\\*",c("XRANGEPLAIN"),a[u.XRANGEPLAIN]="[v=\\s]*("+a[u.XRANGEIDENTIFIER]+")(?:\\.("+a[u.XRANGEIDENTIFIER]+")(?:\\.("+a[u.XRANGEIDENTIFIER]+")(?:"+a[u.PRERELEASE]+")?"+a[u.BUILD]+"?)?)?",c("XRANGEPLAINLOOSE"),a[u.XRANGEPLAINLOOSE]="[v=\\s]*("+a[u.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+a[u.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+a[u.XRANGEIDENTIFIERLOOSE]+")(?:"+a[u.PRERELEASELOOSE]+")?"+a[u.BUILD]+"?)?)?",c("XRANGE"),a[u.XRANGE]="^"+a[u.GTLT]+"\\s*"+a[u.XRANGEPLAIN]+"$",c("XRANGELOOSE"),a[u.XRANGELOOSE]="^"+a[u.GTLT]+"\\s*"+a[u.XRANGEPLAINLOOSE]+"$",c("COERCE"),a[u.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",c("COERCERTL"),o[u.COERCERTL]=new RegExp(a[u.COERCE],"g"),c("LONETILDE"),a[u.LONETILDE]="(?:~>?)",c("TILDETRIM"),a[u.TILDETRIM]="(\\s*)"+a[u.LONETILDE]+"\\s+",o[u.TILDETRIM]=new RegExp(a[u.TILDETRIM],"g");c("TILDE"),a[u.TILDE]="^"+a[u.LONETILDE]+a[u.XRANGEPLAIN]+"$",c("TILDELOOSE"),a[u.TILDELOOSE]="^"+a[u.LONETILDE]+a[u.XRANGEPLAINLOOSE]+"$",c("LONECARET"),a[u.LONECARET]="(?:\\^)",c("CARETTRIM"),a[u.CARETTRIM]="(\\s*)"+a[u.LONECARET]+"\\s+",o[u.CARETTRIM]=new RegExp(a[u.CARETTRIM],"g");c("CARET"),a[u.CARET]="^"+a[u.LONECARET]+a[u.XRANGEPLAIN]+"$",c("CARETLOOSE"),a[u.CARETLOOSE]="^"+a[u.LONECARET]+a[u.XRANGEPLAINLOOSE]+"$",c("COMPARATORLOOSE"),a[u.COMPARATORLOOSE]="^"+a[u.GTLT]+"\\s*("+a[u.LOOSEPLAIN]+")$|^$",c("COMPARATOR"),a[u.COMPARATOR]="^"+a[u.GTLT]+"\\s*("+a[u.FULLPLAIN]+")$|^$",c("COMPARATORTRIM"),a[u.COMPARATORTRIM]="(\\s*)"+a[u.GTLT]+"\\s*("+a[u.LOOSEPLAIN]+"|"+a[u.XRANGEPLAIN]+")",o[u.COMPARATORTRIM]=new RegExp(a[u.COMPARATORTRIM],"g");c("HYPHENRANGE"),a[u.HYPHENRANGE]="^\\s*("+a[u.XRANGEPLAIN]+")\\s+-\\s+("+a[u.XRANGEPLAIN]+")\\s*$",c("HYPHENRANGELOOSE"),a[u.HYPHENRANGELOOSE]="^\\s*("+a[u.XRANGEPLAINLOOSE]+")\\s+-\\s+("+a[u.XRANGEPLAINLOOSE]+")\\s*$",c("STAR"),a[u.STAR]="(<|>)?=?\\s*\\*";for(var l=0;l256)return null;if(!(t.loose?o[u.LOOSE]:o[u.FULL]).test(e))return null;try{return new d(e,t)}catch(e){return null}}function d(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof d){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof d))return new d(e,t);r("SemVer",e,t),this.options=t,this.loose=!!t.loose;var n=e.trim().match(t.loose?o[u.LOOSE]:o[u.FULL]);if(!n)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);-1===n&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,n,r){"string"==typeof n&&(r=n,n=void 0);try{return new d(e,n).inc(t,r).version}catch(e){return null}},t.diff=function(e,t){if(y(e,t))return null;var n=f(e),r=f(t),i="";if(n.prerelease.length||r.prerelease.length){i="pre";var o="prerelease"}for(var a in n)if(("major"===a||"minor"===a||"patch"===a)&&n[a]!==r[a])return i+a;return o},t.compareIdentifiers=m;var p=/^[0-9]+$/;function m(e,t){var n=p.test(e),r=p.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:e0}function g(e,t,n){return h(e,t,n)<0}function y(e,t,n){return 0===h(e,t,n)}function E(e,t,n){return 0!==h(e,t,n)}function b(e,t,n){return h(e,t,n)>=0}function w(e,t,n){return h(e,t,n)<=0}function O(e,t,n,r){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return y(e,n,r);case"!=":return E(e,n,r);case">":return v(e,n,r);case">=":return b(e,n,r);case"<":return g(e,n,r);case"<=":return w(e,n,r);default:throw new TypeError("Invalid operator: "+t)}}function x(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof x){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof x))return new x(e,t);r("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===T?this.value="":this.value=this.operator+this.semver.version,r("comp",this)}t.rcompareIdentifiers=function(e,t){return m(t,e)},t.major=function(e,t){return new d(e,t).major},t.minor=function(e,t){return new d(e,t).minor},t.patch=function(e,t){return new d(e,t).patch},t.compare=h,t.compareLoose=function(e,t){return h(e,t,!0)},t.compareBuild=function(e,t,n){var r=new d(e,n),i=new d(t,n);return r.compare(i)||r.compareBuild(i)},t.rcompare=function(e,t,n){return h(t,e,n)},t.sort=function(e,n){return e.sort((function(e,r){return t.compareBuild(e,r,n)}))},t.rsort=function(e,n){return e.sort((function(e,r){return t.compareBuild(r,e,n)}))},t.gt=v,t.lt=g,t.eq=y,t.neq=E,t.gte=b,t.lte=w,t.cmp=O,t.Comparator=x;var T={};function I(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof I)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new I(e.raw,t);if(e instanceof x)return new I(e.value,t);if(!(this instanceof I))return new I(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((function(e){return this.parseRange(e.trim())}),this).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function R(e,t){for(var n=!0,r=e.slice(),i=r.pop();n&&r.length;)n=r.every((function(e){return i.intersects(e,t)})),i=r.pop();return n}function k(e){return!e||"x"===e.toLowerCase()||"*"===e}function L(e,t,n,r,i,o,a,u,s,c,l,f,d){return((t=k(n)?"":k(r)?">="+n+".0.0":k(i)?">="+n+"."+r+".0":">="+t)+" "+(u=k(s)?"":k(c)?"<"+(+s+1)+".0.0":k(l)?"<"+s+"."+(+c+1)+".0":f?"<="+s+"."+c+"."+l+"-"+f:"<="+u)).trim()}function A(e,t,n){for(var i=0;i0){var o=e[i].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function S(e,t,n){try{t=new I(t,n)}catch(e){return!1}return t.test(e)}function N(e,t,n,r){var i,o,a,u,s;switch(e=new d(e,r),t=new I(t,r),n){case">":i=v,o=w,a=g,u=">",s=">=";break;case"<":i=g,o=b,a=v,u="<",s="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(S(e,t,r))return!1;for(var c=0;c=0.0.0")),f=f||e,p=p||e,i(e.semver,f.semver,r)?f=e:a(e.semver,p.semver,r)&&(p=e)})),f.operator===u||f.operator===s)return!1;if((!p.operator||p.operator===u)&&o(e,p.semver))return!1;if(p.operator===s&&a(e,p.semver))return!1}return!0}x.prototype.parse=function(e){var t=this.options.loose?o[u.COMPARATORLOOSE]:o[u.COMPARATOR],n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new d(n[2],this.options.loose):this.semver=T},x.prototype.toString=function(){return this.value},x.prototype.test=function(e){if(r("Comparator.test",e,this.options.loose),this.semver===T||e===T)return!0;if("string"==typeof e)try{e=new d(e,this.options)}catch(e){return!1}return O(e,this.operator,this.semver,this.options)},x.prototype.intersects=function(e,t){if(!(e instanceof x))throw new TypeError("a Comparator is required");var n;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||(n=new I(e.value,t),S(this.value,n,t));if(""===e.operator)return""===e.value||(n=new I(this.value,t),S(e.semver,n,t));var r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),i=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,a=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),u=O(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),s=O(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||i||o&&a||u||s},t.Range=I,I.prototype.format=function(){return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range},I.prototype.toString=function(){return this.range},I.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var n=t?o[u.HYPHENRANGELOOSE]:o[u.HYPHENRANGE];e=e.replace(n,L),r("hyphen replace",e),e=e.replace(o[u.COMPARATORTRIM],"$1$2$3"),r("comparator trim",e,o[u.COMPARATORTRIM]),e=(e=(e=e.replace(o[u.TILDETRIM],"$1~")).replace(o[u.CARETTRIM],"$1^")).split(/\s+/).join(" ");var i=t?o[u.COMPARATORLOOSE]:o[u.COMPARATOR],a=e.split(" ").map((function(e){return function(e,t){return r("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){r("caret",e,t);var n=t.loose?o[u.CARETLOOSE]:o[u.CARET];return e.replace(n,(function(t,n,i,o,a){var u;return r("caret",e,t,n,i,o,a),k(n)?u="":k(i)?u=">="+n+".0.0 <"+(+n+1)+".0.0":k(o)?u="0"===n?">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0":">="+n+"."+i+".0 <"+(+n+1)+".0.0":a?(r("replaceCaret pr",a),u="0"===n?"0"===i?">="+n+"."+i+"."+o+"-"+a+" <"+n+"."+i+"."+(+o+1):">="+n+"."+i+"."+o+"-"+a+" <"+n+"."+(+i+1)+".0":">="+n+"."+i+"."+o+"-"+a+" <"+(+n+1)+".0.0"):(r("no pr"),u="0"===n?"0"===i?">="+n+"."+i+"."+o+" <"+n+"."+i+"."+(+o+1):">="+n+"."+i+"."+o+" <"+n+"."+(+i+1)+".0":">="+n+"."+i+"."+o+" <"+(+n+1)+".0.0"),r("caret return",u),u}))}(e,t)})).join(" ")}(e,t),r("caret",e),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){var n=t.loose?o[u.TILDELOOSE]:o[u.TILDE];return e.replace(n,(function(t,n,i,o,a){var u;return r("tilde",e,t,n,i,o,a),k(n)?u="":k(i)?u=">="+n+".0.0 <"+(+n+1)+".0.0":k(o)?u=">="+n+"."+i+".0 <"+n+"."+(+i+1)+".0":a?(r("replaceTilde pr",a),u=">="+n+"."+i+"."+o+"-"+a+" <"+n+"."+(+i+1)+".0"):u=">="+n+"."+i+"."+o+" <"+n+"."+(+i+1)+".0",r("tilde return",u),u}))}(e,t)})).join(" ")}(e,t),r("tildes",e),e=function(e,t){return r("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return function(e,t){e=e.trim();var n=t.loose?o[u.XRANGELOOSE]:o[u.XRANGE];return e.replace(n,(function(n,i,o,a,u,s){r("xRange",e,n,i,o,a,u,s);var c=k(o),l=c||k(a),f=l||k(u),d=f;return"="===i&&d&&(i=""),s=t.includePrerelease?"-0":"",c?n=">"===i||"<"===i?"<0.0.0-0":"*":i&&d?(l&&(a=0),u=0,">"===i?(i=">=",l?(o=+o+1,a=0,u=0):(a=+a+1,u=0)):"<="===i&&(i="<",l?o=+o+1:a=+a+1),n=i+o+"."+a+"."+u+s):l?n=">="+o+".0.0"+s+" <"+(+o+1)+".0.0"+s:f&&(n=">="+o+"."+a+".0"+s+" <"+o+"."+(+a+1)+".0"+s),r("xRange return",n),n}))}(e,t)})).join(" ")}(e,t),r("xrange",e),e=function(e,t){return r("replaceStars",e,t),e.trim().replace(o[u.STAR],"")}(e,t),r("stars",e),e}(e,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(a=a.filter((function(e){return!!e.match(i)}))),a=a.map((function(e){return new x(e,this.options)}),this)},I.prototype.intersects=function(e,t){if(!(e instanceof I))throw new TypeError("a Range is required");return this.set.some((function(n){return R(n,t)&&e.set.some((function(e){return R(e,t)&&n.every((function(n){return e.every((function(e){return n.intersects(e,t)}))}))}))}))},t.toComparators=function(e,t){return new I(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))},I.prototype.test=function(e){if(!e)return!1;if("string"==typeof e)try{e=new d(e,this.options)}catch(e){return!1}for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":n&&!v(n,t)||(n=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}))}if(n&&e.test(n))return n;return null},t.validRange=function(e,t){try{return new I(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,n){return N(e,t,"<",n)},t.gtr=function(e,t,n){return N(e,t,">",n)},t.outside=N,t.prerelease=function(e,t){var n=f(e,t);return n&&n.prerelease.length?n.prerelease:null},t.intersects=function(e,t,n){return e=new I(e,n),t=new I(t,n),e.intersects(t)},t.coerce=function(e,t){if(e instanceof d)return e;"number"==typeof e&&(e=String(e));if("string"!=typeof e)return null;var n=null;if((t=t||{}).rtl){for(var r;(r=o[u.COERCERTL].exec(e))&&(!n||n.index+n[0].length!==e.length);)n&&r.index+r[0].length===n.index+n[0].length||(n=r),o[u.COERCERTL].lastIndex=r.index+r[1].length+r[2].length;o[u.COERCERTL].lastIndex=-1}else n=e.match(o[u.COERCE]);if(null===n)return null;return f(n[2]+"."+(n[3]||"0")+"."+(n[4]||"0"),t)}}).call(this,n(12))},function(e,t){e.exports=i},function(e,t){e.exports=o},function(e,t,n){var r;!function(){var i={y:function(e){return 1===e?"χρόνος":"χρόνια"},mo:function(e){return 1===e?"μήνας":"μήνες"},w:function(e){return 1===e?"εβδομάδα":"εβδομάδες"},d:function(e){return 1===e?"μέρα":"μέρες"},h:function(e){return 1===e?"ώρα":"ώρες"},m:function(e){return 1===e?"λεπτό":"λεπτά"},s:function(e){return 1===e?"δευτερόλεπτο":"δευτερόλεπτα"},ms:function(e){return 1===e?"χιλιοστό του δευτερολέπτου":"χιλιοστά του δευτερολέπτου"},decimal:","},o=["۰","١","٢","٣","٤","٥","٦","٧","٨","٩"],a={af:{y:"jaar",mo:function(e){return"maand"+(1===e?"":"e")},w:function(e){return 1===e?"week":"weke"},d:function(e){return 1===e?"dag":"dae"},h:function(e){return 1===e?"uur":"ure"},m:function(e){return 1===e?"minuut":"minute"},s:function(e){return"sekonde"+(1===e?"":"s")},ms:function(e){return"millisekonde"+(1===e?"":"s")},decimal:","},ar:{y:function(e){return["سنة","سنتان","سنوات"][f(e)]},mo:function(e){return["شهر","شهران","أشهر"][f(e)]},w:function(e){return["أسبوع","أسبوعين","أسابيع"][f(e)]},d:function(e){return["يوم","يومين","أيام"][f(e)]},h:function(e){return["ساعة","ساعتين","ساعات"][f(e)]},m:function(e){return["دقيقة","دقيقتان","دقائق"][f(e)]},s:function(e){return["ثانية","ثانيتان","ثواني"][f(e)]},ms:function(e){return["جزء من الثانية","جزآن من الثانية","أجزاء من الثانية"][f(e)]},decimal:",",delimiter:" و ",_formatCount:function(e,t){for(var n=l(o,{".":t}),r=e.toString().split(""),i=0;i=2?"s":"")},mo:"mois",w:function(e){return"semaine"+(e>=2?"s":"")},d:function(e){return"jour"+(e>=2?"s":"")},h:function(e){return"heure"+(e>=2?"s":"")},m:function(e){return"minute"+(e>=2?"s":"")},s:function(e){return"seconde"+(e>=2?"s":"")},ms:function(e){return"milliseconde"+(e>=2?"s":"")},decimal:","},gr:i,he:{y:function(e){return 1===e?"שנה":"שנים"},mo:function(e){return 1===e?"חודש":"חודשים"},w:function(e){return 1===e?"שבוע":"שבועות"},d:function(e){return 1===e?"יום":"ימים"},h:function(e){return 1===e?"שעה":"שעות"},m:function(e){return 1===e?"דקה":"דקות"},s:function(e){return 1===e?"שניה":"שניות"},ms:function(e){return 1===e?"מילישנייה":"מילישניות"},decimal:"."},hr:{y:function(e){return e%10==2||e%10==3||e%10==4?"godine":"godina"},mo:function(e){return 1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci"},w:function(e){return e%10==1&&11!==e?"tjedan":"tjedna"},d:function(e){return 1===e?"dan":"dana"},h:function(e){return 1===e?"sat":2===e||3===e||4===e?"sata":"sati"},m:function(e){var t=e%10;return 2!==t&&3!==t&&4!==t||!(e<10||e>14)?"minuta":"minute"},s:function(e){var t=e%10;return 5===t||Math.floor(e)===e&&e>=10&&e<=19?"sekundi":1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi"},ms:function(e){return 1===e?"milisekunda":e%10==2||e%10==3||e%10==4?"milisekunde":"milisekundi"},decimal:","},hi:{y:"साल",mo:function(e){return 1===e?"महीना":"महीने"},w:function(e){return 1===e?"हफ़्ता":"हफ्ते"},d:"दिन",h:function(e){return 1===e?"घंटा":"घंटे"},m:"मिनट",s:"सेकंड",ms:"मिलीसेकंड",decimal:"."},hu:{y:"év",mo:"hónap",w:"hét",d:"nap",h:"óra",m:"perc",s:"másodperc",ms:"ezredmásodperc",decimal:","},id:{y:"tahun",mo:"bulan",w:"minggu",d:"hari",h:"jam",m:"menit",s:"detik",ms:"milidetik",decimal:"."},is:{y:"ár",mo:function(e){return"mánuð"+(1===e?"ur":"ir")},w:function(e){return"vik"+(1===e?"a":"ur")},d:function(e){return"dag"+(1===e?"ur":"ar")},h:function(e){return"klukkutím"+(1===e?"i":"ar")},m:function(e){return"mínút"+(1===e?"a":"ur")},s:function(e){return"sekúnd"+(1===e?"a":"ur")},ms:function(e){return"millisekúnd"+(1===e?"a":"ur")},decimal:"."},it:{y:function(e){return"ann"+(1===e?"o":"i")},mo:function(e){return"mes"+(1===e?"e":"i")},w:function(e){return"settiman"+(1===e?"a":"e")},d:function(e){return"giorn"+(1===e?"o":"i")},h:function(e){return"or"+(1===e?"a":"e")},m:function(e){return"minut"+(1===e?"o":"i")},s:function(e){return"second"+(1===e?"o":"i")},ms:function(e){return"millisecond"+(1===e?"o":"i")},decimal:","},ja:{y:"年",mo:"月",w:"週",d:"日",h:"時間",m:"分",s:"秒",ms:"ミリ秒",decimal:"."},km:{y:"ឆ្នាំ",mo:"ខែ",w:"សប្តាហ៍",d:"ថ្ងៃ",h:"ម៉ោង",m:"នាទី",s:"វិនាទី",ms:"មិល្លីវិនាទី"},kn:{y:function(e){return 1===e?"ವರ್ಷ":"ವರ್ಷಗಳು"},mo:function(e){return 1===e?"ತಿಂಗಳು":"ತಿಂಗಳುಗಳು"},w:function(e){return 1===e?"ವಾರ":"ವಾರಗಳು"},d:function(e){return 1===e?"ದಿನ":"ದಿನಗಳು"},h:function(e){return 1===e?"ಗಂಟೆ":"ಗಂಟೆಗಳು"},m:function(e){return 1===e?"ನಿಮಿಷ":"ನಿಮಿಷಗಳು"},s:function(e){return 1===e?"ಸೆಕೆಂಡ್":"ಸೆಕೆಂಡುಗಳು"},ms:function(e){return 1===e?"ಮಿಲಿಸೆಕೆಂಡ್":"ಮಿಲಿಸೆಕೆಂಡುಗಳು"}},ko:{y:"년",mo:"개월",w:"주일",d:"일",h:"시간",m:"분",s:"초",ms:"밀리 초",decimal:"."},ku:{y:"sal",mo:"meh",w:"hefte",d:"roj",h:"seet",m:"deqe",s:"saniye",ms:"mîlîçirk",decimal:","},lo:{y:"ປີ",mo:"ເດືອນ",w:"ອາທິດ",d:"ມື້",h:"ຊົ່ວໂມງ",m:"ນາທີ",s:"ວິນາທີ",ms:"ມິນລິວິນາທີ",decimal:","},lt:{y:function(e){return e%10==0||e%100>=10&&e%100<=20?"metų":"metai"},mo:function(e){return["mėnuo","mėnesiai","mėnesių"][h(e)]},w:function(e){return["savaitė","savaitės","savaičių"][h(e)]},d:function(e){return["diena","dienos","dienų"][h(e)]},h:function(e){return["valanda","valandos","valandų"][h(e)]},m:function(e){return["minutė","minutės","minučių"][h(e)]},s:function(e){return["sekundė","sekundės","sekundžių"][h(e)]},ms:function(e){return["milisekundė","milisekundės","milisekundžių"][h(e)]},decimal:","},lv:{y:function(e){return v(e)?"gads":"gadi"},mo:function(e){return v(e)?"mēnesis":"mēneši"},w:function(e){return v(e)?"nedēļa":"nedēļas"},d:function(e){return v(e)?"diena":"dienas"},h:function(e){return v(e)?"stunda":"stundas"},m:function(e){return v(e)?"minūte":"minūtes"},s:function(e){return v(e)?"sekunde":"sekundes"},ms:function(e){return v(e)?"milisekunde":"milisekundes"},decimal:","},mk:{y:function(e){return 1===e?"година":"години"},mo:function(e){return 1===e?"месец":"месеци"},w:function(e){return 1===e?"недела":"недели"},d:function(e){return 1===e?"ден":"дена"},h:function(e){return 1===e?"час":"часа"},m:function(e){return 1===e?"минута":"минути"},s:function(e){return 1===e?"секунда":"секунди"},ms:function(e){return 1===e?"милисекунда":"милисекунди"},decimal:","},mr:{y:function(e){return 1===e?"वर्ष":"वर्षे"},mo:function(e){return 1===e?"महिना":"महिने"},w:function(e){return 1===e?"आठवडा":"आठवडे"},d:"दिवस",h:"तास",m:function(e){return 1===e?"मिनिट":"मिनिटे"},s:"सेकंद",ms:"मिलिसेकंद"},ms:{y:"tahun",mo:"bulan",w:"minggu",d:"hari",h:"jam",m:"minit",s:"saat",ms:"milisaat",decimal:"."},nl:{y:"jaar",mo:function(e){return 1===e?"maand":"maanden"},w:function(e){return 1===e?"week":"weken"},d:function(e){return 1===e?"dag":"dagen"},h:"uur",m:function(e){return 1===e?"minuut":"minuten"},s:function(e){return 1===e?"seconde":"seconden"},ms:function(e){return 1===e?"milliseconde":"milliseconden"},decimal:","},no:{y:"år",mo:function(e){return"måned"+(1===e?"":"er")},w:function(e){return"uke"+(1===e?"":"r")},d:function(e){return"dag"+(1===e?"":"er")},h:function(e){return"time"+(1===e?"":"r")},m:function(e){return"minutt"+(1===e?"":"er")},s:function(e){return"sekund"+(1===e?"":"er")},ms:function(e){return"millisekund"+(1===e?"":"er")},decimal:","},pl:{y:function(e){return["rok","roku","lata","lat"][d(e)]},mo:function(e){return["miesiąc","miesiąca","miesiące","miesięcy"][d(e)]},w:function(e){return["tydzień","tygodnia","tygodnie","tygodni"][d(e)]},d:function(e){return["dzień","dnia","dni","dni"][d(e)]},h:function(e){return["godzina","godziny","godziny","godzin"][d(e)]},m:function(e){return["minuta","minuty","minuty","minut"][d(e)]},s:function(e){return["sekunda","sekundy","sekundy","sekund"][d(e)]},ms:function(e){return["milisekunda","milisekundy","milisekundy","milisekund"][d(e)]},decimal:","},pt:{y:function(e){return"ano"+(1===e?"":"s")},mo:function(e){return 1===e?"mês":"meses"},w:function(e){return"semana"+(1===e?"":"s")},d:function(e){return"dia"+(1===e?"":"s")},h:function(e){return"hora"+(1===e?"":"s")},m:function(e){return"minuto"+(1===e?"":"s")},s:function(e){return"segundo"+(1===e?"":"s")},ms:function(e){return"milissegundo"+(1===e?"":"s")},decimal:","},ro:{y:function(e){return 1===e?"an":"ani"},mo:function(e){return 1===e?"lună":"luni"},w:function(e){return 1===e?"săptămână":"săptămâni"},d:function(e){return 1===e?"zi":"zile"},h:function(e){return 1===e?"oră":"ore"},m:function(e){return 1===e?"minut":"minute"},s:function(e){return 1===e?"secundă":"secunde"},ms:function(e){return 1===e?"milisecundă":"milisecunde"},decimal:","},ru:{y:function(e){return["лет","год","года"][p(e)]},mo:function(e){return["месяцев","месяц","месяца"][p(e)]},w:function(e){return["недель","неделя","недели"][p(e)]},d:function(e){return["дней","день","дня"][p(e)]},h:function(e){return["часов","час","часа"][p(e)]},m:function(e){return["минут","минута","минуты"][p(e)]},s:function(e){return["секунд","секунда","секунды"][p(e)]},ms:function(e){return["миллисекунд","миллисекунда","миллисекунды"][p(e)]},decimal:","},sq:{y:function(e){return 1===e?"vit":"vjet"},mo:"muaj",w:"javë",d:"ditë",h:"orë",m:function(e){return"minut"+(1===e?"ë":"a")},s:function(e){return"sekond"+(1===e?"ë":"a")},ms:function(e){return"milisekond"+(1===e?"ë":"a")},decimal:","},sr:{y:function(e){return["години","година","године"][p(e)]},mo:function(e){return["месеци","месец","месеца"][p(e)]},w:function(e){return["недељи","недеља","недеље"][p(e)]},d:function(e){return["дани","дан","дана"][p(e)]},h:function(e){return["сати","сат","сата"][p(e)]},m:function(e){return["минута","минут","минута"][p(e)]},s:function(e){return["секунди","секунда","секунде"][p(e)]},ms:function(e){return["милисекунди","милисекунда","милисекунде"][p(e)]},decimal:","},ta:{y:function(e){return 1===e?"வருடம்":"ஆண்டுகள்"},mo:function(e){return 1===e?"மாதம்":"மாதங்கள்"},w:function(e){return 1===e?"வாரம்":"வாரங்கள்"},d:function(e){return 1===e?"நாள்":"நாட்கள்"},h:function(e){return 1===e?"மணி":"மணிநேரம்"},m:function(e){return"நிமிட"+(1===e?"ம்":"ங்கள்")},s:function(e){return"வினாடி"+(1===e?"":"கள்")},ms:function(e){return"மில்லி விநாடி"+(1===e?"":"கள்")}},te:{y:function(e){return"సంవత్స"+(1===e?"రం":"రాల")},mo:function(e){return"నెల"+(1===e?"":"ల")},w:function(e){return 1===e?"వారం":"వారాలు"},d:function(e){return"రోజు"+(1===e?"":"లు")},h:function(e){return"గంట"+(1===e?"":"లు")},m:function(e){return 1===e?"నిమిషం":"నిమిషాలు"},s:function(e){return 1===e?"సెకను":"సెకన్లు"},ms:function(e){return 1===e?"మిల్లీసెకన్":"మిల్లీసెకన్లు"}},uk:{y:function(e){return["років","рік","роки"][p(e)]},mo:function(e){return["місяців","місяць","місяці"][p(e)]},w:function(e){return["тижнів","тиждень","тижні"][p(e)]},d:function(e){return["днів","день","дні"][p(e)]},h:function(e){return["годин","година","години"][p(e)]},m:function(e){return["хвилин","хвилина","хвилини"][p(e)]},s:function(e){return["секунд","секунда","секунди"][p(e)]},ms:function(e){return["мілісекунд","мілісекунда","мілісекунди"][p(e)]},decimal:","},ur:{y:"سال",mo:function(e){return 1===e?"مہینہ":"مہینے"},w:function(e){return 1===e?"ہفتہ":"ہفتے"},d:"دن",h:function(e){return 1===e?"گھنٹہ":"گھنٹے"},m:"منٹ",s:"سیکنڈ",ms:"ملی سیکنڈ",decimal:"."},sk:{y:function(e){return["rok","roky","roky","rokov"][m(e)]},mo:function(e){return["mesiac","mesiace","mesiace","mesiacov"][m(e)]},w:function(e){return["týždeň","týždne","týždne","týždňov"][m(e)]},d:function(e){return["deň","dni","dni","dní"][m(e)]},h:function(e){return["hodina","hodiny","hodiny","hodín"][m(e)]},m:function(e){return["minúta","minúty","minúty","minút"][m(e)]},s:function(e){return["sekunda","sekundy","sekundy","sekúnd"][m(e)]},ms:function(e){return["milisekunda","milisekundy","milisekundy","milisekúnd"][m(e)]},decimal:","},sl:{y:function(e){return e%10==1?"leto":e%100==2?"leti":e%100==3||e%100==4||Math.floor(e)!==e&&e%100<=5?"leta":"let"},mo:function(e){return e%10==1?"mesec":e%100==2||Math.floor(e)!==e&&e%100<=5?"meseca":e%10==3||e%10==4?"mesece":"mesecev"},w:function(e){return e%10==1?"teden":e%10==2||Math.floor(e)!==e&&e%100<=4?"tedna":e%10==3||e%10==4?"tedne":"tednov"},d:function(e){return e%100==1?"dan":"dni"},h:function(e){return e%10==1?"ura":e%100==2?"uri":e%10==3||e%10==4||Math.floor(e)!==e?"ure":"ur"},m:function(e){return e%10==1?"minuta":e%10==2?"minuti":e%10==3||e%10==4||Math.floor(e)!==e&&e%100<=4?"minute":"minut"},s:function(e){return e%10==1?"sekunda":e%100==2?"sekundi":e%100==3||e%100==4||Math.floor(e)!==e?"sekunde":"sekund"},ms:function(e){return e%10==1?"milisekunda":e%100==2?"milisekundi":e%100==3||e%100==4||Math.floor(e)!==e?"milisekunde":"milisekund"},decimal:","},sv:{y:"år",mo:function(e){return"månad"+(1===e?"":"er")},w:function(e){return"veck"+(1===e?"a":"or")},d:function(e){return"dag"+(1===e?"":"ar")},h:function(e){return"timm"+(1===e?"e":"ar")},m:function(e){return"minut"+(1===e?"":"er")},s:function(e){return"sekund"+(1===e?"":"er")},ms:function(e){return"millisekund"+(1===e?"":"er")},decimal:","},sw:{y:function(e){return 1===e?"mwaka":"miaka"},mo:function(e){return 1===e?"mwezi":"miezi"},w:"wiki",d:function(e){return 1===e?"siku":"masiku"},h:function(e){return 1===e?"saa":"masaa"},m:"dakika",s:"sekunde",ms:"milisekunde",decimal:"."},tr:{y:"yıl",mo:"ay",w:"hafta",d:"gün",h:"saat",m:"dakika",s:"saniye",ms:"milisaniye",decimal:","},th:{y:"ปี",mo:"เดือน",w:"สัปดาห์",d:"วัน",h:"ชั่วโมง",m:"นาที",s:"วินาที",ms:"มิลลิวินาที",decimal:"."},vi:{y:"năm",mo:"tháng",w:"tuần",d:"ngày",h:"giờ",m:"phút",s:"giây",ms:"mili giây",decimal:","},zh_CN:{y:"年",mo:"个月",w:"周",d:"天",h:"小时",m:"分钟",s:"秒",ms:"毫秒",decimal:"."},zh_TW:{y:"年",mo:"個月",w:"周",d:"天",h:"小時",m:"分鐘",s:"秒",ms:"毫秒",decimal:"."}};function u(e){var t=function(e,n){return function(e,t){var n,r,i;e=Math.abs(e);var o,u,s,l=function(e){var t=[e.language];if(y(e,"fallbacks")){if(!g(e.fallbacks)||!e.fallbacks.length)throw new Error("fallbacks must be an array with at least one element");t=t.concat(e.fallbacks)}for(var n=0;n=0&&((i=f[n]).unitCount=Math.round(i.unitCount),0!==n);n--)h=f[n-1],m=t.unitMeasures[h.unitName]/t.unitMeasures[i.unitName],(i.unitCount%m==0||t.largest&&t.largest-12)return E.slice(0,-1).join(b)+(t.serialComma?",":"")+t.conjunction+E.slice(-1)}(e,l({},t,n||{}))};return l(t,{language:"en",spacer:" ",conjunction:"",serialComma:!0,units:["y","mo","w","d","h","m","s"],languages:{},round:!1,unitMeasures:{y:315576e5,mo:26298e5,w:6048e5,d:864e5,h:36e5,m:6e4,s:1e3,ms:1}},e)}var s=u({});function c(e,t,n,r){var i,o;i=y(r,"decimal")?r.decimal:y(n,"decimal")?n.decimal:".",o="function"==typeof n._formatCount?n._formatCount(e,i):e.toString().replace(".",i);var a,u=n[t];return a="function"==typeof u?u(e):u,o+r.spacer+a}function l(e){for(var t,n=1;n2&&e<11?2:0}function d(e){return 1===e?0:Math.floor(e)!==e?1:e%10>=2&&e%10<=4&&!(e%100>10&&e%100<20)?2:3}function p(e){return Math.floor(e)!==e?2:e%100>=5&&e%100<=20||e%10>=5&&e%10<=9||e%10==0?0:e%10==1?1:e>1?2:0}function m(e){return 1===e?0:Math.floor(e)!==e?1:e%10>=2&&e%10<=4&&e%100<10?2:3}function h(e){return 1===e||e%10==1&&e%100>20?0:Math.floor(e)!==e||e%10>=2&&e%100>20||e%10>=2&&e%100<10?1:2}function v(e){return e%10==1&&e%100!=11}var g=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function y(e,t){return Object.prototype.hasOwnProperty.call(e,t)}s.getSupportedLanguages=function(){var e=[];for(var t in a)y(a,t)&&"gr"!==t&&e.push(t);return e},s.humanizer=u,void 0===(r=function(){return s}.call(t,n,t,e))||(e.exports=r)}()},function(e,t){e.exports=a},,,function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var s,c=[],l=!1,f=-1;function d(){l&&s&&(l=!1,s.length?c=s.concat(c):f=-1,c.length&&p())}function p(){if(!l){var e=u(d);l=!0;for(var t=c.length;t;){for(s=c,c=[];++f1)for(var n=1;n0){var s=u.data.flatMap((function(e){return e.fields})).filter((function(e){var t,r;return!(null===(t=n.settings)||void 0===t?void 0:t.filterByType)||(null===(r=n.settings)||void 0===r?void 0:r.filterByType.some((function(t){return e.type===t})))})).map((function(e){return{label:e.name,value:e.name}}));return(null===(t=n.settings)||void 0===t?void 0:t.multi)?o.a.createElement(a.MultiSelect,{isClearable:!0,isLoading:!1,value:r,onChange:function(e){return i(e.map((function(e){return e.value})))},options:s}):o.a.createElement(a.Select,{isClearable:!0,isLoading:!1,value:r,onChange:function(e){i(null==e?void 0:e.value)},options:s})}return o.a.createElement(a.Select,{onChange:function(){},disabled:!0})};var s=function(){return(s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(r=o.next()).done;)a.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function d(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i1?"s":"")+":"),o.a.createElement("div",null,u.map((function(e,t){var n=e.type,r=e.description,u=e.ok;return o.a.createElement("div",{key:t,className:Object(b.css)(m||(m=p(["\n display: flex;\n align-items: center;\n padding-bottom: ",";\n & > * {\n margin-right: ",";\n }\n & > *:last-child {\n margin-right: 0;\n }\n "],["\n display: flex;\n align-items: center;\n padding-bottom: ",";\n & > * {\n margin-right: ",";\n }\n & > *:last-child {\n margin-right: 0;\n }\n "])),i.spacing.sm,i.spacing.sm)},u?o.a.createElement(a.Icon,{name:"check-circle",size:"lg",style:{color:i.palette.brandSuccess}}):o.a.createElement(a.Icon,{name:"circle",size:"lg",style:{color:i.colors.linkDisabled}}),o.a.createElement(a.Badge,{className:Object(b.css)(h||(h=p(["\n margin-top: 0;\n "],["\n margin-top: 0;\n "]))),text:n.slice(0,1).toUpperCase()+n.slice(1),color:"blue"}),r&&o.a.createElement("span",null,""+r))})))))},O=function(e,t){var n=[];return t.map((function(t){var r=t.type,i=t.description,o=e.filter((function(e){return!n.includes(e)})).find((function(e){return e.type===r}));return o&&n.push(o),{type:r,description:i,ok:!!o}}))},x=n(7),T=n(5),I=function(e,t,n){var i;return(null==e?void 0:e.type)===r.FieldType.number?((i=s(s({},e),{type:r.FieldType.time})).display=Object(r.getDisplayProcessor)({field:i,timeZone:t,theme:n}),i):(null==e?void 0:e.type)===r.FieldType.string?((i=s(s({},e),{type:r.FieldType.time,values:new r.ArrayVector(e.values.toArray().map((function(e){return Object(r.dateTimeParse)(e,{timeZone:t,format:"YYYY-MM-DDTHH:mm:ss.SSSSSSSZ"}).valueOf()})))})).display=Object(r.getDisplayProcessor)({field:i,timeZone:t,theme:n}),i):e},R=function(e){var t,n;return e?""+(null!==(t=e.prefix)&&void 0!==t?t:"")+e.text+(null!==(n=e.suffix)&&void 0!==n?n:""):""},k=function(e){e.item;var t=e.value,n=e.onChange,r=(e.context,Object(a.useTheme)()),i=t||[],u=function(e){return function(r){n(t.map((function(t,n){return n===e?s(s({},t),{text:r.currentTarget.value}):t})))}};return o.a.createElement(o.a.Fragment,null,o.a.createElement(a.Button,{variant:"secondary",size:"sm",icon:"plus",fullWidth:!0,className:Object(b.css)(v||(v=p(["\n width: 100%;\n margin-bottom: ",";\n "],["\n width: 100%;\n margin-bottom: ",";\n "])),r.spacing.sm),onClick:function(){n(d(d([],f(i)),[{text:"",color:"green"}]))}},"Add color mapping"),o.a.createElement("div",null,i.map((function(e,c){var l,f=e.text,d=e.color;return o.a.createElement(a.Input,{key:c,type:"text",className:Object(b.css)(g||(g=p(["\n &:not(&:last-child) {\n margin-bottom: ",";\n }\n "],["\n &:not(&:last-child) {\n margin-bottom: ",";\n }\n "])),r.spacing.sm),prefix:o.a.createElement("div",{className:Object(b.css)(y||(y=p(["\n padding: 0 ",";\n "],["\n padding: 0 ",";\n "])),r.spacing.sm)},o.a.createElement(a.ColorPicker,{color:d,onChange:(l=c,function(e){n(t.map((function(t,n){return n===l?s(s({},t),{color:e}):t})))})})),value:f,onChange:u(c),suffix:o.a.createElement(a.Icon,{className:Object(b.css)(E||(E=p(["\n color: ",";\n cursor: pointer;\n\n &:hover {\n color: ",";\n }\n "],["\n color: ",";\n cursor: pointer;\n\n &:hover {\n color: ",";\n }\n "])),r.colors.textWeak,r.colors.text),name:"trash-alt",onClick:function(){return function(e){n(i.filter((function(t,n){return n!==e})))}(c)}})})}))))},L=n(6),A=n(4),S=n.n(A),N=n(8),j=n.n(N),D=a.ContextMenu,M=function(e){var t=e.x,n=e.y,r=e.onClose,i=e.renderMenuItems,a=e.renderHeader,u=i?i().map((function(e){return{label:e.label,items:e.items.map((function(e){return s({},e)}))}})):void 0;return o.a.createElement(D,{x:t,y:n,onClose:r,renderHeader:a,items:u})},C=function(e){var t=e.x,n=e.y,r=e.onClose,i=e.renderMenuItems,u=e.renderHeader,c=x.config.buildInfo.version;return Object(T.gte)(c,"8.0.0")?o.a.createElement(a.ContextMenu,{x:t,y:n,onClose:r,renderMenuItems:function(){return i().map((function(e,t){return o.a.createElement(a.MenuGroup,{key:""+e.label+t,label:e.label,ariaLabel:e.label},(e.items||[]).map((function(e){return o.a.createElement(a.MenuItem,s({key:e.label},e))})))}))},renderHeader:u}):o.a.createElement(M,{x:t,y:n,onClose:r,renderMenuItems:i,renderHeader:u})};function F(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect();return{width:n.width/1,height:n.height/1,top:n.top/1,right:n.right/1,bottom:n.bottom/1,left:n.left/1,x:n.left/1,y:n.top/1}}function P(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function $(e){var t=P(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function B(e){return e instanceof P(e).Element||e instanceof Element}function U(e){return e instanceof P(e).HTMLElement||e instanceof HTMLElement}function H(e){return"undefined"!=typeof ShadowRoot&&(e instanceof P(e).ShadowRoot||e instanceof ShadowRoot)}function _(e){return e?(e.nodeName||"").toLowerCase():null}function G(e){return((B(e)?e.ownerDocument:e.document)||window.document).documentElement}function V(e){return F(G(e)).left+$(e).scrollLeft}function z(e){return P(e).getComputedStyle(e)}function X(e){var t=z(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function W(e,t,n){void 0===n&&(n=!1);var r,i,o=U(t),a=U(t)&&function(e){var t=e.getBoundingClientRect(),n=t.width/e.offsetWidth||1,r=t.height/e.offsetHeight||1;return 1!==n||1!==r}(t),u=G(t),s=F(e,a),c={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(o||!o&&!n)&&(("body"!==_(t)||X(u))&&(c=(r=t)!==P(r)&&U(r)?{scrollLeft:(i=r).scrollLeft,scrollTop:i.scrollTop}:$(r)),U(t)?((l=F(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):u&&(l.x=V(u))),{x:s.left+c.scrollLeft-l.x,y:s.top+c.scrollTop-l.y,width:s.width,height:s.height}}function Y(e){var t=F(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function q(e){return"html"===_(e)?e:e.assignedSlot||e.parentNode||(H(e)?e.host:null)||G(e)}function Z(e,t){var n;void 0===t&&(t=[]);var r=function e(t){return["html","body","#document"].indexOf(_(t))>=0?t.ownerDocument.body:U(t)&&X(t)?t:e(q(t))}(e),i=r===(null==(n=e.ownerDocument)?void 0:n.body),o=P(r),a=i?[o].concat(o.visualViewport||[],X(r)?r:[]):r,u=t.concat(a);return i?u:u.concat(Z(q(a)))}function J(e){return["table","td","th"].indexOf(_(e))>=0}function Q(e){return U(e)&&"fixed"!==z(e).position?e.offsetParent:null}function K(e){for(var t=P(e),n=Q(e);n&&J(n)&&"static"===z(n).position;)n=Q(n);return n&&("html"===_(n)||"body"===_(n)&&"static"===z(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&U(e)&&"fixed"===z(e).position)return null;for(var n=q(e);U(n)&&["html","body"].indexOf(_(n))<0;){var r=z(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}var ee="top",te="bottom",ne="right",re="left",ie=[ee,te,ne,re],oe=ie.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),ae=[].concat(ie,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),ue=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function se(e){var t=new Map,n=new Set,r=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||function e(i){n.add(i.name),[].concat(i.requires||[],i.requiresIfExists||[]).forEach((function(r){if(!n.has(r)){var i=t.get(r);i&&e(i)}})),r.push(i)}(e)})),r}var ce={placement:"bottom",modifiers:[],strategy:"absolute"};function le(){for(var e=arguments.length,t=new Array(e),n=0;n=0?"x":"y"}function ge(e){var t,n=e.reference,r=e.element,i=e.placement,o=i?me(i):null,a=i?he(i):null,u=n.x+n.width/2-r.width/2,s=n.y+n.height/2-r.height/2;switch(o){case ee:t={x:u,y:n.y-r.height};break;case te:t={x:u,y:n.y+n.height};break;case ne:t={x:n.x+n.width,y:s};break;case re:t={x:n.x-r.width,y:s};break;default:t={x:n.x,y:n.y}}var c=o?ve(o):null;if(null!=c){var l="y"===c?"height":"width";switch(a){case"start":t[c]=t[c]-(n[l]/2-r[l]/2);break;case"end":t[c]=t[c]+(n[l]/2-r[l]/2)}}return t}var ye={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=ge({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},Ee=Math.max,be=Math.min,we=Math.round,Oe={top:"auto",right:"auto",bottom:"auto",left:"auto"};function xe(e){var t,n=e.popper,r=e.popperRect,i=e.placement,o=e.variation,a=e.offsets,u=e.position,s=e.gpuAcceleration,c=e.adaptive,l=e.roundOffsets,f=!0===l?function(e){var t=e.x,n=e.y,r=window.devicePixelRatio||1;return{x:we(we(t*r)/r)||0,y:we(we(n*r)/r)||0}}(a):"function"==typeof l?l(a):a,d=f.x,p=void 0===d?0:d,m=f.y,h=void 0===m?0:m,v=a.hasOwnProperty("x"),g=a.hasOwnProperty("y"),y=re,E=ee,b=window;if(c){var w=K(n),O="clientHeight",x="clientWidth";w===P(n)&&"static"!==z(w=G(n)).position&&"absolute"===u&&(O="scrollHeight",x="scrollWidth"),w=w,i!==ee&&(i!==re&&i!==ne||"end"!==o)||(E=te,h-=w[O]-r.height,h*=s?1:-1),i!==re&&(i!==ee&&i!==te||"end"!==o)||(y=ne,p-=w[x]-r.width,p*=s?1:-1)}var T,I=Object.assign({position:u},c&&Oe);return s?Object.assign({},I,((T={})[E]=g?"0":"",T[y]=v?"0":"",T.transform=(b.devicePixelRatio||1)<=1?"translate("+p+"px, "+h+"px)":"translate3d("+p+"px, "+h+"px, 0)",T)):Object.assign({},I,((t={})[E]=g?h+"px":"",t[y]=v?p+"px":"",t.transform="",t))}var Te={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},i=t.elements[e];U(i)&&_(i)&&(Object.assign(i.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],i=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});U(r)&&_(r)&&(Object.assign(r.style,o),Object.keys(i).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]};var Ie={left:"right",right:"left",bottom:"top",top:"bottom"};function Re(e){return e.replace(/left|right|bottom|top/g,(function(e){return Ie[e]}))}var ke={start:"end",end:"start"};function Le(e){return e.replace(/start|end/g,(function(e){return ke[e]}))}function Ae(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&H(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Se(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Ne(e,t){return"viewport"===t?Se(function(e){var t=P(e),n=G(e),r=t.visualViewport,i=n.clientWidth,o=n.clientHeight,a=0,u=0;return r&&(i=r.width,o=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=r.offsetLeft,u=r.offsetTop)),{width:i,height:o,x:a+V(e),y:u}}(e)):U(t)?function(e){var t=F(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):Se(function(e){var t,n=G(e),r=$(e),i=null==(t=e.ownerDocument)?void 0:t.body,o=Ee(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=Ee(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),u=-r.scrollLeft+V(e),s=-r.scrollTop;return"rtl"===z(i||n).direction&&(u+=Ee(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:a,x:u,y:s}}(G(e)))}function je(e,t,n){var r="clippingParents"===t?function(e){var t=Z(q(e)),n=["absolute","fixed"].indexOf(z(e).position)>=0&&U(e)?K(e):e;return B(n)?t.filter((function(e){return B(e)&&Ae(e,n)&&"body"!==_(e)})):[]}(e):[].concat(t),i=[].concat(r,[n]),o=i[0],a=i.reduce((function(t,n){var r=Ne(e,n);return t.top=Ee(r.top,t.top),t.right=be(r.right,t.right),t.bottom=be(r.bottom,t.bottom),t.left=Ee(r.left,t.left),t}),Ne(e,o));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function De(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Me(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function Ce(e,t){void 0===t&&(t={});var n=t,r=n.placement,i=void 0===r?e.placement:r,o=n.boundary,a=void 0===o?"clippingParents":o,u=n.rootBoundary,s=void 0===u?"viewport":u,c=n.elementContext,l=void 0===c?"popper":c,f=n.altBoundary,d=void 0!==f&&f,p=n.padding,m=void 0===p?0:p,h=De("number"!=typeof m?m:Me(m,ie)),v="popper"===l?"reference":"popper",g=e.rects.popper,y=e.elements[d?v:l],E=je(B(y)?y:y.contextElement||G(e.elements.popper),a,s),b=F(e.elements.reference),w=ge({reference:b,element:g,strategy:"absolute",placement:i}),O=Se(Object.assign({},g,w)),x="popper"===l?O:b,T={top:E.top-x.top+h.top,bottom:x.bottom-E.bottom+h.bottom,left:E.left-x.left+h.left,right:x.right-E.right+h.right},I=e.modifiersData.offset;if("popper"===l&&I){var R=I[i];Object.keys(T).forEach((function(e){var t=[ne,te].indexOf(e)>=0?1:-1,n=[ee,te].indexOf(e)>=0?"y":"x";T[e]+=R[n]*t}))}return T}function Fe(e,t,n){return Ee(e,be(t,n))}function Pe(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function $e(e){return[ee,ne,te,re].some((function(t){return e[t]>=0}))}var Be=fe({defaultModifiers:[pe,ye,{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=void 0===r||r,o=n.adaptive,a=void 0===o||o,u=n.roundOffsets,s=void 0===u||u,c={placement:me(t.placement),variation:he(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,xe(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:s})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,xe(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:s})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},Te,{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=void 0===i?[0,0]:i,a=ae.reduce((function(e,n){return e[n]=function(e,t,n){var r=me(e),i=[re,ee].indexOf(r)>=0?-1:1,o="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=o[0],u=o[1];return a=a||0,u=(u||0)*i,[re,ne].indexOf(r)>=0?{x:u,y:a}:{x:a,y:u}}(n,t.rects,o),e}),{}),u=a[t.placement],s=u.x,c=u.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=s,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,o=void 0===i||i,a=n.altAxis,u=void 0===a||a,s=n.fallbackPlacements,c=n.padding,l=n.boundary,f=n.rootBoundary,d=n.altBoundary,p=n.flipVariations,m=void 0===p||p,h=n.allowedAutoPlacements,v=t.options.placement,g=me(v),y=s||(g===v||!m?[Re(v)]:function(e){if("auto"===me(e))return[];var t=Re(e);return[Le(e),t,Le(t)]}(v)),E=[v].concat(y).reduce((function(e,n){return e.concat("auto"===me(n)?function(e,t){void 0===t&&(t={});var n=t,r=n.placement,i=n.boundary,o=n.rootBoundary,a=n.padding,u=n.flipVariations,s=n.allowedAutoPlacements,c=void 0===s?ae:s,l=he(r),f=l?u?oe:oe.filter((function(e){return he(e)===l})):ie,d=f.filter((function(e){return c.indexOf(e)>=0}));0===d.length&&(d=f);var p=d.reduce((function(t,n){return t[n]=Ce(e,{placement:n,boundary:i,rootBoundary:o,padding:a})[me(n)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:n,boundary:l,rootBoundary:f,padding:c,flipVariations:m,allowedAutoPlacements:h}):n)}),[]),b=t.rects.reference,w=t.rects.popper,O=new Map,x=!0,T=E[0],I=0;I=0,S=A?"width":"height",N=Ce(t,{placement:R,boundary:l,rootBoundary:f,altBoundary:d,padding:c}),j=A?L?ne:re:L?te:ee;b[S]>w[S]&&(j=Re(j));var D=Re(j),M=[];if(o&&M.push(N[k]<=0),u&&M.push(N[j]<=0,N[D]<=0),M.every((function(e){return e}))){T=R,x=!1;break}O.set(R,M)}if(x)for(var C=function(e){var t=E.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return T=t,"break"},F=m?3:1;F>0;F--){if("break"===C(F))break}t.placement!==T&&(t.modifiersData[r]._skip=!0,t.placement=T,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,o=void 0===i||i,a=n.altAxis,u=void 0!==a&&a,s=n.boundary,c=n.rootBoundary,l=n.altBoundary,f=n.padding,d=n.tether,p=void 0===d||d,m=n.tetherOffset,h=void 0===m?0:m,v=Ce(t,{boundary:s,rootBoundary:c,padding:f,altBoundary:l}),g=me(t.placement),y=he(t.placement),E=!y,b=ve(g),w="x"===b?"y":"x",O=t.modifiersData.popperOffsets,x=t.rects.reference,T=t.rects.popper,I="function"==typeof h?h(Object.assign({},t.rects,{placement:t.placement})):h,R={x:0,y:0};if(O){if(o||u){var k="y"===b?ee:re,L="y"===b?te:ne,A="y"===b?"height":"width",S=O[b],N=O[b]+v[k],j=O[b]-v[L],D=p?-T[A]/2:0,M="start"===y?x[A]:T[A],C="start"===y?-T[A]:-x[A],F=t.elements.arrow,P=p&&F?Y(F):{width:0,height:0},$=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},B=$[k],U=$[L],H=Fe(0,x[A],P[A]),_=E?x[A]/2-D-H-B-I:M-H-B-I,G=E?-x[A]/2+D+H+U+I:C+H+U+I,V=t.elements.arrow&&K(t.elements.arrow),z=V?"y"===b?V.clientTop||0:V.clientLeft||0:0,X=t.modifiersData.offset?t.modifiersData.offset[t.placement][b]:0,W=O[b]+_-X-z,q=O[b]+G-X;if(o){var Z=Fe(p?be(N,W):N,S,p?Ee(j,q):j);O[b]=Z,R[b]=Z-S}if(u){var J="x"===b?ee:re,Q="x"===b?te:ne,ie=O[w],oe=ie+v[J],ae=ie-v[Q],ue=Fe(p?be(oe,W):oe,ie,p?Ee(ae,q):ae);O[w]=ue,R[w]=ue-ie}}t.modifiersData[r]=R}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,i=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,u=me(n.placement),s=ve(u),c=[re,ne].indexOf(u)>=0?"height":"width";if(o&&a){var l=function(e,t){return De("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:Me(e,ie))}(i.padding,n),f=Y(o),d="y"===s?ee:re,p="y"===s?te:ne,m=n.rects.reference[c]+n.rects.reference[s]-a[s]-n.rects.popper[c],h=a[s]-n.rects.reference[s],v=K(o),g=v?"y"===s?v.clientHeight||0:v.clientWidth||0:0,y=m/2-h/2,E=l[d],b=g-f[c]-l[p],w=g/2-f[c]/2+y,O=Fe(E,w,b),x=s;n.modifiersData[r]=((t={})[x]=O,t.centerOffset=O-w,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&Ae(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,a=Ce(t,{elementContext:"reference"}),u=Ce(t,{altBoundary:!0}),s=Pe(a,r),c=Pe(u,i,o),l=$e(s),f=$e(c);t.modifiersData[n]={referenceClippingOffsets:s,popperEscapeOffsets:c,isReferenceHidden:l,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":l,"data-popper-escaped":f})}}]}),Ue={passive:!0,capture:!0},He=function(){return document.body};function _e(e,t,n){if(Array.isArray(e)){var r=e[t];return null==r?Array.isArray(n)?n[t]:n:r}return e}function Ge(e,t){var n={}.toString.call(e);return 0===n.indexOf("[object")&&n.indexOf(t+"]")>-1}function Ve(e,t){return"function"==typeof e?e.apply(void 0,t):e}function ze(e,t){return 0===t?e:function(r){clearTimeout(n),n=setTimeout((function(){e(r)}),t)};var n}function Xe(e){return[].concat(e)}function We(e,t){-1===e.indexOf(t)&&e.push(t)}function Ye(e){return e.split("-")[0]}function qe(e){return[].slice.call(e)}function Ze(e){return Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{})}function Je(){return document.createElement("div")}function Qe(e){return["Element","Fragment"].some((function(t){return Ge(e,t)}))}function Ke(e){return Ge(e,"MouseEvent")}function et(e){return!(!e||!e._tippy||e._tippy.reference!==e)}function tt(e){return Qe(e)?[e]:function(e){return Ge(e,"NodeList")}(e)?qe(e):Array.isArray(e)?e:qe(document.querySelectorAll(e))}function nt(e,t){e.forEach((function(e){e&&(e.style.transitionDuration=t+"ms")}))}function rt(e,t){e.forEach((function(e){e&&e.setAttribute("data-state",t)}))}function it(e){var t,n=Xe(e)[0];return null!=n&&null!=(t=n.ownerDocument)&&t.body?n.ownerDocument:document}function ot(e,t,n){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(t){e[r](t,n)}))}function at(e,t){for(var n=t;n;){var r;if(e.contains(n))return!0;n=null==n.getRootNode||null==(r=n.getRootNode())?void 0:r.host}return!1}var ut={isTouch:!1},st=0;function ct(){ut.isTouch||(ut.isTouch=!0,window.performance&&document.addEventListener("mousemove",lt))}function lt(){var e=performance.now();e-st<20&&(ut.isTouch=!1,document.removeEventListener("mousemove",lt)),st=e}function ft(){var e=document.activeElement;if(et(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}var dt=!!("undefined"!=typeof window&&"undefined"!=typeof document)&&!!window.msCrypto;var pt={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},mt=Object.assign({appendTo:He,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},pt,{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),ht=Object.keys(mt);function vt(e){var t=(e.plugins||[]).reduce((function(t,n){var r,i=n.name,o=n.defaultValue;i&&(t[i]=void 0!==e[i]?e[i]:null!=(r=mt[i])?r:o);return t}),{});return Object.assign({},e,t)}function gt(e,t){var n=Object.assign({},t,{content:Ve(t.content,[e])},t.ignoreAttributes?{}:function(e,t){return(t?Object.keys(vt(Object.assign({},mt,{plugins:t}))):ht).reduce((function(t,n){var r=(e.getAttribute("data-tippy-"+n)||"").trim();if(!r)return t;if("content"===n)t[n]=r;else try{t[n]=JSON.parse(r)}catch(e){t[n]=r}return t}),{})}(e,t.plugins));return n.aria=Object.assign({},mt.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?t.interactive:n.aria.expanded,content:"auto"===n.aria.content?t.interactive?null:"describedby":n.aria.content},n}function yt(e,t){e.innerHTML=t}function Et(e){var t=Je();return!0===e?t.className="tippy-arrow":(t.className="tippy-svg-arrow",Qe(e)?t.appendChild(e):yt(t,e)),t}function bt(e,t){Qe(t.content)?(yt(e,""),e.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?yt(e,t.content):e.textContent=t.content)}function wt(e){var t=e.firstElementChild,n=qe(t.children);return{box:t,content:n.find((function(e){return e.classList.contains("tippy-content")})),arrow:n.find((function(e){return e.classList.contains("tippy-arrow")||e.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(e){return e.classList.contains("tippy-backdrop")}))}}function Ot(e){var t=Je(),n=Je();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=Je();function i(n,r){var i=wt(t),o=i.box,a=i.content,u=i.arrow;r.theme?o.setAttribute("data-theme",r.theme):o.removeAttribute("data-theme"),"string"==typeof r.animation?o.setAttribute("data-animation",r.animation):o.removeAttribute("data-animation"),r.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?o.setAttribute("role",r.role):o.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||bt(a,e.props),r.arrow?u?n.arrow!==r.arrow&&(o.removeChild(u),o.appendChild(Et(r.arrow))):o.appendChild(Et(r.arrow)):u&&o.removeChild(u)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),bt(r,e.props),t.appendChild(n),n.appendChild(r),i(e.props,e.props),{popper:t,onUpdate:i}}Ot.$$tippy=!0;var xt=1,Tt=[],It=[];function Rt(e,t){var n,r,i,o,a,u,s,c,l=gt(e,Object.assign({},mt,vt(Ze(t)))),f=!1,d=!1,p=!1,m=!1,h=[],v=ze(W,l.interactiveDebounce),g=xt++,y=(c=l.plugins).filter((function(e,t){return c.indexOf(e)===t})),E={id:g,reference:e,popper:Je(),popperInstance:null,props:l,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:y,clearDelayTimeouts:function(){clearTimeout(n),clearTimeout(r),cancelAnimationFrame(i)},setProps:function(t){0;if(E.state.isDestroyed)return;D("onBeforeUpdate",[E,t]),z();var n=E.props,r=gt(e,Object.assign({},n,Ze(t),{ignoreAttributes:!0}));E.props=r,V(),n.interactiveDebounce!==r.interactiveDebounce&&(F(),v=ze(W,r.interactiveDebounce));n.triggerTarget&&!r.triggerTarget?Xe(n.triggerTarget).forEach((function(e){e.removeAttribute("aria-expanded")})):r.triggerTarget&&e.removeAttribute("aria-expanded");C(),j(),O&&O(n,r);E.popperInstance&&(J(),K().forEach((function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})));D("onAfterUpdate",[E,t])},setContent:function(e){E.setProps({content:e})},show:function(){0;var e=E.state.isVisible,t=E.state.isDestroyed,n=!E.state.isEnabled,r=ut.isTouch&&!E.props.touch,i=_e(E.props.duration,0,mt.duration);if(e||t||n||r)return;if(L().hasAttribute("disabled"))return;if(D("onShow",[E],!1),!1===E.props.onShow(E))return;E.state.isVisible=!0,k()&&(w.style.visibility="visible");j(),U(),E.state.isMounted||(w.style.transition="none");if(k()){var o=S(),a=o.box,s=o.content;nt([a,s],0)}u=function(){var e;if(E.state.isVisible&&!m){if(m=!0,w.offsetHeight,w.style.transition=E.props.moveTransition,k()&&E.props.animation){var t=S(),n=t.box,r=t.content;nt([n,r],i),rt([n,r],"visible")}M(),C(),We(It,E),null==(e=E.popperInstance)||e.forceUpdate(),D("onMount",[E]),E.props.animation&&k()&&function(e,t){_(e,t)}(i,(function(){E.state.isShown=!0,D("onShown",[E])}))}},function(){var e,t=E.props.appendTo,n=L();e=E.props.interactive&&t===He||"parent"===t?n.parentNode:Ve(t,[n]);e.contains(w)||e.appendChild(w);E.state.isMounted=!0,J(),!1}()},hide:function(){0;var e=!E.state.isVisible,t=E.state.isDestroyed,n=!E.state.isEnabled,r=_e(E.props.duration,1,mt.duration);if(e||t||n)return;if(D("onHide",[E],!1),!1===E.props.onHide(E))return;E.state.isVisible=!1,E.state.isShown=!1,m=!1,f=!1,k()&&(w.style.visibility="hidden");if(F(),H(),j(!0),k()){var i=S(),o=i.box,a=i.content;E.props.animation&&(nt([o,a],r),rt([o,a],"hidden"))}M(),C(),E.props.animation?k()&&function(e,t){_(e,(function(){!E.state.isVisible&&w.parentNode&&w.parentNode.contains(w)&&t()}))}(r,E.unmount):E.unmount()},hideWithInteractivity:function(e){0;A().addEventListener("mousemove",v),We(Tt,v),v(e)},enable:function(){E.state.isEnabled=!0},disable:function(){E.hide(),E.state.isEnabled=!1},unmount:function(){0;E.state.isVisible&&E.hide();if(!E.state.isMounted)return;Q(),K().forEach((function(e){e._tippy.unmount()})),w.parentNode&&w.parentNode.removeChild(w);It=It.filter((function(e){return e!==E})),E.state.isMounted=!1,D("onHidden",[E])},destroy:function(){0;if(E.state.isDestroyed)return;E.clearDelayTimeouts(),E.unmount(),z(),delete e._tippy,E.state.isDestroyed=!0,D("onDestroy",[E])}};if(!l.render)return E;var b=l.render(E),w=b.popper,O=b.onUpdate;w.setAttribute("data-tippy-root",""),w.id="tippy-"+E.id,E.popper=w,e._tippy=E,w._tippy=E;var x=y.map((function(e){return e.fn(E)})),T=e.hasAttribute("aria-expanded");return V(),C(),j(),D("onCreate",[E]),l.showOnCreate&&ee(),w.addEventListener("mouseenter",(function(){E.props.interactive&&E.state.isVisible&&E.clearDelayTimeouts()})),w.addEventListener("mouseleave",(function(){E.props.interactive&&E.props.trigger.indexOf("mouseenter")>=0&&A().addEventListener("mousemove",v)})),E;function I(){var e=E.props.touch;return Array.isArray(e)?e:[e,0]}function R(){return"hold"===I()[0]}function k(){var e;return!(null==(e=E.props.render)||!e.$$tippy)}function L(){return s||e}function A(){var e=L().parentNode;return e?it(e):document}function S(){return wt(w)}function N(e){return E.state.isMounted&&!E.state.isVisible||ut.isTouch||o&&"focus"===o.type?0:_e(E.props.delay,e?0:1,mt.delay)}function j(e){void 0===e&&(e=!1),w.style.pointerEvents=E.props.interactive&&!e?"":"none",w.style.zIndex=""+E.props.zIndex}function D(e,t,n){var r;(void 0===n&&(n=!0),x.forEach((function(n){n[e]&&n[e].apply(n,t)})),n)&&(r=E.props)[e].apply(r,t)}function M(){var t=E.props.aria;if(t.content){var n="aria-"+t.content,r=w.id;Xe(E.props.triggerTarget||e).forEach((function(e){var t=e.getAttribute(n);if(E.state.isVisible)e.setAttribute(n,t?t+" "+r:r);else{var i=t&&t.replace(r,"").trim();i?e.setAttribute(n,i):e.removeAttribute(n)}}))}}function C(){!T&&E.props.aria.expanded&&Xe(E.props.triggerTarget||e).forEach((function(e){E.props.interactive?e.setAttribute("aria-expanded",E.state.isVisible&&e===L()?"true":"false"):e.removeAttribute("aria-expanded")}))}function F(){A().removeEventListener("mousemove",v),Tt=Tt.filter((function(e){return e!==v}))}function P(t){if(!ut.isTouch||!p&&"mousedown"!==t.type){var n=t.composedPath&&t.composedPath()[0]||t.target;if(!E.props.interactive||!at(w,n)){if(Xe(E.props.triggerTarget||e).some((function(e){return at(e,n)}))){if(ut.isTouch)return;if(E.state.isVisible&&E.props.trigger.indexOf("click")>=0)return}else D("onClickOutside",[E,t]);!0===E.props.hideOnClick&&(E.clearDelayTimeouts(),E.hide(),d=!0,setTimeout((function(){d=!1})),E.state.isMounted||H())}}}function $(){p=!0}function B(){p=!1}function U(){var e=A();e.addEventListener("mousedown",P,!0),e.addEventListener("touchend",P,Ue),e.addEventListener("touchstart",B,Ue),e.addEventListener("touchmove",$,Ue)}function H(){var e=A();e.removeEventListener("mousedown",P,!0),e.removeEventListener("touchend",P,Ue),e.removeEventListener("touchstart",B,Ue),e.removeEventListener("touchmove",$,Ue)}function _(e,t){var n=S().box;function r(e){e.target===n&&(ot(n,"remove",r),t())}if(0===e)return t();ot(n,"remove",a),ot(n,"add",r),a=r}function G(t,n,r){void 0===r&&(r=!1),Xe(E.props.triggerTarget||e).forEach((function(e){e.addEventListener(t,n,r),h.push({node:e,eventType:t,handler:n,options:r})}))}function V(){var e;R()&&(G("touchstart",X,{passive:!0}),G("touchend",Y,{passive:!0})),(e=E.props.trigger,e.split(/\s+/).filter(Boolean)).forEach((function(e){if("manual"!==e)switch(G(e,X),e){case"mouseenter":G("mouseleave",Y);break;case"focus":G(dt?"focusout":"blur",q);break;case"focusin":G("focusout",q)}}))}function z(){h.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,i=e.options;t.removeEventListener(n,r,i)})),h=[]}function X(e){var t,n=!1;if(E.state.isEnabled&&!Z(e)&&!d){var r="focus"===(null==(t=o)?void 0:t.type);o=e,s=e.currentTarget,C(),!E.state.isVisible&&Ke(e)&&Tt.forEach((function(t){return t(e)})),"click"===e.type&&(E.props.trigger.indexOf("mouseenter")<0||f)&&!1!==E.props.hideOnClick&&E.state.isVisible?n=!0:ee(e),"click"===e.type&&(f=!n),n&&!r&&te(e)}}function W(e){var t=e.target,n=L().contains(t)||w.contains(t);"mousemove"===e.type&&n||function(e,t){var n=t.clientX,r=t.clientY;return e.every((function(e){var t=e.popperRect,i=e.popperState,o=e.props.interactiveBorder,a=Ye(i.placement),u=i.modifiersData.offset;if(!u)return!0;var s="bottom"===a?u.top.y:0,c="top"===a?u.bottom.y:0,l="right"===a?u.left.x:0,f="left"===a?u.right.x:0,d=t.top-r+s>o,p=r-t.bottom-c>o,m=t.left-n+l>o,h=n-t.right-f>o;return d||p||m||h}))}(K().concat(w).map((function(e){var t,n=null==(t=e._tippy.popperInstance)?void 0:t.state;return n?{popperRect:e.getBoundingClientRect(),popperState:n,props:l}:null})).filter(Boolean),e)&&(F(),te(e))}function Y(e){Z(e)||E.props.trigger.indexOf("click")>=0&&f||(E.props.interactive?E.hideWithInteractivity(e):te(e))}function q(e){E.props.trigger.indexOf("focusin")<0&&e.target!==L()||E.props.interactive&&e.relatedTarget&&w.contains(e.relatedTarget)||te(e)}function Z(e){return!!ut.isTouch&&R()!==e.type.indexOf("touch")>=0}function J(){Q();var t=E.props,n=t.popperOptions,r=t.placement,i=t.offset,o=t.getReferenceClientRect,a=t.moveTransition,s=k()?wt(w).arrow:null,c=o?{getBoundingClientRect:o,contextElement:o.contextElement||L()}:e,l=[{name:"offset",options:{offset:i}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!a}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;if(k()){var n=S().box;["placement","reference-hidden","escaped"].forEach((function(e){"placement"===e?n.setAttribute("data-placement",t.placement):t.attributes.popper["data-popper-"+e]?n.setAttribute("data-"+e,""):n.removeAttribute("data-"+e)})),t.attributes.popper={}}}}];k()&&s&&l.push({name:"arrow",options:{element:s,padding:3}}),l.push.apply(l,(null==n?void 0:n.modifiers)||[]),E.popperInstance=Be(c,w,Object.assign({},n,{placement:r,onFirstUpdate:u,modifiers:l}))}function Q(){E.popperInstance&&(E.popperInstance.destroy(),E.popperInstance=null)}function K(){return qe(w.querySelectorAll("[data-tippy-root]"))}function ee(e){E.clearDelayTimeouts(),e&&D("onTrigger",[E,e]),U();var t=N(!0),r=I(),i=r[0],o=r[1];ut.isTouch&&"hold"===i&&o&&(t=o),t?n=setTimeout((function(){E.show()}),t):E.show()}function te(e){if(E.clearDelayTimeouts(),D("onUntrigger",[E,e]),E.state.isVisible){if(!(E.props.trigger.indexOf("mouseenter")>=0&&E.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(e.type)>=0&&f)){var t=N(!1);t?r=setTimeout((function(){E.state.isVisible&&E.hide()}),t):i=requestAnimationFrame((function(){E.hide()}))}}else H()}}function kt(e,t){void 0===t&&(t={});var n=mt.plugins.concat(t.plugins||[]);document.addEventListener("touchstart",ct,Ue),window.addEventListener("blur",ft);var r=Object.assign({},t,{plugins:n}),i=tt(e).reduce((function(e,t){var n=t&&Rt(t,r);return n&&e.push(n),e}),[]);return Qe(e)?i[0]:i}kt.defaultProps=mt,kt.setDefaultProps=function(e){Object.keys(e).forEach((function(t){mt[t]=e[t]}))},kt.currentInput=ut;Object.assign({},Te,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}});kt.setDefaultProps({render:Ot});var Lt=kt,At=n(9);function St(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}var Nt="undefined"!=typeof window&&"undefined"!=typeof document;function jt(e,t){e&&("function"==typeof e&&e(t),{}.hasOwnProperty.call(e,"current")&&(e.current=t))}function Dt(){return Nt&&document.createElement("div")}function Mt(e){var t=[];return e.forEach((function(e){t.find((function(t){return function e(t,n){if(t===n)return!0;if("object"==typeof t&&null!=t&&"object"==typeof n&&null!=n){if(Object.keys(t).length!==Object.keys(n).length)return!1;for(var r in t){if(!n.hasOwnProperty(r))return!1;if(!e(t[r],n[r]))return!1}return!0}return!1}(e,t)}))||t.push(e)})),t}function Ct(e,t){var n,r;return Object.assign({},t,{popperOptions:Object.assign({},e.popperOptions,t.popperOptions,{modifiers:Mt([].concat((null==(n=e.popperOptions)?void 0:n.modifiers)||[],(null==(r=t.popperOptions)?void 0:r.modifiers)||[]))})})}var Ft=Nt?i.useLayoutEffect:i.useEffect;function Pt(e){var t=Object(i.useRef)();return t.current||(t.current="function"==typeof e?e():e),t.current}function $t(e,t,n){n.split(/\s+/).forEach((function(n){n&&e.classList[t](n)}))}var Bt={name:"className",defaultValue:"",fn:function(e){var t=e.popper.firstElementChild,n=function(){var t;return!!(null==(t=e.props.render)?void 0:t.$$tippy)};function r(){e.props.className&&!n()||$t(t,"add",e.props.className)}return{onCreate:r,onBeforeUpdate:function(){n()&&$t(t,"remove",e.props.className)},onAfterUpdate:r}}};function Ut(e){return function(t){var n=t.children,r=t.content,a=t.visible,u=t.singleton,s=t.render,c=t.reference,l=t.disabled,f=void 0!==l&&l,d=t.ignoreAttributes,p=void 0===d||d,m=(t.__source,t.__self,St(t,["children","content","visible","singleton","render","reference","disabled","ignoreAttributes","__source","__self"])),h=void 0!==a,v=void 0!==u,g=Object(i.useState)(!1),y=g[0],E=g[1],b=Object(i.useState)({}),w=b[0],O=b[1],x=Object(i.useState)(),T=x[0],I=x[1],R=Pt((function(){return{container:Dt(),renders:1}})),k=Object.assign({ignoreAttributes:p},m,{content:R.container});h&&(k.trigger="manual",k.hideOnClick=!1),v&&(f=!0);var L=k,A=k.plugins||[];s&&(L=Object.assign({},k,{plugins:v&&null!=u.data?[].concat(A,[{fn:function(){return{onTrigger:function(e,t){var n=u.data.children.find((function(e){return e.instance.reference===t.currentTarget}));e.state.$$activeSingletonInstance=n.instance,I(n.content)}}}}]):A,render:function(){return{popper:R.container}}}));var S=[c].concat(n?[n.type]:[]);return Ft((function(){var t=c;c&&c.hasOwnProperty("current")&&(t=c.current);var n=e(t||R.ref||Dt(),Object.assign({},L,{plugins:[Bt].concat(k.plugins||[])}));return R.instance=n,f&&n.disable(),a&&n.show(),v&&u.hook({instance:n,content:r,props:L,setSingletonContent:I}),E(!0),function(){n.destroy(),null==u||u.cleanup(n)}}),S),Ft((function(){var e;if(1!==R.renders){var t=R.instance;t.setProps(Ct(t.props,L)),null==(e=t.popperInstance)||e.forceUpdate(),f?t.disable():t.enable(),h&&(a?t.show():t.hide()),v&&u.hook({instance:t,content:r,props:L,setSingletonContent:I})}else R.renders++})),Ft((function(){var e;if(s){var t=R.instance;t.setProps({popperOptions:Object.assign({},t.props.popperOptions,{modifiers:[].concat(((null==(e=t.props.popperOptions)?void 0:e.modifiers)||[]).filter((function(e){return"$$tippyReact"!==e.name})),[{name:"$$tippyReact",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t,n=e.state,r=null==(t=n.modifiersData)?void 0:t.hide;w.placement===n.placement&&w.referenceHidden===(null==r?void 0:r.isReferenceHidden)&&w.escaped===(null==r?void 0:r.hasPopperEscaped)||O({placement:n.placement,referenceHidden:null==r?void 0:r.isReferenceHidden,escaped:null==r?void 0:r.hasPopperEscaped}),n.attributes.popper={}}}])})})}}),[w.placement,w.referenceHidden,w.escaped].concat(S)),o.a.createElement(o.a.Fragment,null,n?Object(i.cloneElement)(n,{ref:function(e){R.ref=e,jt(n.ref,e)}}):null,y&&Object(At.createPortal)(s?s(function(e){var t={"data-placement":e.placement};return e.referenceHidden&&(t["data-reference-hidden"]=""),e.escaped&&(t["data-escaped"]=""),t}(w),T,R.instance):r,R.container))}}var Ht,_t,Gt,Vt,zt,Xt,Wt,Yt,qt,Zt,Jt,Qt,Kt,en=function(e,t){return Object(i.forwardRef)((function(n,r){var a=n.children,u=St(n,["children"]);return o.a.createElement(e,Object.assign({},t,u),a?Object(i.cloneElement)(a,{ref:function(e){jt(r,e),jt(a.ref,e)}}):null)}))},tn=en(Ut(Lt)),nn=function(e){var t=e.content,n=e.children,r=Object(a.useTheme)(),i=rn(r);return o.a.createElement(tn,{maxWidth:500,content:t,animation:!1,className:i.tooltip},n)},rn=Object(a.stylesFactory)((function(e){return{tooltip:Object(b.css)(Ht||(Ht=p(["\n border-radius: ",";\n background-color: ",";\n padding: ",";\n box-shadow: 0px 0px 20px ",";\n "],["\n border-radius: ",";\n background-color: ",";\n padding: ",";\n box-shadow: 0px 0px 20px ",";\n "])),e.border.radius.md,e.colors.bg2,e.spacing.sm,e.colors.dropdownShadow)}})),on=function(e){var t=e.x,n=e.y,r=e.width,u=e.height,s=e.color,c=e.tooltip,l=e.links,d=Object(a.useTheme)(),m=f(Object(i.useState)({x:0,y:0}),2),h=m[0],v=m[1],g=f(Object(i.useState)(""),2),y=g[0],E=g[1],w=f(Object(i.useState)([]),2),O=w[0],x=w[1],T=f(Object(i.useState)(!1),2),I=T[0],R=T[1];return o.a.createElement(o.a.Fragment,null,I&&o.a.createElement(C,{x:h.x,y:h.y,onClose:function(){return R(!1)},renderHeader:function(){return y},renderMenuItems:function(){return O.filter((function(e){return e.items.length}))}}),o.a.createElement(nn,{content:c},o.a.createElement("g",{className:Object(b.css)(_t||(_t=p(["\n cursor: pointer;\n "],["\n cursor: pointer;\n "]))),onClick:function(e){v({x:e.clientX,y:e.clientY}),R(!0),E(o.a.createElement("div",{className:Object(b.css)(Gt||(Gt=p(["\n padding: "," ",";\n "],["\n padding: "," ",";\n "])),d.spacing.xs,d.spacing.sm)},c)),x([{label:"Data links",items:l.map((function(e){return{label:e.title,ariaLabel:e.title,url:e.href,target:e.target,icon:"_self"===e.target?"link":"external-link-alt",onClick:e.onClick}}))}])}},o.a.createElement("rect",{fill:s,x:t,y:n,width:r,height:u,rx:d.border.radius.sm,ry:d.border.radius.sm}))))},an=function(e){var t,n=e.textField,u=e.startField,c=e.endField,l=e.colorByField,m=e.groupByField,h=e.labelFields,v=e.width,g=e.height,y=e.timeRange,E=e.timeZone,w=e.onChangeTimeRange,O=e.experiments,x=e.sortBy,T=e.sortOrder,I=e.colors,k=e.showYAxis,A=f(Object(i.useState)(),2),N=A[0],D=A[1],M=Object(a.useTheme)(),C=sn(M),F=Object(i.useRef)(null),P=f(Object(i.useState)(!1),2),$=P[0],B=P[1],U=f(Object(i.useState)(!1),2),H=U[0],_=U[1],G=f(Object(i.useState)({x:0,y:0}),2),V=G[0],z=G[1],X=f(Object(i.useState)({x:0,y:0}),2),W=X[0],Y=X[1],q=function(e){if(F.current){var t=F.current.getScreenCTM();if(t){var n=F.current.createSVGPoint();return n.x=e.x,n.y=e.x,n.matrixTransform(t.inverse())}}},Z=m?m.values.toArray().reduce((function(e,t,n){return e[t]||(e[t]=[]),e[t].push(n),e}),{}):{},J=Object.keys(Z).map((function(e){return{label:e,value:e}})),Q=null!=N?N:J.length>0?J[0].value:void 0,K=O&&O.enabled?!O.lockToExtents:void 0===Q,ee=J.length>0&&Q?Z[Q]:n.values.toArray().map((function(e,t){return t})),te=S()(y.from.valueOf()),ne=S()(y.to.valueOf()),re=un(te,ne),ie=ee.filter((function(e){var t=S()(u.values.get(e)),n=S()(c.values.get(e));return re(t)||re(n)||t.isBefore(te)&&n.isAfter(ne)||O&&O.enabled&&O.lockToExtents})).sort((function(e,t){var r=f("asc"===T?[e,t]:[t,e],2),i=r[0],o=r[1];switch(x){case"text":return n.values.get(i).localeCompare(n.values.get(o));case"startTime":return u.values.get(i)-u.values.get(o);default:return i-o}})),oe=d([],f(new Set(ie.map((function(e){return n.values.get(e)}))))),ae=null!==(t=L.max(oe.map((function(e){var t,n;return null!==(n=null===(t=function(e,t){var n=document.createElement("canvas").getContext("2d");if(n)return n.font=t+" sans-serif",n.measureText(e)}(e,M.typography.size.sm))||void 0===t?void 0:t.width)&&void 0!==n?n:0}))))&&void 0!==t?t:0,ue=10+(k?ae:0),se=0,ce=30+(J.length>0?40:0),le=v-ue-10,fe=g-se-ce,de=[ie.map((function(e){return u.values.get(e)})).reduce((function(e,t){var n=S()(t);return n.isBefore(e)?n:e}),S()()),ie.map((function(e){return c.values.get(e)})).reduce((function(e,t){var n=S()(t);return e.isBefore(n)?n:e}),S()(0))],pe=L.scaleTime().domain(O&&O.enabled?O.lockToExtents?[de[0].toDate(),de[1].toDate()]:[te.toDate(),ne.toDate()]:[m?de[0].toDate():te.toDate(),m?de[1].toDate():ne.toDate()]).range([0,le]),me=L.scaleLinear().domain([0,le]).range([te.valueOf(),ne.valueOf()]),he=Math.max((1-.25*oe.length)/1.25,0),ve=L.scaleBand().domain(oe).range([0,fe]).padding(he),ge=L.axisBottom(pe).tickFormat((function(e){if(O&&O.enabled&&O.relativeXAxis){var t=e-de[0].valueOf();return t<0?"":j()(t,{largest:1})}var n=pe.domain(),i=Object(a.graphTimeFormat)(pe.ticks().length,n[0].valueOf(),n[1].valueOf());return Object(r.dateTimeFormat)(e,{format:i,timeZone:E})})),ye=L.axisLeft(ve),Ee={x:W.x+(V.x-W.x<0?V.x-W.x:0),y:0,width:Math.abs(V.x-W.x),height:g-ce},be=ve.bandwidth()-2;return be<5?o.a.createElement("div",{className:"panel-empty"},o.a.createElement("p",null,"Too many tasks to visualize properly. ",o.a.createElement("br",null),"Update the query to return fewer tasks or increase the height of the panel.")):o.a.createElement("div",null,o.a.createElement("svg",{ref:F,className:C.svg,width:v,height:g-(J.length>0?40:0),xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",onMouseDown:function(e){_(!0);var t=q({x:e.clientX,y:e.clientY});t&&Y(t)},onMouseMove:function(e){var t=q({x:e.clientX,y:e.clientY});t&&(z(t),H&&K&&Math.sqrt(Math.pow(W.x-t.x,2)+Math.pow(W.y-t.y,2))>5&&B(!0))},onMouseUp:function(){_(!1),$&&K&&(w({from:me(Ee.x-ue),to:me(Ee.x+Ee.width-ue)}),B(!1))}},o.a.createElement("g",null,ie.map((function(e){var t,i=n.values.get(e),s=u.values.get(e),f=c.values.get(e),d=S()(s),p=S()(f),m=s?Math.max(pe(d.toDate()),0):0,v=f?Math.min(pe(p.toDate()),le):le,g=Math.max(v-m-2,1),y={x:m+ue,y:null!==(t=ve(i))&&void 0!==t?t:0},E=o.a.createElement("div",null,o.a.createElement("div",{className:C.tooltip.header},i),s&&o.a.createElement("div",{className:C.tooltip.value},"Started at: ",u.display(s).text),f&&o.a.createElement("div",{className:C.tooltip.value},"Ended at: ",c.display(f).text),o.a.createElement("div",{className:C.tooltip.faint},j()((f||Date.now())-s,{largest:2})),o.a.createElement("div",null,h.filter((function(t){return void 0!==(null==t?void 0:t.values.get(e))&&null!==(null==t?void 0:t.values.get(e))})).map((function(t){return null==t?void 0:t.display(null==t?void 0:t.values.get(e))})).map(R).map((function(e,t){return o.a.createElement(a.Badge,{key:t,className:C.tooltip.badge,text:null!=e?e:"",color:"blue"})})))),b=l?l.type===r.FieldType.number?l.display(l.values.get(e)).color:function(e,t,n){var i,o=(null!=n?n:[]).find((function(t){return t.text===e}));return Object(r.getColorForTheme)(null!==(i=null==o?void 0:o.color)&&void 0!==i?i:"green",t)}(l.values.get(e),M,I):"black";return o.a.createElement(on,{key:e,x:y.x,y:y.y,width:g,height:be,color:b,tooltip:E,links:n.getLinks({valueRowIndex:e})})}))),K&&$&&o.a.createElement("rect",s({fill:M.colors.text,opacity:.1,pointerEvents:"none"},Ee)),o.a.createElement("g",{transform:"translate("+ue+", "+(g-(se+ce))+")",ref:function(e){L.select(e).call(ge)},className:Object(b.css)(Vt||(Vt=p(["\n font-family: ",";\n font-size: ",";\n "],["\n font-family: ",";\n font-size: ",";\n "])),M.typography.fontFamily.sansSerif,M.typography.size.sm)}),k&&o.a.createElement("g",{transform:"translate("+ue+", 0)",ref:function(e){L.select(e).call(ye)},className:Object(b.css)(zt||(zt=p(["\n font-family: ",";\n font-size: ",";\n "],["\n font-family: ",";\n font-size: ",";\n "])),M.typography.fontFamily.sansSerif,M.typography.size.sm)})),J.length>0?o.a.createElement("div",{className:C.frameSelect},o.a.createElement(a.Select,{onChange:function(e){D(e.value)},value:Q,options:J})):null)},un=function(e,t){return function(n){return!(n.isBefore(e)||n.isAfter(t))}},sn=Object(a.stylesFactory)((function(e){return{svg:Object(b.css)(Xt||(Xt=p(["\n flex: 1;\n "],["\n flex: 1;\n "]))),root:Object(b.css)(Wt||(Wt=p(["\n display: flex;\n flex-direction: column;\n "],["\n display: flex;\n flex-direction: column;\n "]))),frameSelect:Object(b.css)(Yt||(Yt=p([""],[""]))),tooltip:{root:Object(b.css)(qt||(qt=p(["\n border-radius: ",";\n background-color: ",";\n padding: ",";\n box-shadow: 0px 0px 20px ",";\n "],["\n border-radius: ",";\n background-color: ",";\n padding: ",";\n box-shadow: 0px 0px 20px ",";\n "])),e.border.radius.md,e.colors.bg2,e.spacing.sm,e.colors.dropdownShadow),header:Object(b.css)(Zt||(Zt=p(["\n font-weight: ",";\n font-size: ",";\n margin-bottom: ",";\n color: ",";\n "],["\n font-weight: ",";\n font-size: ",";\n margin-bottom: ",";\n color: ",";\n "])),e.typography.weight.semibold,e.typography.size.md,e.spacing.sm,e.colors.text),value:Object(b.css)(Jt||(Jt=p(["\n font-size: ",";\n margin-bottom: ",";\n "],["\n font-size: ",";\n margin-bottom: ",";\n "])),e.typography.size.md,e.spacing.xs),faint:Object(b.css)(Qt||(Qt=p(["\n font-size: ",";\n margin-bottom: ",";\n color: ",";\n "],["\n font-size: ",";\n margin-bottom: ",";\n color: ",";\n "])),e.typography.size.md,e.spacing.xs,e.colors.textSemiWeak),badge:Object(b.css)(Kt||(Kt=p(["\n margin-right: ",";\n &:last-child {\n margin-right: 0;\n }\n overflow: hidden;\n max-width: 100%;\n "],["\n margin-right: ",";\n &:last-child {\n margin-right: 0;\n }\n overflow: hidden;\n max-width: 100%;\n "])),e.spacing.xs)}}})),cn={schema:[{type:r.FieldType.string,description:"Task name"},{type:r.FieldType.time,description:"Task start time"},{type:r.FieldType.time,description:"Task end time"}],url:"https://github.com/marcusolsson/grafana-gantt-panel"};n.d(t,"plugin",(function(){return dn}));var ln,fn,dn=(ln="marcusolsson-gantt-panel",fn=new r.PanelPlugin((function(e){var t,n,i=e.options,u=e.data,c=e.width,l=e.height,f=e.timeRange,d=e.onChangeTimeRange,p=e.timeZone,m=Object(a.useTheme)(),h=i.colors,v=u.series[0];if(!v)return o.a.createElement("div",{style:{width:c,height:l}},o.a.createElement(w,s({},cn)));var g=i.textField?v.fields.find((function(e){return e.name===i.textField})):v.fields.find((function(e){return e.type===r.FieldType.string})),y=I(i.startField?v.fields.find((function(e){return e.name===i.startField})):v.fields.find((function(e){return e.type===r.FieldType.time})),p,m),E=I(i.endField?v.fields.find((function(e){return e.name===i.endField})):v.fields.filter((function(e){return e!==y})).find((function(e){return e.type===r.FieldType.time})),p,m);if(!g||!y||!E)return o.a.createElement("div",{style:{width:c,height:l}},o.a.createElement(w,s({},cn,{fields:v.fields.map((function(e){return y&&y.name===e.name?y:E&&E.name===e.name?E:e}))})));var b=i.colorByField?v.fields.find((function(e){return e.name===i.colorByField})):g,O=v.fields.find((function(e){return e.name===i.groupByField})),x=null!==(n=null===(t=i.labelFields)||void 0===t?void 0:t.map((function(e){return v.fields.find((function(t){return t.name===e}))})))&&void 0!==n?n:[];return o.a.createElement(an,{textField:g,startField:y,endField:E,colorByField:null!=b?b:g,groupByField:O,labelFields:x,timeRange:f,timeZone:p,width:c,height:l,onChangeTimeRange:d,experiments:i.experiments,sortBy:i.sortBy,sortOrder:i.sortOrder,colors:h,showYAxis:i.showYAxis})})).useFieldConfig().setPanelOptions((function(e){return e.addBooleanSwitch({path:"experiments.enabled",name:"Enable experiments",description:"Try out new features that we're working on. Be aware that experiments can be unstable and may break your panel. Use at your own risk.",category:["Experiments"]}).addBooleanSwitch({path:"experiments.lockToExtents",name:"Lock to extents",description:"Locks the view to the oldest start time and the most recent end time. This disables zooming.",category:["Experiments"],showIf:function(e){return e.experiments&&e.experiments.enabled}}).addBooleanSwitch({path:"experiments.relativeXAxis",name:"Relative time",description:"Displays the duration since the start of the first task.",category:["Experiments"],showIf:function(e){return e.experiments&&e.experiments.enabled}}).addCustomEditor({id:"textField",path:"textField",name:"Text",description:"Field to use for the text. Must be unique. Defaults to the first textual field.",editor:u,category:["Dimensions"],settings:{filterByType:[r.FieldType.string]}}).addCustomEditor({id:"startField",path:"startField",name:"Start time",description:"Field to use for the start time. Defaults to the first time field.",editor:u,category:["Dimensions"],settings:{filterByType:[r.FieldType.time,r.FieldType.string,r.FieldType.number]}}).addCustomEditor({id:"endField",path:"endField",name:"End time",description:"Field to use for the end time. Defaults to the second time field.",editor:u,category:["Dimensions"],settings:{filterByType:[r.FieldType.time,r.FieldType.string,r.FieldType.number]}}).addCustomEditor({id:"colorByField",path:"colorByField",name:"Color by",description:"Field to use for colors. Defaults to the text field.",editor:u,category:["Dimensions"],settings:{filterByType:[r.FieldType.string,r.FieldType.number]}}).addCustomEditor({id:"groupByField",path:"groupByField",name:"Group by",description:"Field to use for grouping.",editor:u,category:["Dimensions"],settings:{filterByType:[r.FieldType.string]}}).addCustomEditor({id:"labelFields",path:"labelFields",name:"Labels",description:"Fields to use as labels in the tooltip.",category:["Dimensions"],editor:u,settings:{multi:!0}}).addBooleanSwitch({path:"showYAxis",name:"Show Y-axis",defaultValue:!0}).addSelect({path:"sortBy",name:"Sort by",defaultValue:"startTime",settings:{options:[{label:"Text",value:"text",description:"Sort tasks alphabetically by their text"},{label:"Start time",value:"startTime",description:"Sort tasks chronologically by their start time"}]}}).addSelect({path:"sortOrder",name:"Sort order",defaultValue:"asc",settings:{options:[{label:"Ascending",value:"asc",description:"A-Z if sorting by text, or oldest to most recent if sorting by time"},{label:"Descending",value:"desc",description:"Z-A if sorting by text, or most recent to oldest if sorting by time"}]}}).addCustomEditor({id:"colors",path:"colors",name:"Color mappings",editor:k,showIf:function(e,t){if(!t||!t.length)return!1;var n=t[0],i=e.textField?n.fields.find((function(t){return t.name===e.textField})):n.fields.find((function(e){return e.type===r.FieldType.string})),o=e.colorByField?n.fields.find((function(t){return t.name===e.colorByField})):i;return!!o&&o.type===r.FieldType.string}})})),c(void 0,void 0,void 0,(function(){var e,t;return l(this,(function(n){switch(n.label){case 0:return[4,Object(x.getBackendSrv)().datasourceRequest({url:"/public/plugins/"+ln+"/plugin.json"})];case 1:return e=n.sent(),t=e.data,Object(T.satisfies)(x.config.buildInfo.version,t.dependencies.grafanaDependency,{includePrerelease:!0})?[2,fn]:[2,new r.PanelPlugin((function(e){var n=e.width,r=e.height;return o.a.createElement("div",{style:{width:n,height:r}},o.a.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"}},o.a.createElement("div",null,o.a.createElement("p",null,o.a.createElement("strong",null,"Error loading: "+t.id)),"This plugin requires a more recent version of Grafana ("+t.dependencies.grafanaDependency+").")))}))]}}))})))}])})); //# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/Standalone/grafana/plugins/marcusolsson-gantt-panel/module.js.map b/Standalone/grafana/plugins/marcusolsson-gantt-panel/module.js.map index 03c07eb..2bf1b57 100644 --- a/Standalone/grafana/plugins/marcusolsson-gantt-panel/module.js.map +++ b/Standalone/grafana/plugins/marcusolsson-gantt-panel/module.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"@grafana/data\"","webpack:///external \"@grafana/ui\"","webpack:///external \"emotion\"","webpack:///../node_modules/dayjs/dayjs.min.js","webpack:///../node_modules/semver/semver.js","webpack:///external \"d3\"","webpack:///external \"@grafana/runtime\"","webpack:///../node_modules/humanize-duration/humanize-duration.js","webpack:///external \"react-dom\"","webpack:///../node_modules/process/browser.js","webpack:///../node_modules/grafana-plugin-support/dist/components/FieldSelectEditor.js","webpack:///../node_modules/tslib/tslib.es6.js","webpack:///../node_modules/grafana-plugin-support/dist/components/PanelWizard.js","webpack:///../node_modules/grafana-plugin-support/dist/utils/fields.js","webpack:///../node_modules/grafana-plugin-support/dist/utils/format.js","webpack:///./ColorEditor.tsx","webpack:///./LegacyContextMenu.tsx","webpack:///./ContextMenu.tsx","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/enums.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/createPopper.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/debounce.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/getVariation.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/math.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/modifiers/offset.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/within.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/modifiers/hide.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/popper.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/modifiers/flip.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack:///../node_modules/tippy.js/node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack:///../node_modules/tippy.js/dist/tippy.esm.js","webpack:///../node_modules/@tippyjs/react/dist/tippy-react.esm.js","webpack:///./Tooltip.tsx","webpack:///./GanttTask.tsx","webpack:///./GanttChart.tsx","webpack:///./helpers.ts","webpack:///./GanttPanel.tsx","webpack:///./module.ts","webpack:///../node_modules/grafana-plugin-support/dist/utils/dependency.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__2__","__WEBPACK_EXTERNAL_MODULE__3__","e","u","a","f","h","$","y","M","weekdays","split","months","String","length","Array","join","g","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","w","D","ms","Q","toLowerCase","replace","v","_","S","args","arguments","O","locale","$L","utc","$u","x","$x","$offset","this","parse","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","Number","round","subtract","format","substr","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","Z","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","b","forEach","extend","$i","isDayjs","en","Ls","debug","process","env","NODE_DEBUG","unshift","SEMVER_SPEC_VERSION","MAX_SAFE_INTEGER","re","src","tokens","R","tok","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","MAINVERSION","MAINVERSIONLOOSE","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","PRERELEASE","PRERELEASELOOSE","BUILDIDENTIFIER","BUILD","FULLPLAIN","FULL","LOOSEPLAIN","LOOSE","GTLT","XRANGEIDENTIFIERLOOSE","XRANGEIDENTIFIER","XRANGEPLAIN","XRANGEPLAINLOOSE","XRANGE","XRANGELOOSE","COERCE","COERCERTL","RegExp","LONETILDE","TILDETRIM","TILDE","TILDELOOSE","LONECARET","CARETTRIM","CARET","CARETLOOSE","COMPARATORLOOSE","COMPARATOR","COMPARATORTRIM","HYPHENRANGE","HYPHENRANGELOOSE","STAR","version","options","loose","includePrerelease","SemVer","er","TypeError","trim","raw","major","minor","patch","prerelease","map","id","num","build","valid","clean","compare","other","compareMain","comparePre","compareIdentifiers","undefined","compareBuild","inc","release","identifier","push","isNaN","Error","version1","version2","eq","v1","v2","prefix","defaultResult","numeric","anum","bnum","gt","lt","neq","gte","lte","cmp","op","Comparator","comp","semver","ANY","operator","rcompareIdentifiers","compareLoose","versionA","versionB","rcompare","sort","list","rsort","Range","range","parseRange","filter","isSatisfiable","comparators","result","remainingComparators","testComparator","pop","every","otherComparator","intersects","isX","hyphenReplace","$0","from","fM","fm","fp","fpr","fb","to","tM","tm","tp","tpr","tb","testSet","allowed","satisfies","outside","hilo","gtfn","ltefn","ltfn","ecomp","high","low","comparator","rangeTmp","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","comps","hr","compRe","pr","ret","replaceCaret","replaceCarets","replaceTilde","replaceTildes","gtlt","xM","xm","xp","anyX","replaceXRange","replaceXRanges","replaceStars","parseComparator","some","thisComparators","rangeComparators","thisComparator","rangeComparator","toComparators","maxSatisfying","versions","max","maxSV","rangeObj","minSatisfying","minSV","minVersion","minver","compver","validRange","ltr","gtr","parsed","r1","r2","coerce","rtl","next","exec","index","lastIndex","__WEBPACK_EXTERNAL_MODULE__6__","__WEBPACK_EXTERNAL_MODULE__7__","greek","mo","decimal","ARABIC_DIGITS","LANGUAGES","af","ar","getArabicForm","delimiter","_formatCount","count","replacements","assign","characters","character","has","bg","getSlavicForm","bn","ca","cs","getCzechOrSlovakForm","cy","da","de","el","eo","es","et","eu","fa","fi","fo","fr","gr","he","mod10","hi","hu","is","it","ja","km","kn","ko","ku","lo","getLithuanianForm","lv","getLatvianForm","mk","mr","nl","no","pl","getPolishForm","pt","ro","ru","sq","sr","ta","te","uk","ur","sk","sl","sv","sw","tr","th","vi","zh_CN","zh_TW","humanizer","passedOptions","humanizerOptions","len","piece","unitName","unitMS","unitCount","dictionary","languagesFromOptions","language","isArray","fallbacks","concat","languageToTry","languages","getDictionary","pieces","units","unitMeasures","expValue","pow","maxDecimalPoints","unitCountFloat","parseFloat","toFixed","ratioToLargerUnit","previousPiece","firstOccupiedUnitIndex","largest","render","conjunction","serialComma","doHumanization","spacer","humanizeDuration","type","countStr","word","dictionaryValue","destination","source","prop","arg","obj","getSupportedLanguages","__WEBPACK_EXTERNAL_MODULE__9__","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","array","noop","nextTick","title","browser","argv","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","FieldSelectEditor","_a","_b","item","onChange","context","data","flatMap","frame","fields","field","settings","filterByType","label","multi","createElement","isClearable","isLoading","disabled","__assign","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","done","then","__generator","body","sent","trys","ops","verb","iterator","__read","error","__spreadArray","pack","__makeTemplateObject","cooked","templateObject_1","templateObject_2","PanelWizard","schema","url","theme","report","validateFields","style","display","alignItems","justifyContent","height","severity","maxWidth","description","ok","className","spacing","sm","size","color","palette","brandSuccess","colors","linkDisabled","text","toUpperCase","seen","includes","find","toTimeField","timeZone","tmp","number","time","string","values","toArray","getFormattedDisplayValue","displayValue","suffix","onTextChange","event","currentTarget","variant","icon","fullWidth","onClick","textWeak","onRemoveColor","AnyContextMenu","onClose","renderMenuItems","renderHeader","itemGroups","group","items","buildInfo","ariaLabel","getBoundingClientRect","element","rect","width","top","right","bottom","left","getWindow","node","window","ownerDocument","defaultView","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","getNodeName","nodeName","getDocumentElement","document","documentElement","getWindowScrollBarX","getComputedStyle","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","isOffsetParentAnElement","scroll","offsets","clientLeft","clientTop","getLayoutRect","clientRect","offsetWidth","offsetHeight","offsetLeft","offsetTop","getParentNode","assignedSlot","parentNode","host","listScrollParents","_element$ownerDocumen","scrollParent","getScrollParent","indexOf","isBody","target","visualViewport","updatedList","isTableElement","getTrueOffsetParent","position","getOffsetParent","isFirefox","navigator","userAgent","currentNode","css","transform","perspective","contain","willChange","getContainingBlock","basePlacements","variationPlacements","reduce","acc","placement","modifierPhases","order","modifiers","Map","visited","Set","modifier","requires","requiresIfExists","dep","depModifier","DEFAULT_OPTIONS","strategy","areValidElements","_len","_key","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","reference","popper","fn","pending","state","orderedModifiers","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","instance","setOptions","cleanupModifierEffects","scrollParents","contextElement","phase","orderModifiers","merged","current","existing","keys","mergeByName","enabled","_ref3","_ref3$options","effect","cleanupFn","update","forceUpdate","_state$elements","rects","reset","_state$orderedModifie","_state$orderedModifie2","_options","destroy","onFirstUpdate","passive","_ref","_options$scroll","_options$resize","resize","addEventListener","removeEventListener","getBasePlacement","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","unsetSides","mapToStyles","_ref2","_Object$assign2","popperRect","gpuAcceleration","adaptive","roundOffsets","dpr","devicePixelRatio","roundOffsetsByDPR","_ref3$x","_ref3$y","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","removeAttribute","setAttribute","initialStyles","margin","arrow","attribute","hash","getOppositePlacement","matched","start","end","getOppositeVariationPlacement","contains","parent","child","rootNode","getRootNode","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","html","clientWidth","clientHeight","getViewportRect","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","direction","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","_options$placement","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","padding","altContext","referenceElement","clippingClientRect","referenceClientRect","popperOffsets","popperClientRect","elementClientRect","overflowOffsets","offsetData","offset","multiply","axis","within","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","eventListeners","_ref4","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","placements","_options$allowedAutoP","allowedPlacements","overflows","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","check","_loop","_i","fittingPlacement","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_mainSide","_altSide","_offset","_min","_max","_preventedOffset","_state$modifiersData$","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","_options$element","querySelector","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","TOUCH_OPTIONS","capture","getValueAtIndexOrReturn","defaultValue","isType","str","invokeWithArgsOrReturn","normalizeToArray","pushIfUnique","arr","arrayFrom","div","isMouseEvent","isReferenceElement","_tippy","getArrayOfElements","isNodeList","querySelectorAll","setTransitionDuration","els","transitionDuration","setVisibilityState","getOwnerDocument","elementOrElements","updateTransitionEndListener","box","action","listener","method","currentInput","isTouch","lastMouseMoveTime","onDocumentTouchStart","performance","onDocumentMouseMove","now","onWindowBlur","activeElement","blur","isVisible","ua","pluginProps","animateFill","followCursor","inlinePositioning","sticky","appendTo","aria","content","expanded","delay","duration","getReferenceClientRect","hideOnClick","ignoreAttributes","interactive","interactiveBorder","interactiveDebounce","moveTransition","onAfterUpdate","onBeforeUpdate","onCreate","onDestroy","onHidden","onHide","onMount","onShow","onShown","onTrigger","onUntrigger","onClickOutside","plugins","popperOptions","showOnCreate","touch","trigger","triggerTarget","allowHTML","animation","inertia","role","zIndex","defaultKeys","getExtendedPassedProps","passedProps","plugin","evaluateProps","props","out","valueAsString","getAttribute","JSON","getDataAttributeProps","dangerouslySetInnerHTML","createArrowElement","appendChild","textContent","getChildren","firstElementChild","boxChildren","children","classList","backdrop","onUpdate","prevProps","nextProps","_getChildren","removeChild","$$tippy","idCounter","mouseMoveListeners","mountedInstances","createTippy","showTimeout","hideTimeout","scheduleHideAnimationFrame","lastTriggerEvent","currentTransitionEndListener","isVisibleFromClick","didHideDueToDocumentMouseDown","didTouchMove","ignoreOnFirstUpdate","debouncedOnMouseMove","onMouseMove","popperInstance","isEnabled","isMounted","isShown","clearDelayTimeouts","cancelAnimationFrame","setProps","partialProps","invokeHook","removeListeners","addListeners","cleanupInteractiveMouseListeners","handleAriaExpandedAttribute","handleStyles","createPopperInstance","getNestedPopperTree","nestedPopper","requestAnimationFrame","setContent","show","isAlreadyVisible","isDisabled","isTouchAndTouchDisabled","getCurrentTarget","hasAttribute","getIsDefaultRenderFn","visibility","addDocumentPress","transition","_getDefaultTemplateCh2","getDefaultTemplateChildren","_instance$popperInsta2","_getDefaultTemplateCh3","_box","_content","handleAriaContentAttribute","callback","onTransitionEnd","onTransitionedIn","mount","hide","isAlreadyHidden","removeDocumentPress","_getDefaultTemplateCh4","onTransitionedOut","unmount","hideWithInteractivity","getDocument","enable","disable","destroyPopperInstance","_props$render","pluginsHooks","hasAriaExpanded","scheduleShow","getNormalizedTouchSettings","getIsCustomTouchBehavior","_instance$props$rende","getDelay","isShow","pointerEvents","hook","shouldInvokePropsHook","_instance$props","pluginHooks","attr","currentValue","nextValue","onDocumentPress","onTouchMove","onTouchStart","doc","eventType","handler","onMouseLeave","Boolean","onBlurOrFocusOut","_lastTriggerEvent","shouldScheduleClickHide","isEventListenerStopped","wasFocused","scheduleHide","isCursorOverReferenceOrPopper","popperTreeData","clientX","clientY","popperState","topDistance","bottomDistance","leftDistance","rightDistance","exceedsTop","exceedsBottom","exceedsLeft","exceedsRight","isCursorOutsideInteractiveBorder","_instance$popperInsta","relatedTarget","_instance$props2","computedReference","_getNormalizedTouchSe","touchValue","touchDelay","targets","optionalProps","instances","defaultProps","setDefaultProps","_objectWithoutPropertiesLoose","excluded","sourceKeys","preserveRef","ref","ssrSafeCreateDiv","uniqueByShape","output","outputItem","deepEqual","deepPreserveProps","instanceProps","componentProps","_instanceProps$popper","_componentProps$poppe","useIsomorphicLayoutEffect","useMutableBox","initialValue","updateClassName","classNames","classNamePlugin","isDefaultRenderFn","TippyGenerator","tippy","visible","singleton","_ref$disabled","_ref$ignoreAttributes","restOfNativeProps","__source","__self","isControlledMode","isSingletonMode","_useState","mounted","setMounted","_useState2","attrs","setAttrs","_useState3","singletonContent","setSingletonContent","mutableBox","container","renders","computedProps","deps","cleanup","_instance$props$poppe","_state$modifiersData","hideData","referenceHidden","escaped","Fragment","dataAttrs","toDataAttributes","forwardRef","Tippy","getStyles","tooltip","border","radius","md","bg2","dropdownShadow","links","contextMenuPos","setContextMenuPos","contextMenuLabel","setContextMenuLabel","contextMenuGroups","setContextMenuGroups","showContextMenu","setShowContextMenu","xs","link","href","fill","rx","ry","textField","startField","endField","colorByField","groupByField","labelFields","timeRange","onChangeTimeRange","experiments","sortBy","sortOrder","showYAxis","setGroup","svgRef","dragging","setDragging","isMouseDown","setMouseDown","coordinates","setCoordinates","origin","setOrigin","coordClientToViewbox","matrix","getScreenCTM","clientPoint","createSVGPoint","matrixTransform","inverse","groups","curr","idx","selectableGroups","currentGroup","absoluteMode","lockToExtents","indexes","isWithinTimeRange","isBetween","sortedIndexes","j","localeCompare","taskLabels","widestLabel","ctx","getContext","font","measureText","typography","chartWidth","chartHeight","timeExtents","currDateTime","scaleX","domain","invertedScaleX","scalePadding","scaleY","axisX","tickFormat","relativeXAxis","ticks","axisY","zoomWindow","taskBarHeight","bandwidth","svg","xmlns","xmlnsXlink","onMouseDown","coord","sqrt","onMouseUp","startTimeValue","endTimeValue","startTime","endTime","pixelStartX","pixelEndX","taskBarWidth","taskBarPos","tooltipContent","header","faint","badge","fillColor","mapping","col","getLinks","valueRowIndex","opacity","fontFamily","sansSerif","frameSelect","selectableValue","root","weight","semibold","textSemiWeak","usage","pluginId","series","useFieldConfig","setPanelOptions","builder","addBooleanSwitch","path","category","showIf","addCustomEditor","editor","addSelect","res","meta","datasourceRequest","dependencies","grafanaDependency"],"mappings":"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","file":"module.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 13);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",$=\"Invalid Date\",l=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[^0-9]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date() 1.2.3` ==> `>1.2.3`\ntok('COMPARATORTRIM')\nsrc[t.COMPARATORTRIM] = '(\\\\s*)' + src[t.GTLT] +\n '\\\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')'\n\n// this one has to use the /g flag\nre[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g')\nvar comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ntok('HYPHENRANGE')\nsrc[t.HYPHENRANGE] = '^\\\\s*(' + src[t.XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[t.XRANGEPLAIN] + ')' +\n '\\\\s*$'\n\ntok('HYPHENRANGELOOSE')\nsrc[t.HYPHENRANGELOOSE] = '^\\\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[t.XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$'\n\n// Star ranges basically just allow anything at all.\ntok('STAR')\nsrc[t.STAR] = '(<|>)?=?\\\\s*\\\\*'\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i])\n if (!re[i]) {\n re[i] = new RegExp(src[i])\n }\n}\n\nexports.parse = parse\nfunction parse (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n var r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nexports.valid = valid\nfunction valid (version, options) {\n var v = parse(version, options)\n return v ? v.version : null\n}\n\nexports.clean = clean\nfunction clean (version, options) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\n\nexports.SemVer = SemVer\n\nfunction SemVer (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === options.loose) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n }\n\n if (!(this instanceof SemVer)) {\n return new SemVer(version, options)\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n\n var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n}\n\nSemVer.prototype.format = function () {\n this.version = this.major + '.' + this.minor + '.' + this.patch\n if (this.prerelease.length) {\n this.version += '-' + this.prerelease.join('.')\n }\n return this.version\n}\n\nSemVer.prototype.toString = function () {\n return this.version\n}\n\nSemVer.prototype.compare = function (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return this.compareMain(other) || this.comparePre(other)\n}\n\nSemVer.prototype.compareMain = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n}\n\nSemVer.prototype.comparePre = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n var i = 0\n do {\n var a = this.prerelease[i]\n var b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\nSemVer.prototype.compareBuild = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n var i = 0\n do {\n var a = this.build[i]\n var b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\n// preminor will bump the version up to the next minor release, and immediately\n// down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n var i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error('invalid increment argument: ' + release)\n }\n this.format()\n this.raw = this.version\n return this\n}\n\nexports.inc = inc\nfunction inc (version, release, loose, identifier) {\n if (typeof (loose) === 'string') {\n identifier = loose\n loose = undefined\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\n\nexports.diff = diff\nfunction diff (version1, version2) {\n if (eq(version1, version2)) {\n return null\n } else {\n var v1 = parse(version1)\n var v2 = parse(version2)\n var prefix = ''\n if (v1.prerelease.length || v2.prerelease.length) {\n prefix = 'pre'\n var defaultResult = 'prerelease'\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers\n\nvar numeric = /^[0-9]+$/\nfunction compareIdentifiers (a, b) {\n var anum = numeric.test(a)\n var bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers\nfunction rcompareIdentifiers (a, b) {\n return compareIdentifiers(b, a)\n}\n\nexports.major = major\nfunction major (a, loose) {\n return new SemVer(a, loose).major\n}\n\nexports.minor = minor\nfunction minor (a, loose) {\n return new SemVer(a, loose).minor\n}\n\nexports.patch = patch\nfunction patch (a, loose) {\n return new SemVer(a, loose).patch\n}\n\nexports.compare = compare\nfunction compare (a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose))\n}\n\nexports.compareLoose = compareLoose\nfunction compareLoose (a, b) {\n return compare(a, b, true)\n}\n\nexports.compareBuild = compareBuild\nfunction compareBuild (a, b, loose) {\n var versionA = new SemVer(a, loose)\n var versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\n\nexports.rcompare = rcompare\nfunction rcompare (a, b, loose) {\n return compare(b, a, loose)\n}\n\nexports.sort = sort\nfunction sort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compareBuild(a, b, loose)\n })\n}\n\nexports.rsort = rsort\nfunction rsort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compareBuild(b, a, loose)\n })\n}\n\nexports.gt = gt\nfunction gt (a, b, loose) {\n return compare(a, b, loose) > 0\n}\n\nexports.lt = lt\nfunction lt (a, b, loose) {\n return compare(a, b, loose) < 0\n}\n\nexports.eq = eq\nfunction eq (a, b, loose) {\n return compare(a, b, loose) === 0\n}\n\nexports.neq = neq\nfunction neq (a, b, loose) {\n return compare(a, b, loose) !== 0\n}\n\nexports.gte = gte\nfunction gte (a, b, loose) {\n return compare(a, b, loose) >= 0\n}\n\nexports.lte = lte\nfunction lte (a, b, loose) {\n return compare(a, b, loose) <= 0\n}\n\nexports.cmp = cmp\nfunction cmp (a, op, b, loose) {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError('Invalid operator: ' + op)\n }\n}\n\nexports.Comparator = Comparator\nfunction Comparator (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n if (!(this instanceof Comparator)) {\n return new Comparator(comp, options)\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n}\n\nvar ANY = {}\nComparator.prototype.parse = function (comp) {\n var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n var m = comp.match(r)\n\n if (!m) {\n throw new TypeError('Invalid comparator: ' + comp)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n}\n\nComparator.prototype.toString = function () {\n return this.value\n}\n\nComparator.prototype.test = function (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n}\n\nComparator.prototype.intersects = function (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n var rangeTmp\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n rangeTmp = new Range(comp.value, options)\n return satisfies(this.value, rangeTmp, options)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n rangeTmp = new Range(this.value, options)\n return satisfies(comp.semver, rangeTmp, options)\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n var sameSemVer = this.semver.version === comp.semver.version\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'))\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'))\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan\n}\n\nexports.Range = Range\nfunction Range (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, options)\n }\n\n if (!(this instanceof Range)) {\n return new Range(range, options)\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range.split(/\\s*\\|\\|\\s*/).map(function (range) {\n return this.parseRange(range.trim())\n }, this).filter(function (c) {\n // throw out any that are not relevant for whatever reason\n return c.length\n })\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + range)\n }\n\n this.format()\n}\n\nRange.prototype.format = function () {\n this.range = this.set.map(function (comps) {\n return comps.join(' ').trim()\n }).join('||').trim()\n return this.range\n}\n\nRange.prototype.toString = function () {\n return this.range\n}\n\nRange.prototype.parseRange = function (range) {\n var loose = this.options.loose\n range = range.trim()\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace)\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[t.COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n var set = range.split(' ').map(function (comp) {\n return parseComparator(comp, this.options)\n }, this).join(' ').split(/\\s+/)\n if (this.options.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function (comp) {\n return !!comp.match(compRe)\n })\n }\n set = set.map(function (comp) {\n return new Comparator(comp, this.options)\n }, this)\n\n return set\n}\n\nRange.prototype.intersects = function (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some(function (thisComparators) {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some(function (rangeComparators) {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every(function (thisComparator) {\n return rangeComparators.every(function (rangeComparator) {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n}\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nfunction isSatisfiable (comparators, options) {\n var result = true\n var remainingComparators = comparators.slice()\n var testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every(function (otherComparator) {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators\nfunction toComparators (range, options) {\n return new Range(range, options).set.map(function (comp) {\n return comp.map(function (c) {\n return c.value\n }).join(' ').trim().split(' ')\n })\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nfunction parseComparator (comp, options) {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nfunction isX (id) {\n return !id || id.toLowerCase() === 'x' || id === '*'\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n ret = gtlt + M + '.' + m + '.' + p + pr\n } else if (xm) {\n ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0' + pr +\n ' <' + M + '.' + (+m + 1) + '.0' + pr\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars (comp, options) {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[t.STAR], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = '>=' + fM + '.0.0'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n}\n\nfunction testSet (set, version, options) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n\nexports.satisfies = satisfies\nfunction satisfies (version, range, options) {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error('Unexpected operation: ' + comparator.operator)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction validRange (range, options) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version, options) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n var match = null\n if (!options.rtl) {\n match = version.match(re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n var next\n while ((next = re[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n re[t.COERCERTL].lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n return parse(match[2] +\n '.' + (match[3] || '0') +\n '.' + (match[4] || '0'), options)\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6__;","module.exports = __WEBPACK_EXTERNAL_MODULE__7__;","// HumanizeDuration.js - https://git.io/j0HgmQ\n\n/* global define, module */\n\n(function () {\n // This has to be defined separately because of a bug: we want to alias\n // `gr` and `el` for backwards-compatiblity. In a breaking change, we can\n // remove `gr` entirely.\n // See https://github.com/EvanHahn/HumanizeDuration.js/issues/143 for more.\n var greek = {\n y: function (c) {\n return c === 1 ? \"χρόνος\" : \"χρόνια\";\n },\n mo: function (c) {\n return c === 1 ? \"μήνας\" : \"μήνες\";\n },\n w: function (c) {\n return c === 1 ? \"εβδομάδα\" : \"εβδομάδες\";\n },\n d: function (c) {\n return c === 1 ? \"μέρα\" : \"μέρες\";\n },\n h: function (c) {\n return c === 1 ? \"ώρα\" : \"ώρες\";\n },\n m: function (c) {\n return c === 1 ? \"λεπτό\" : \"λεπτά\";\n },\n s: function (c) {\n return c === 1 ? \"δευτερόλεπτο\" : \"δευτερόλεπτα\";\n },\n ms: function (c) {\n return c === 1\n ? \"χιλιοστό του δευτερολέπτου\"\n : \"χιλιοστά του δευτερολέπτου\";\n },\n decimal: \",\"\n };\n\n var ARABIC_DIGITS = [\"۰\", \"١\", \"٢\", \"٣\", \"٤\", \"٥\", \"٦\", \"٧\", \"٨\", \"٩\"];\n\n var LANGUAGES = {\n af: {\n y: \"jaar\",\n mo: function (c) {\n return \"maand\" + (c === 1 ? \"\" : \"e\");\n },\n w: function (c) {\n return c === 1 ? \"week\" : \"weke\";\n },\n d: function (c) {\n return c === 1 ? \"dag\" : \"dae\";\n },\n h: function (c) {\n return c === 1 ? \"uur\" : \"ure\";\n },\n m: function (c) {\n return c === 1 ? \"minuut\" : \"minute\";\n },\n s: function (c) {\n return \"sekonde\" + (c === 1 ? \"\" : \"s\");\n },\n ms: function (c) {\n return \"millisekonde\" + (c === 1 ? \"\" : \"s\");\n },\n decimal: \",\"\n },\n ar: {\n y: function (c) {\n return [\"سنة\", \"سنتان\", \"سنوات\"][getArabicForm(c)];\n },\n mo: function (c) {\n return [\"شهر\", \"شهران\", \"أشهر\"][getArabicForm(c)];\n },\n w: function (c) {\n return [\"أسبوع\", \"أسبوعين\", \"أسابيع\"][getArabicForm(c)];\n },\n d: function (c) {\n return [\"يوم\", \"يومين\", \"أيام\"][getArabicForm(c)];\n },\n h: function (c) {\n return [\"ساعة\", \"ساعتين\", \"ساعات\"][getArabicForm(c)];\n },\n m: function (c) {\n return [\"دقيقة\", \"دقيقتان\", \"دقائق\"][getArabicForm(c)];\n },\n s: function (c) {\n return [\"ثانية\", \"ثانيتان\", \"ثواني\"][getArabicForm(c)];\n },\n ms: function (c) {\n return [\"جزء من الثانية\", \"جزآن من الثانية\", \"أجزاء من الثانية\"][\n getArabicForm(c)\n ];\n },\n decimal: \",\",\n delimiter: \" و \",\n _formatCount: function (count, decimal) {\n var replacements = assign(ARABIC_DIGITS, { \".\": decimal });\n var characters = count.toString().split(\"\");\n for (var i = 0; i < characters.length; i++) {\n var character = characters[i];\n if (has(replacements, character)) {\n characters[i] = replacements[character];\n }\n }\n return characters.join(\"\");\n }\n },\n bg: {\n y: function (c) {\n return [\"години\", \"година\", \"години\"][getSlavicForm(c)];\n },\n mo: function (c) {\n return [\"месеца\", \"месец\", \"месеца\"][getSlavicForm(c)];\n },\n w: function (c) {\n return [\"седмици\", \"седмица\", \"седмици\"][getSlavicForm(c)];\n },\n d: function (c) {\n return [\"дни\", \"ден\", \"дни\"][getSlavicForm(c)];\n },\n h: function (c) {\n return [\"часа\", \"час\", \"часа\"][getSlavicForm(c)];\n },\n m: function (c) {\n return [\"минути\", \"минута\", \"минути\"][getSlavicForm(c)];\n },\n s: function (c) {\n return [\"секунди\", \"секунда\", \"секунди\"][getSlavicForm(c)];\n },\n ms: function (c) {\n return [\"милисекунди\", \"милисекунда\", \"милисекунди\"][getSlavicForm(c)];\n },\n decimal: \",\"\n },\n bn: {\n y: \"বছর\",\n mo: \"মাস\",\n w: \"সপ্তাহ\",\n d: \"দিন\",\n h: \"ঘন্টা\",\n m: \"মিনিট\",\n s: \"সেকেন্ড\",\n ms: \"মিলিসেকেন্ড\"\n },\n ca: {\n y: function (c) {\n return \"any\" + (c === 1 ? \"\" : \"s\");\n },\n mo: function (c) {\n return \"mes\" + (c === 1 ? \"\" : \"os\");\n },\n w: function (c) {\n return \"setman\" + (c === 1 ? \"a\" : \"es\");\n },\n d: function (c) {\n return \"di\" + (c === 1 ? \"a\" : \"es\");\n },\n h: function (c) {\n return \"hor\" + (c === 1 ? \"a\" : \"es\");\n },\n m: function (c) {\n return \"minut\" + (c === 1 ? \"\" : \"s\");\n },\n s: function (c) {\n return \"segon\" + (c === 1 ? \"\" : \"s\");\n },\n ms: function (c) {\n return \"milisegon\" + (c === 1 ? \"\" : \"s\");\n },\n decimal: \",\"\n },\n cs: {\n y: function (c) {\n return [\"rok\", \"roku\", \"roky\", \"let\"][getCzechOrSlovakForm(c)];\n },\n mo: function (c) {\n return [\"měsíc\", \"měsíce\", \"měsíce\", \"měsíců\"][getCzechOrSlovakForm(c)];\n },\n w: function (c) {\n return [\"týden\", \"týdne\", \"týdny\", \"týdnů\"][getCzechOrSlovakForm(c)];\n },\n d: function (c) {\n return [\"den\", \"dne\", \"dny\", \"dní\"][getCzechOrSlovakForm(c)];\n },\n h: function (c) {\n return [\"hodina\", \"hodiny\", \"hodiny\", \"hodin\"][getCzechOrSlovakForm(c)];\n },\n m: function (c) {\n return [\"minuta\", \"minuty\", \"minuty\", \"minut\"][getCzechOrSlovakForm(c)];\n },\n s: function (c) {\n return [\"sekunda\", \"sekundy\", \"sekundy\", \"sekund\"][\n getCzechOrSlovakForm(c)\n ];\n },\n ms: function (c) {\n return [\"milisekunda\", \"milisekundy\", \"milisekundy\", \"milisekund\"][\n getCzechOrSlovakForm(c)\n ];\n },\n decimal: \",\"\n },\n cy: {\n y: \"flwyddyn\",\n mo: \"mis\",\n w: \"wythnos\",\n d: \"diwrnod\",\n h: \"awr\",\n m: \"munud\",\n s: \"eiliad\",\n ms: \"milieiliad\"\n },\n da: {\n y: \"år\",\n mo: function (c) {\n return \"måned\" + (c === 1 ? \"\" : \"er\");\n },\n w: function (c) {\n return \"uge\" + (c === 1 ? \"\" : \"r\");\n },\n d: function (c) {\n return \"dag\" + (c === 1 ? \"\" : \"e\");\n },\n h: function (c) {\n return \"time\" + (c === 1 ? \"\" : \"r\");\n },\n m: function (c) {\n return \"minut\" + (c === 1 ? \"\" : \"ter\");\n },\n s: function (c) {\n return \"sekund\" + (c === 1 ? \"\" : \"er\");\n },\n ms: function (c) {\n return \"millisekund\" + (c === 1 ? \"\" : \"er\");\n },\n decimal: \",\"\n },\n de: {\n y: function (c) {\n return \"Jahr\" + (c === 1 ? \"\" : \"e\");\n },\n mo: function (c) {\n return \"Monat\" + (c === 1 ? \"\" : \"e\");\n },\n w: function (c) {\n return \"Woche\" + (c === 1 ? \"\" : \"n\");\n },\n d: function (c) {\n return \"Tag\" + (c === 1 ? \"\" : \"e\");\n },\n h: function (c) {\n return \"Stunde\" + (c === 1 ? \"\" : \"n\");\n },\n m: function (c) {\n return \"Minute\" + (c === 1 ? \"\" : \"n\");\n },\n s: function (c) {\n return \"Sekunde\" + (c === 1 ? \"\" : \"n\");\n },\n ms: function (c) {\n return \"Millisekunde\" + (c === 1 ? \"\" : \"n\");\n },\n decimal: \",\"\n },\n el: greek,\n en: {\n y: function (c) {\n return \"year\" + (c === 1 ? \"\" : \"s\");\n },\n mo: function (c) {\n return \"month\" + (c === 1 ? \"\" : \"s\");\n },\n w: function (c) {\n return \"week\" + (c === 1 ? \"\" : \"s\");\n },\n d: function (c) {\n return \"day\" + (c === 1 ? \"\" : \"s\");\n },\n h: function (c) {\n return \"hour\" + (c === 1 ? \"\" : \"s\");\n },\n m: function (c) {\n return \"minute\" + (c === 1 ? \"\" : \"s\");\n },\n s: function (c) {\n return \"second\" + (c === 1 ? \"\" : \"s\");\n },\n ms: function (c) {\n return \"millisecond\" + (c === 1 ? \"\" : \"s\");\n },\n decimal: \".\"\n },\n eo: {\n y: function (c) {\n return \"jaro\" + (c === 1 ? \"\" : \"j\");\n },\n mo: function (c) {\n return \"monato\" + (c === 1 ? \"\" : \"j\");\n },\n w: function (c) {\n return \"semajno\" + (c === 1 ? \"\" : \"j\");\n },\n d: function (c) {\n return \"tago\" + (c === 1 ? \"\" : \"j\");\n },\n h: function (c) {\n return \"horo\" + (c === 1 ? \"\" : \"j\");\n },\n m: function (c) {\n return \"minuto\" + (c === 1 ? \"\" : \"j\");\n },\n s: function (c) {\n return \"sekundo\" + (c === 1 ? \"\" : \"j\");\n },\n ms: function (c) {\n return \"milisekundo\" + (c === 1 ? \"\" : \"j\");\n },\n decimal: \",\"\n },\n es: {\n y: function (c) {\n return \"año\" + (c === 1 ? \"\" : \"s\");\n },\n mo: function (c) {\n return \"mes\" + (c === 1 ? \"\" : \"es\");\n },\n w: function (c) {\n return \"semana\" + (c === 1 ? \"\" : \"s\");\n },\n d: function (c) {\n return \"día\" + (c === 1 ? \"\" : \"s\");\n },\n h: function (c) {\n return \"hora\" + (c === 1 ? \"\" : \"s\");\n },\n m: function (c) {\n return \"minuto\" + (c === 1 ? \"\" : \"s\");\n },\n s: function (c) {\n return \"segundo\" + (c === 1 ? \"\" : \"s\");\n },\n ms: function (c) {\n return \"milisegundo\" + (c === 1 ? \"\" : \"s\");\n },\n decimal: \",\"\n },\n et: {\n y: function (c) {\n return \"aasta\" + (c === 1 ? \"\" : \"t\");\n },\n mo: function (c) {\n return \"kuu\" + (c === 1 ? \"\" : \"d\");\n },\n w: function (c) {\n return \"nädal\" + (c === 1 ? \"\" : \"at\");\n },\n d: function (c) {\n return \"päev\" + (c === 1 ? \"\" : \"a\");\n },\n h: function (c) {\n return \"tund\" + (c === 1 ? \"\" : \"i\");\n },\n m: function (c) {\n return \"minut\" + (c === 1 ? \"\" : \"it\");\n },\n s: function (c) {\n return \"sekund\" + (c === 1 ? \"\" : \"it\");\n },\n ms: function (c) {\n return \"millisekund\" + (c === 1 ? \"\" : \"it\");\n },\n decimal: \",\"\n },\n eu: {\n y: \"urte\",\n mo: \"hilabete\",\n w: \"aste\",\n d: \"egun\",\n h: \"ordu\",\n m: \"minutu\",\n s: \"segundo\",\n ms: \"milisegundo\",\n decimal: \",\"\n },\n fa: {\n y: \"سال\",\n mo: \"ماه\",\n w: \"هفته\",\n d: \"روز\",\n h: \"ساعت\",\n m: \"دقیقه\",\n s: \"ثانیه\",\n ms: \"میلی ثانیه\",\n decimal: \".\"\n },\n fi: {\n y: function (c) {\n return c === 1 ? \"vuosi\" : \"vuotta\";\n },\n mo: function (c) {\n return c === 1 ? \"kuukausi\" : \"kuukautta\";\n },\n w: function (c) {\n return \"viikko\" + (c === 1 ? \"\" : \"a\");\n },\n d: function (c) {\n return \"päivä\" + (c === 1 ? \"\" : \"ä\");\n },\n h: function (c) {\n return \"tunti\" + (c === 1 ? \"\" : \"a\");\n },\n m: function (c) {\n return \"minuutti\" + (c === 1 ? \"\" : \"a\");\n },\n s: function (c) {\n return \"sekunti\" + (c === 1 ? \"\" : \"a\");\n },\n ms: function (c) {\n return \"millisekunti\" + (c === 1 ? \"\" : \"a\");\n },\n decimal: \",\"\n },\n fo: {\n y: \"ár\",\n mo: function (c) {\n return c === 1 ? \"mánaður\" : \"mánaðir\";\n },\n w: function (c) {\n return c === 1 ? \"vika\" : \"vikur\";\n },\n d: function (c) {\n return c === 1 ? \"dagur\" : \"dagar\";\n },\n h: function (c) {\n return c === 1 ? \"tími\" : \"tímar\";\n },\n m: function (c) {\n return c === 1 ? \"minuttur\" : \"minuttir\";\n },\n s: \"sekund\",\n ms: \"millisekund\",\n decimal: \",\"\n },\n fr: {\n y: function (c) {\n return \"an\" + (c >= 2 ? \"s\" : \"\");\n },\n mo: \"mois\",\n w: function (c) {\n return \"semaine\" + (c >= 2 ? \"s\" : \"\");\n },\n d: function (c) {\n return \"jour\" + (c >= 2 ? \"s\" : \"\");\n },\n h: function (c) {\n return \"heure\" + (c >= 2 ? \"s\" : \"\");\n },\n m: function (c) {\n return \"minute\" + (c >= 2 ? \"s\" : \"\");\n },\n s: function (c) {\n return \"seconde\" + (c >= 2 ? \"s\" : \"\");\n },\n ms: function (c) {\n return \"milliseconde\" + (c >= 2 ? \"s\" : \"\");\n },\n decimal: \",\"\n },\n gr: greek,\n he: {\n y: function (c) {\n return c === 1 ? \"שנה\" : \"שנים\";\n },\n mo: function (c) {\n return c === 1 ? \"חודש\" : \"חודשים\";\n },\n w: function (c) {\n return c === 1 ? \"שבוע\" : \"שבועות\";\n },\n d: function (c) {\n return c === 1 ? \"יום\" : \"ימים\";\n },\n h: function (c) {\n return c === 1 ? \"שעה\" : \"שעות\";\n },\n m: function (c) {\n return c === 1 ? \"דקה\" : \"דקות\";\n },\n s: function (c) {\n return c === 1 ? \"שניה\" : \"שניות\";\n },\n ms: function (c) {\n return c === 1 ? \"מילישנייה\" : \"מילישניות\";\n },\n decimal: \".\"\n },\n hr: {\n y: function (c) {\n if (c % 10 === 2 || c % 10 === 3 || c % 10 === 4) {\n return \"godine\";\n }\n return \"godina\";\n },\n mo: function (c) {\n if (c === 1) {\n return \"mjesec\";\n } else if (c === 2 || c === 3 || c === 4) {\n return \"mjeseca\";\n }\n return \"mjeseci\";\n },\n w: function (c) {\n if (c % 10 === 1 && c !== 11) {\n return \"tjedan\";\n }\n return \"tjedna\";\n },\n d: function (c) {\n return c === 1 ? \"dan\" : \"dana\";\n },\n h: function (c) {\n if (c === 1) {\n return \"sat\";\n } else if (c === 2 || c === 3 || c === 4) {\n return \"sata\";\n }\n return \"sati\";\n },\n m: function (c) {\n var mod10 = c % 10;\n if ((mod10 === 2 || mod10 === 3 || mod10 === 4) && (c < 10 || c > 14)) {\n return \"minute\";\n }\n return \"minuta\";\n },\n s: function (c) {\n var mod10 = c % 10;\n if (mod10 === 5 || (Math.floor(c) === c && c >= 10 && c <= 19)) {\n return \"sekundi\";\n } else if (mod10 === 1) {\n return \"sekunda\";\n } else if (mod10 === 2 || mod10 === 3 || mod10 === 4) {\n return \"sekunde\";\n }\n return \"sekundi\";\n },\n ms: function (c) {\n if (c === 1) {\n return \"milisekunda\";\n } else if (c % 10 === 2 || c % 10 === 3 || c % 10 === 4) {\n return \"milisekunde\";\n }\n return \"milisekundi\";\n },\n decimal: \",\"\n },\n hi: {\n y: \"साल\",\n mo: function (c) {\n return c === 1 ? \"महीना\" : \"महीने\";\n },\n w: function (c) {\n return c === 1 ? \"हफ़्ता\" : \"हफ्ते\";\n },\n d: \"दिन\",\n h: function (c) {\n return c === 1 ? \"घंटा\" : \"घंटे\";\n },\n m: \"मिनट\",\n s: \"सेकंड\",\n ms: \"मिलीसेकंड\",\n decimal: \".\"\n },\n hu: {\n y: \"év\",\n mo: \"hónap\",\n w: \"hét\",\n d: \"nap\",\n h: \"óra\",\n m: \"perc\",\n s: \"másodperc\",\n ms: \"ezredmásodperc\",\n decimal: \",\"\n },\n id: {\n y: \"tahun\",\n mo: \"bulan\",\n w: \"minggu\",\n d: \"hari\",\n h: \"jam\",\n m: \"menit\",\n s: \"detik\",\n ms: \"milidetik\",\n decimal: \".\"\n },\n is: {\n y: \"ár\",\n mo: function (c) {\n return \"mánuð\" + (c === 1 ? \"ur\" : \"ir\");\n },\n w: function (c) {\n return \"vik\" + (c === 1 ? \"a\" : \"ur\");\n },\n d: function (c) {\n return \"dag\" + (c === 1 ? \"ur\" : \"ar\");\n },\n h: function (c) {\n return \"klukkutím\" + (c === 1 ? \"i\" : \"ar\");\n },\n m: function (c) {\n return \"mínút\" + (c === 1 ? \"a\" : \"ur\");\n },\n s: function (c) {\n return \"sekúnd\" + (c === 1 ? \"a\" : \"ur\");\n },\n ms: function (c) {\n return \"millisekúnd\" + (c === 1 ? \"a\" : \"ur\");\n },\n decimal: \".\"\n },\n it: {\n y: function (c) {\n return \"ann\" + (c === 1 ? \"o\" : \"i\");\n },\n mo: function (c) {\n return \"mes\" + (c === 1 ? \"e\" : \"i\");\n },\n w: function (c) {\n return \"settiman\" + (c === 1 ? \"a\" : \"e\");\n },\n d: function (c) {\n return \"giorn\" + (c === 1 ? \"o\" : \"i\");\n },\n h: function (c) {\n return \"or\" + (c === 1 ? \"a\" : \"e\");\n },\n m: function (c) {\n return \"minut\" + (c === 1 ? \"o\" : \"i\");\n },\n s: function (c) {\n return \"second\" + (c === 1 ? \"o\" : \"i\");\n },\n ms: function (c) {\n return \"millisecond\" + (c === 1 ? \"o\" : \"i\");\n },\n decimal: \",\"\n },\n ja: {\n y: \"年\",\n mo: \"月\",\n w: \"週\",\n d: \"日\",\n h: \"時間\",\n m: \"分\",\n s: \"秒\",\n ms: \"ミリ秒\",\n decimal: \".\"\n },\n km: {\n y: \"ឆ្នាំ\",\n mo: \"ខែ\",\n w: \"សប្តាហ៍\",\n d: \"ថ្ងៃ\",\n h: \"ម៉ោង\",\n m: \"នាទី\",\n s: \"វិនាទី\",\n ms: \"មិល្លីវិនាទី\"\n },\n kn: {\n y: function (c) {\n return c === 1 ? \"ವರ್ಷ\" : \"ವರ್ಷಗಳು\";\n },\n mo: function (c) {\n return c === 1 ? \"ತಿಂಗಳು\" : \"ತಿಂಗಳುಗಳು\";\n },\n w: function (c) {\n return c === 1 ? \"ವಾರ\" : \"ವಾರಗಳು\";\n },\n d: function (c) {\n return c === 1 ? \"ದಿನ\" : \"ದಿನಗಳು\";\n },\n h: function (c) {\n return c === 1 ? \"ಗಂಟೆ\" : \"ಗಂಟೆಗಳು\";\n },\n m: function (c) {\n return c === 1 ? \"ನಿಮಿಷ\" : \"ನಿಮಿಷಗಳು\";\n },\n s: function (c) {\n return c === 1 ? \"ಸೆಕೆಂಡ್\" : \"ಸೆಕೆಂಡುಗಳು\";\n },\n ms: function (c) {\n return c === 1 ? \"ಮಿಲಿಸೆಕೆಂಡ್\" : \"ಮಿಲಿಸೆಕೆಂಡುಗಳು\";\n }\n },\n ko: {\n y: \"년\",\n mo: \"개월\",\n w: \"주일\",\n d: \"일\",\n h: \"시간\",\n m: \"분\",\n s: \"초\",\n ms: \"밀리 초\",\n decimal: \".\"\n },\n ku: {\n y: \"sal\",\n mo: \"meh\",\n w: \"hefte\",\n d: \"roj\",\n h: \"seet\",\n m: \"deqe\",\n s: \"saniye\",\n ms: \"mîlîçirk\",\n decimal: \",\"\n },\n lo: {\n y: \"ປີ\",\n mo: \"ເດືອນ\",\n w: \"ອາທິດ\",\n d: \"ມື້\",\n h: \"ຊົ່ວໂມງ\",\n m: \"ນາທີ\",\n s: \"ວິນາທີ\",\n ms: \"ມິນລິວິນາທີ\",\n decimal: \",\"\n },\n lt: {\n y: function (c) {\n return c % 10 === 0 || (c % 100 >= 10 && c % 100 <= 20)\n ? \"metų\"\n : \"metai\";\n },\n mo: function (c) {\n return [\"mėnuo\", \"mėnesiai\", \"mėnesių\"][getLithuanianForm(c)];\n },\n w: function (c) {\n return [\"savaitė\", \"savaitės\", \"savaičių\"][getLithuanianForm(c)];\n },\n d: function (c) {\n return [\"diena\", \"dienos\", \"dienų\"][getLithuanianForm(c)];\n },\n h: function (c) {\n return [\"valanda\", \"valandos\", \"valandų\"][getLithuanianForm(c)];\n },\n m: function (c) {\n return [\"minutė\", \"minutės\", \"minučių\"][getLithuanianForm(c)];\n },\n s: function (c) {\n return [\"sekundė\", \"sekundės\", \"sekundžių\"][getLithuanianForm(c)];\n },\n ms: function (c) {\n return [\"milisekundė\", \"milisekundės\", \"milisekundžių\"][\n getLithuanianForm(c)\n ];\n },\n decimal: \",\"\n },\n lv: {\n y: function (c) {\n return getLatvianForm(c) ? \"gads\" : \"gadi\";\n },\n mo: function (c) {\n return getLatvianForm(c) ? \"mēnesis\" : \"mēneši\";\n },\n w: function (c) {\n return getLatvianForm(c) ? \"nedēļa\" : \"nedēļas\";\n },\n d: function (c) {\n return getLatvianForm(c) ? \"diena\" : \"dienas\";\n },\n h: function (c) {\n return getLatvianForm(c) ? \"stunda\" : \"stundas\";\n },\n m: function (c) {\n return getLatvianForm(c) ? \"minūte\" : \"minūtes\";\n },\n s: function (c) {\n return getLatvianForm(c) ? \"sekunde\" : \"sekundes\";\n },\n ms: function (c) {\n return getLatvianForm(c) ? \"milisekunde\" : \"milisekundes\";\n },\n decimal: \",\"\n },\n mk: {\n y: function (c) {\n return c === 1 ? \"година\" : \"години\";\n },\n mo: function (c) {\n return c === 1 ? \"месец\" : \"месеци\";\n },\n w: function (c) {\n return c === 1 ? \"недела\" : \"недели\";\n },\n d: function (c) {\n return c === 1 ? \"ден\" : \"дена\";\n },\n h: function (c) {\n return c === 1 ? \"час\" : \"часа\";\n },\n m: function (c) {\n return c === 1 ? \"минута\" : \"минути\";\n },\n s: function (c) {\n return c === 1 ? \"секунда\" : \"секунди\";\n },\n ms: function (c) {\n return c === 1 ? \"милисекунда\" : \"милисекунди\";\n },\n decimal: \",\"\n },\n mr: {\n y: function (c) {\n return c === 1 ? \"वर्ष\" : \"वर्षे\";\n },\n mo: function (c) {\n return c === 1 ? \"महिना\" : \"महिने\";\n },\n w: function (c) {\n return c === 1 ? \"आठवडा\" : \"आठवडे\";\n },\n d: \"दिवस\",\n h: \"तास\",\n m: function (c) {\n return c === 1 ? \"मिनिट\" : \"मिनिटे\";\n },\n s: \"सेकंद\",\n ms: \"मिलिसेकंद\"\n },\n ms: {\n y: \"tahun\",\n mo: \"bulan\",\n w: \"minggu\",\n d: \"hari\",\n h: \"jam\",\n m: \"minit\",\n s: \"saat\",\n ms: \"milisaat\",\n decimal: \".\"\n },\n nl: {\n y: \"jaar\",\n mo: function (c) {\n return c === 1 ? \"maand\" : \"maanden\";\n },\n w: function (c) {\n return c === 1 ? \"week\" : \"weken\";\n },\n d: function (c) {\n return c === 1 ? \"dag\" : \"dagen\";\n },\n h: \"uur\",\n m: function (c) {\n return c === 1 ? \"minuut\" : \"minuten\";\n },\n s: function (c) {\n return c === 1 ? \"seconde\" : \"seconden\";\n },\n ms: function (c) {\n return c === 1 ? \"milliseconde\" : \"milliseconden\";\n },\n decimal: \",\"\n },\n no: {\n y: \"år\",\n mo: function (c) {\n return \"måned\" + (c === 1 ? \"\" : \"er\");\n },\n w: function (c) {\n return \"uke\" + (c === 1 ? \"\" : \"r\");\n },\n d: function (c) {\n return \"dag\" + (c === 1 ? \"\" : \"er\");\n },\n h: function (c) {\n return \"time\" + (c === 1 ? \"\" : \"r\");\n },\n m: function (c) {\n return \"minutt\" + (c === 1 ? \"\" : \"er\");\n },\n s: function (c) {\n return \"sekund\" + (c === 1 ? \"\" : \"er\");\n },\n ms: function (c) {\n return \"millisekund\" + (c === 1 ? \"\" : \"er\");\n },\n decimal: \",\"\n },\n pl: {\n y: function (c) {\n return [\"rok\", \"roku\", \"lata\", \"lat\"][getPolishForm(c)];\n },\n mo: function (c) {\n return [\"miesiąc\", \"miesiąca\", \"miesiące\", \"miesięcy\"][\n getPolishForm(c)\n ];\n },\n w: function (c) {\n return [\"tydzień\", \"tygodnia\", \"tygodnie\", \"tygodni\"][getPolishForm(c)];\n },\n d: function (c) {\n return [\"dzień\", \"dnia\", \"dni\", \"dni\"][getPolishForm(c)];\n },\n h: function (c) {\n return [\"godzina\", \"godziny\", \"godziny\", \"godzin\"][getPolishForm(c)];\n },\n m: function (c) {\n return [\"minuta\", \"minuty\", \"minuty\", \"minut\"][getPolishForm(c)];\n },\n s: function (c) {\n return [\"sekunda\", \"sekundy\", \"sekundy\", \"sekund\"][getPolishForm(c)];\n },\n ms: function (c) {\n return [\"milisekunda\", \"milisekundy\", \"milisekundy\", \"milisekund\"][\n getPolishForm(c)\n ];\n },\n decimal: \",\"\n },\n pt: {\n y: function (c) {\n return \"ano\" + (c === 1 ? \"\" : \"s\");\n },\n mo: function (c) {\n return c === 1 ? \"mês\" : \"meses\";\n },\n w: function (c) {\n return \"semana\" + (c === 1 ? \"\" : \"s\");\n },\n d: function (c) {\n return \"dia\" + (c === 1 ? \"\" : \"s\");\n },\n h: function (c) {\n return \"hora\" + (c === 1 ? \"\" : \"s\");\n },\n m: function (c) {\n return \"minuto\" + (c === 1 ? \"\" : \"s\");\n },\n s: function (c) {\n return \"segundo\" + (c === 1 ? \"\" : \"s\");\n },\n ms: function (c) {\n return \"milissegundo\" + (c === 1 ? \"\" : \"s\");\n },\n decimal: \",\"\n },\n ro: {\n y: function (c) {\n return c === 1 ? \"an\" : \"ani\";\n },\n mo: function (c) {\n return c === 1 ? \"lună\" : \"luni\";\n },\n w: function (c) {\n return c === 1 ? \"săptămână\" : \"săptămâni\";\n },\n d: function (c) {\n return c === 1 ? \"zi\" : \"zile\";\n },\n h: function (c) {\n return c === 1 ? \"oră\" : \"ore\";\n },\n m: function (c) {\n return c === 1 ? \"minut\" : \"minute\";\n },\n s: function (c) {\n return c === 1 ? \"secundă\" : \"secunde\";\n },\n ms: function (c) {\n return c === 1 ? \"milisecundă\" : \"milisecunde\";\n },\n decimal: \",\"\n },\n ru: {\n y: function (c) {\n return [\"лет\", \"год\", \"года\"][getSlavicForm(c)];\n },\n mo: function (c) {\n return [\"месяцев\", \"месяц\", \"месяца\"][getSlavicForm(c)];\n },\n w: function (c) {\n return [\"недель\", \"неделя\", \"недели\"][getSlavicForm(c)];\n },\n d: function (c) {\n return [\"дней\", \"день\", \"дня\"][getSlavicForm(c)];\n },\n h: function (c) {\n return [\"часов\", \"час\", \"часа\"][getSlavicForm(c)];\n },\n m: function (c) {\n return [\"минут\", \"минута\", \"минуты\"][getSlavicForm(c)];\n },\n s: function (c) {\n return [\"секунд\", \"секунда\", \"секунды\"][getSlavicForm(c)];\n },\n ms: function (c) {\n return [\"миллисекунд\", \"миллисекунда\", \"миллисекунды\"][\n getSlavicForm(c)\n ];\n },\n decimal: \",\"\n },\n sq: {\n y: function (c) {\n return c === 1 ? \"vit\" : \"vjet\";\n },\n mo: \"muaj\",\n w: \"javë\",\n d: \"ditë\",\n h: \"orë\",\n m: function (c) {\n return \"minut\" + (c === 1 ? \"ë\" : \"a\");\n },\n s: function (c) {\n return \"sekond\" + (c === 1 ? \"ë\" : \"a\");\n },\n ms: function (c) {\n return \"milisekond\" + (c === 1 ? \"ë\" : \"a\");\n },\n decimal: \",\"\n },\n sr: {\n y: function (c) {\n return [\"години\", \"година\", \"године\"][getSlavicForm(c)];\n },\n mo: function (c) {\n return [\"месеци\", \"месец\", \"месеца\"][getSlavicForm(c)];\n },\n w: function (c) {\n return [\"недељи\", \"недеља\", \"недеље\"][getSlavicForm(c)];\n },\n d: function (c) {\n return [\"дани\", \"дан\", \"дана\"][getSlavicForm(c)];\n },\n h: function (c) {\n return [\"сати\", \"сат\", \"сата\"][getSlavicForm(c)];\n },\n m: function (c) {\n return [\"минута\", \"минут\", \"минута\"][getSlavicForm(c)];\n },\n s: function (c) {\n return [\"секунди\", \"секунда\", \"секунде\"][getSlavicForm(c)];\n },\n ms: function (c) {\n return [\"милисекунди\", \"милисекунда\", \"милисекунде\"][getSlavicForm(c)];\n },\n decimal: \",\"\n },\n ta: {\n y: function (c) {\n return c === 1 ? \"வருடம்\" : \"ஆண்டுகள்\";\n },\n mo: function (c) {\n return c === 1 ? \"மாதம்\" : \"மாதங்கள்\";\n },\n w: function (c) {\n return c === 1 ? \"வாரம்\" : \"வாரங்கள்\";\n },\n d: function (c) {\n return c === 1 ? \"நாள்\" : \"நாட்கள்\";\n },\n h: function (c) {\n return c === 1 ? \"மணி\" : \"மணிநேரம்\";\n },\n m: function (c) {\n return \"நிமிட\" + (c === 1 ? \"ம்\" : \"ங்கள்\");\n },\n s: function (c) {\n return \"வினாடி\" + (c === 1 ? \"\" : \"கள்\");\n },\n ms: function (c) {\n return \"மில்லி விநாடி\" + (c === 1 ? \"\" : \"கள்\");\n }\n },\n te: {\n y: function (c) {\n return \"సంవత్స\" + (c === 1 ? \"రం\" : \"రాల\");\n },\n mo: function (c) {\n return \"నెల\" + (c === 1 ? \"\" : \"ల\");\n },\n w: function (c) {\n return c === 1 ? \"వారం\" : \"వారాలు\";\n },\n d: function (c) {\n return \"రోజు\" + (c === 1 ? \"\" : \"లు\");\n },\n h: function (c) {\n return \"గంట\" + (c === 1 ? \"\" : \"లు\");\n },\n m: function (c) {\n return c === 1 ? \"నిమిషం\" : \"నిమిషాలు\";\n },\n s: function (c) {\n return c === 1 ? \"సెకను\" : \"సెకన్లు\";\n },\n ms: function (c) {\n return c === 1 ? \"మిల్లీసెకన్\" : \"మిల్లీసెకన్లు\";\n }\n },\n uk: {\n y: function (c) {\n return [\"років\", \"рік\", \"роки\"][getSlavicForm(c)];\n },\n mo: function (c) {\n return [\"місяців\", \"місяць\", \"місяці\"][getSlavicForm(c)];\n },\n w: function (c) {\n return [\"тижнів\", \"тиждень\", \"тижні\"][getSlavicForm(c)];\n },\n d: function (c) {\n return [\"днів\", \"день\", \"дні\"][getSlavicForm(c)];\n },\n h: function (c) {\n return [\"годин\", \"година\", \"години\"][getSlavicForm(c)];\n },\n m: function (c) {\n return [\"хвилин\", \"хвилина\", \"хвилини\"][getSlavicForm(c)];\n },\n s: function (c) {\n return [\"секунд\", \"секунда\", \"секунди\"][getSlavicForm(c)];\n },\n ms: function (c) {\n return [\"мілісекунд\", \"мілісекунда\", \"мілісекунди\"][getSlavicForm(c)];\n },\n decimal: \",\"\n },\n ur: {\n y: \"سال\",\n mo: function (c) {\n return c === 1 ? \"مہینہ\" : \"مہینے\";\n },\n w: function (c) {\n return c === 1 ? \"ہفتہ\" : \"ہفتے\";\n },\n d: \"دن\",\n h: function (c) {\n return c === 1 ? \"گھنٹہ\" : \"گھنٹے\";\n },\n m: \"منٹ\",\n s: \"سیکنڈ\",\n ms: \"ملی سیکنڈ\",\n decimal: \".\"\n },\n sk: {\n y: function (c) {\n return [\"rok\", \"roky\", \"roky\", \"rokov\"][getCzechOrSlovakForm(c)];\n },\n mo: function (c) {\n return [\"mesiac\", \"mesiace\", \"mesiace\", \"mesiacov\"][\n getCzechOrSlovakForm(c)\n ];\n },\n w: function (c) {\n return [\"týždeň\", \"týždne\", \"týždne\", \"týždňov\"][\n getCzechOrSlovakForm(c)\n ];\n },\n d: function (c) {\n return [\"deň\", \"dni\", \"dni\", \"dní\"][getCzechOrSlovakForm(c)];\n },\n h: function (c) {\n return [\"hodina\", \"hodiny\", \"hodiny\", \"hodín\"][getCzechOrSlovakForm(c)];\n },\n m: function (c) {\n return [\"minúta\", \"minúty\", \"minúty\", \"minút\"][getCzechOrSlovakForm(c)];\n },\n s: function (c) {\n return [\"sekunda\", \"sekundy\", \"sekundy\", \"sekúnd\"][\n getCzechOrSlovakForm(c)\n ];\n },\n ms: function (c) {\n return [\"milisekunda\", \"milisekundy\", \"milisekundy\", \"milisekúnd\"][\n getCzechOrSlovakForm(c)\n ];\n },\n decimal: \",\"\n },\n sl: {\n y: function (c) {\n if (c % 10 === 1) {\n return \"leto\";\n } else if (c % 100 === 2) {\n return \"leti\";\n } else if (\n c % 100 === 3 ||\n c % 100 === 4 ||\n (Math.floor(c) !== c && c % 100 <= 5)\n ) {\n return \"leta\";\n } else {\n return \"let\";\n }\n },\n mo: function (c) {\n if (c % 10 === 1) {\n return \"mesec\";\n } else if (c % 100 === 2 || (Math.floor(c) !== c && c % 100 <= 5)) {\n return \"meseca\";\n } else if (c % 10 === 3 || c % 10 === 4) {\n return \"mesece\";\n } else {\n return \"mesecev\";\n }\n },\n w: function (c) {\n if (c % 10 === 1) {\n return \"teden\";\n } else if (c % 10 === 2 || (Math.floor(c) !== c && c % 100 <= 4)) {\n return \"tedna\";\n } else if (c % 10 === 3 || c % 10 === 4) {\n return \"tedne\";\n } else {\n return \"tednov\";\n }\n },\n d: function (c) {\n return c % 100 === 1 ? \"dan\" : \"dni\";\n },\n h: function (c) {\n if (c % 10 === 1) {\n return \"ura\";\n } else if (c % 100 === 2) {\n return \"uri\";\n } else if (c % 10 === 3 || c % 10 === 4 || Math.floor(c) !== c) {\n return \"ure\";\n } else {\n return \"ur\";\n }\n },\n m: function (c) {\n if (c % 10 === 1) {\n return \"minuta\";\n } else if (c % 10 === 2) {\n return \"minuti\";\n } else if (\n c % 10 === 3 ||\n c % 10 === 4 ||\n (Math.floor(c) !== c && c % 100 <= 4)\n ) {\n return \"minute\";\n } else {\n return \"minut\";\n }\n },\n s: function (c) {\n if (c % 10 === 1) {\n return \"sekunda\";\n } else if (c % 100 === 2) {\n return \"sekundi\";\n } else if (c % 100 === 3 || c % 100 === 4 || Math.floor(c) !== c) {\n return \"sekunde\";\n } else {\n return \"sekund\";\n }\n },\n ms: function (c) {\n if (c % 10 === 1) {\n return \"milisekunda\";\n } else if (c % 100 === 2) {\n return \"milisekundi\";\n } else if (c % 100 === 3 || c % 100 === 4 || Math.floor(c) !== c) {\n return \"milisekunde\";\n } else {\n return \"milisekund\";\n }\n },\n decimal: \",\"\n },\n sv: {\n y: \"år\",\n mo: function (c) {\n return \"månad\" + (c === 1 ? \"\" : \"er\");\n },\n w: function (c) {\n return \"veck\" + (c === 1 ? \"a\" : \"or\");\n },\n d: function (c) {\n return \"dag\" + (c === 1 ? \"\" : \"ar\");\n },\n h: function (c) {\n return \"timm\" + (c === 1 ? \"e\" : \"ar\");\n },\n m: function (c) {\n return \"minut\" + (c === 1 ? \"\" : \"er\");\n },\n s: function (c) {\n return \"sekund\" + (c === 1 ? \"\" : \"er\");\n },\n ms: function (c) {\n return \"millisekund\" + (c === 1 ? \"\" : \"er\");\n },\n decimal: \",\"\n },\n sw: {\n y: function (c) {\n return c === 1 ? \"mwaka\" : \"miaka\";\n },\n mo: function (c) {\n return c === 1 ? \"mwezi\" : \"miezi\";\n },\n w: \"wiki\",\n d: function (c) {\n return c === 1 ? \"siku\" : \"masiku\";\n },\n h: function (c) {\n return c === 1 ? \"saa\" : \"masaa\";\n },\n m: \"dakika\",\n s: \"sekunde\",\n ms: \"milisekunde\",\n decimal: \".\"\n },\n tr: {\n y: \"yıl\",\n mo: \"ay\",\n w: \"hafta\",\n d: \"gün\",\n h: \"saat\",\n m: \"dakika\",\n s: \"saniye\",\n ms: \"milisaniye\",\n decimal: \",\"\n },\n th: {\n y: \"ปี\",\n mo: \"เดือน\",\n w: \"สัปดาห์\",\n d: \"วัน\",\n h: \"ชั่วโมง\",\n m: \"นาที\",\n s: \"วินาที\",\n ms: \"มิลลิวินาที\",\n decimal: \".\"\n },\n vi: {\n y: \"năm\",\n mo: \"tháng\",\n w: \"tuần\",\n d: \"ngày\",\n h: \"giờ\",\n m: \"phút\",\n s: \"giây\",\n ms: \"mili giây\",\n decimal: \",\"\n },\n zh_CN: {\n y: \"年\",\n mo: \"个月\",\n w: \"周\",\n d: \"天\",\n h: \"小时\",\n m: \"分钟\",\n s: \"秒\",\n ms: \"毫秒\",\n decimal: \".\"\n },\n zh_TW: {\n y: \"年\",\n mo: \"個月\",\n w: \"周\",\n d: \"天\",\n h: \"小時\",\n m: \"分鐘\",\n s: \"秒\",\n ms: \"毫秒\",\n decimal: \".\"\n }\n };\n\n // You can create a humanizer, which returns a function with default\n // parameters.\n function humanizer(passedOptions) {\n var result = function humanizer(ms, humanizerOptions) {\n var options = assign({}, result, humanizerOptions || {});\n return doHumanization(ms, options);\n };\n\n return assign(\n result,\n {\n language: \"en\",\n spacer: \" \",\n conjunction: \"\",\n serialComma: true,\n units: [\"y\", \"mo\", \"w\", \"d\", \"h\", \"m\", \"s\"],\n languages: {},\n round: false,\n unitMeasures: {\n y: 31557600000,\n mo: 2629800000,\n w: 604800000,\n d: 86400000,\n h: 3600000,\n m: 60000,\n s: 1000,\n ms: 1\n }\n },\n passedOptions\n );\n }\n\n // The main function is just a wrapper around a default humanizer.\n var humanizeDuration = humanizer({});\n\n // Build dictionary from options\n function getDictionary(options) {\n var languagesFromOptions = [options.language];\n\n if (has(options, \"fallbacks\")) {\n if (isArray(options.fallbacks) && options.fallbacks.length) {\n languagesFromOptions = languagesFromOptions.concat(options.fallbacks);\n } else {\n throw new Error(\"fallbacks must be an array with at least one element\");\n }\n }\n\n for (var i = 0; i < languagesFromOptions.length; i++) {\n var languageToTry = languagesFromOptions[i];\n if (has(options.languages, languageToTry)) {\n return options.languages[languageToTry];\n } else if (has(LANGUAGES, languageToTry)) {\n return LANGUAGES[languageToTry];\n }\n }\n\n throw new Error(\"No language found.\");\n }\n\n // doHumanization does the bulk of the work.\n function doHumanization(ms, options) {\n var i, len, piece;\n\n // Make sure we have a positive number.\n // Has the nice sideffect of turning Number objects into primitives.\n ms = Math.abs(ms);\n\n var dictionary = getDictionary(options);\n var pieces = [];\n\n // Start at the top and keep removing units, bit by bit.\n var unitName, unitMS, unitCount;\n for (i = 0, len = options.units.length; i < len; i++) {\n unitName = options.units[i];\n unitMS = options.unitMeasures[unitName];\n\n // What's the number of full units we can fit?\n if (i + 1 === len) {\n if (has(options, \"maxDecimalPoints\")) {\n // We need to use this expValue to avoid rounding functionality of toFixed call\n var expValue = Math.pow(10, options.maxDecimalPoints);\n var unitCountFloat = ms / unitMS;\n unitCount = parseFloat(\n (Math.floor(expValue * unitCountFloat) / expValue).toFixed(\n options.maxDecimalPoints\n )\n );\n } else {\n unitCount = ms / unitMS;\n }\n } else {\n unitCount = Math.floor(ms / unitMS);\n }\n\n // Add the string.\n pieces.push({\n unitCount: unitCount,\n unitName: unitName\n });\n\n // Remove what we just figured out.\n ms -= unitCount * unitMS;\n }\n\n var firstOccupiedUnitIndex = 0;\n for (i = 0; i < pieces.length; i++) {\n if (pieces[i].unitCount) {\n firstOccupiedUnitIndex = i;\n break;\n }\n }\n\n if (options.round) {\n var ratioToLargerUnit, previousPiece;\n for (i = pieces.length - 1; i >= 0; i--) {\n piece = pieces[i];\n piece.unitCount = Math.round(piece.unitCount);\n\n if (i === 0) {\n break;\n }\n\n previousPiece = pieces[i - 1];\n\n ratioToLargerUnit =\n options.unitMeasures[previousPiece.unitName] /\n options.unitMeasures[piece.unitName];\n if (\n piece.unitCount % ratioToLargerUnit === 0 ||\n (options.largest && options.largest - 1 < i - firstOccupiedUnitIndex)\n ) {\n previousPiece.unitCount += piece.unitCount / ratioToLargerUnit;\n piece.unitCount = 0;\n }\n }\n }\n\n var result = [];\n for (i = 0, pieces.length; i < len; i++) {\n piece = pieces[i];\n if (piece.unitCount) {\n result.push(\n render(piece.unitCount, piece.unitName, dictionary, options)\n );\n }\n\n if (result.length === options.largest) {\n break;\n }\n }\n\n if (result.length) {\n var delimiter;\n if (has(options, \"delimiter\")) {\n delimiter = options.delimiter;\n } else if (has(dictionary, \"delimiter\")) {\n delimiter = dictionary.delimiter;\n } else {\n delimiter = \", \";\n }\n\n if (!options.conjunction || result.length === 1) {\n return result.join(delimiter);\n } else if (result.length === 2) {\n return result.join(options.conjunction);\n } else if (result.length > 2) {\n return (\n result.slice(0, -1).join(delimiter) +\n (options.serialComma ? \",\" : \"\") +\n options.conjunction +\n result.slice(-1)\n );\n }\n } else {\n return render(\n 0,\n options.units[options.units.length - 1],\n dictionary,\n options\n );\n }\n }\n\n function render(count, type, dictionary, options) {\n var decimal;\n if (has(options, \"decimal\")) {\n decimal = options.decimal;\n } else if (has(dictionary, \"decimal\")) {\n decimal = dictionary.decimal;\n } else {\n decimal = \".\";\n }\n\n var countStr;\n if (typeof dictionary._formatCount === \"function\") {\n countStr = dictionary._formatCount(count, decimal);\n } else {\n countStr = count.toString().replace(\".\", decimal);\n }\n\n var dictionaryValue = dictionary[type];\n var word;\n if (typeof dictionaryValue === \"function\") {\n word = dictionaryValue(count);\n } else {\n word = dictionaryValue;\n }\n\n return countStr + options.spacer + word;\n }\n\n function assign(destination) {\n var source;\n for (var i = 1; i < arguments.length; i++) {\n source = arguments[i];\n for (var prop in source) {\n if (has(source, prop)) {\n destination[prop] = source[prop];\n }\n }\n }\n return destination;\n }\n\n function getArabicForm(c) {\n if (c === 1) {\n return 0;\n }\n if (c === 2) {\n return 1;\n }\n if (c > 2 && c < 11) {\n return 2;\n }\n return 0;\n }\n\n function getPolishForm(c) {\n if (c === 1) {\n return 0;\n } else if (Math.floor(c) !== c) {\n return 1;\n } else if (c % 10 >= 2 && c % 10 <= 4 && !(c % 100 > 10 && c % 100 < 20)) {\n return 2;\n } else {\n return 3;\n }\n }\n\n function getSlavicForm(c) {\n if (Math.floor(c) !== c) {\n return 2;\n } else if (\n (c % 100 >= 5 && c % 100 <= 20) ||\n (c % 10 >= 5 && c % 10 <= 9) ||\n c % 10 === 0\n ) {\n return 0;\n } else if (c % 10 === 1) {\n return 1;\n } else if (c > 1) {\n return 2;\n } else {\n return 0;\n }\n }\n\n function getCzechOrSlovakForm(c) {\n if (c === 1) {\n return 0;\n } else if (Math.floor(c) !== c) {\n return 1;\n } else if (c % 10 >= 2 && c % 10 <= 4 && c % 100 < 10) {\n return 2;\n } else {\n return 3;\n }\n }\n\n function getLithuanianForm(c) {\n if (c === 1 || (c % 10 === 1 && c % 100 > 20)) {\n return 0;\n } else if (\n Math.floor(c) !== c ||\n (c % 10 >= 2 && c % 100 > 20) ||\n (c % 10 >= 2 && c % 100 < 10)\n ) {\n return 1;\n } else {\n return 2;\n }\n }\n\n function getLatvianForm(c) {\n return c % 10 === 1 && c % 100 !== 11;\n }\n\n // We need to make sure we support browsers that don't have\n // `Array.isArray`, so we define a fallback here.\n var isArray =\n Array.isArray ||\n function (arg) {\n return Object.prototype.toString.call(arg) === \"[object Array]\";\n };\n\n function has(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n }\n\n humanizeDuration.getSupportedLanguages = function getSupportedLanguages() {\n var result = [];\n for (var language in LANGUAGES) {\n if (has(LANGUAGES, language) && language !== \"gr\") {\n result.push(language);\n }\n }\n return result;\n };\n\n humanizeDuration.humanizer = humanizer;\n\n if (typeof define === \"function\" && define.amd) {\n define(function () {\n return humanizeDuration;\n });\n } else if (typeof module !== \"undefined\" && module.exports) {\n module.exports = humanizeDuration;\n } else {\n this.humanizeDuration = humanizeDuration;\n }\n})();\n","module.exports = __WEBPACK_EXTERNAL_MODULE__9__;","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","import React from \"react\";\nimport { MultiSelect, Select } from \"@grafana/ui\";\n/**\n * FieldSelectEditor populates a Select with the names of the fields returned by\n * the query.\n *\n * Requires Grafana >=7.0.3. For more information, refer to the following\n * pull request:\n *\n * https://github.com/grafana/grafana/pull/24829\n */\nexport var FieldSelectEditor = function (_a) {\n var _b;\n var item = _a.item, value = _a.value, onChange = _a.onChange, context = _a.context;\n if (context.data && context.data.length > 0) {\n var options = context.data\n .flatMap(function (frame) { return frame.fields; })\n .filter(function (field) {\n var _a, _b;\n return ((_a = item.settings) === null || _a === void 0 ? void 0 : _a.filterByType) ? (_b = item.settings) === null || _b === void 0 ? void 0 : _b.filterByType.some(function (_) { return field.type === _; }) : true;\n })\n .map(function (field) { return ({\n label: field.name,\n value: field.name,\n }); });\n if ((_b = item.settings) === null || _b === void 0 ? void 0 : _b.multi) {\n return (React.createElement(MultiSelect, { isClearable: true, isLoading: false, value: value, onChange: function (e) { return onChange(e.map(function (_) { return _.value; })); }, options: options }));\n }\n else {\n return (React.createElement(Select, { isClearable: true, isLoading: false, value: value, onChange: function (e) {\n onChange(e === null || e === void 0 ? void 0 : e.value);\n }, options: options }));\n }\n }\n return React.createElement(Select, { onChange: function () { }, disabled: true });\n};\n//# sourceMappingURL=FieldSelectEditor.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { __makeTemplateObject } from \"tslib\";\nimport React from \"react\";\nimport { Badge, Icon, InfoBox, useTheme } from \"@grafana/ui\";\nimport { css } from \"emotion\";\nexport var PanelWizard = function (_a) {\n var schema = _a.schema, fields = _a.fields, url = _a.url;\n var theme = useTheme();\n var report = validateFields(fields !== null && fields !== void 0 ? fields : [], schema);\n return (React.createElement(\"div\", { style: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"100%\",\n } },\n React.createElement(InfoBox, { title: \"Configure your query\", url: url, severity: \"info\", style: { maxWidth: \"500px\" } },\n React.createElement(\"p\", null, \"Define a data source query that return at least the following field\" + (report.length > 1 ? \"s\" : \"\") + \":\"),\n React.createElement(\"div\", null, report.map(function (_a, key) {\n var type = _a.type, description = _a.description, ok = _a.ok;\n return (React.createElement(\"div\", { key: key, className: css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n padding-bottom: \", \";\\n & > * {\\n margin-right: \", \";\\n }\\n & > *:last-child {\\n margin-right: 0;\\n }\\n \"], [\"\\n display: flex;\\n align-items: center;\\n padding-bottom: \", \";\\n & > * {\\n margin-right: \", \";\\n }\\n & > *:last-child {\\n margin-right: 0;\\n }\\n \"])), theme.spacing.sm, theme.spacing.sm) },\n ok ? (React.createElement(Icon, { name: \"check-circle\", size: \"lg\", style: {\n color: theme.palette.brandSuccess,\n } })) : (React.createElement(Icon, { name: \"circle\", size: \"lg\", style: {\n color: theme.colors.linkDisabled,\n } })),\n React.createElement(Badge, { className: css(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-top: 0;\\n \"], [\"\\n margin-top: 0;\\n \"]))), text: type.slice(0, 1).toUpperCase() + type.slice(1), color: \"blue\" }),\n description && React.createElement(\"span\", null, \"\" + description)));\n })))));\n};\nexport var validateFields = function (fields, schema) {\n var seen = [];\n return schema.map(function (_a) {\n var type = _a.type, description = _a.description;\n var field = fields\n .filter(function (field) { return !seen.includes(field); })\n .find(function (field) { return field.type === type; });\n if (field) {\n seen.push(field);\n }\n return { type: type, description: description, ok: !!field };\n });\n};\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=PanelWizard.js.map","import { __assign } from \"tslib\";\nimport { ArrayVector, dateTimeParse, FieldType, getDisplayProcessor, } from \"@grafana/data\";\nexport var toTimeField = function (field, timeZone, theme) {\n if ((field === null || field === void 0 ? void 0 : field.type) === FieldType.number) {\n var tmp = __assign(__assign({}, field), { type: FieldType.time });\n tmp.display = getDisplayProcessor({ field: tmp, timeZone: timeZone, theme: theme });\n return tmp;\n }\n else if ((field === null || field === void 0 ? void 0 : field.type) === FieldType.string) {\n var tmp = __assign(__assign({}, field), { type: FieldType.time, values: new ArrayVector(field.values.toArray().map(function (_) {\n return dateTimeParse(_, {\n timeZone: timeZone,\n format: \"YYYY-MM-DDTHH:mm:ss.SSSSSSSZ\",\n }).valueOf();\n })) });\n tmp.display = getDisplayProcessor({ field: tmp, timeZone: timeZone, theme: theme });\n return tmp;\n }\n return field;\n};\n//# sourceMappingURL=fields.js.map","export var measureText = function (text, size) {\n var canvas = document.createElement(\"canvas\");\n var ctx = canvas.getContext(\"2d\");\n if (ctx) {\n ctx.font = size + \" sans-serif\";\n return ctx.measureText(text);\n }\n return undefined;\n};\nexport var getFormattedDisplayValue = function (displayValue) {\n var _a, _b;\n return displayValue\n ? \"\" + ((_a = displayValue.prefix) !== null && _a !== void 0 ? _a : \"\") + displayValue.text + ((_b = displayValue.suffix) !== null && _b !== void 0 ? _b : \"\")\n : \"\";\n};\n//# sourceMappingURL=format.js.map","import {} from '@emotion/core';\nimport { StandardEditorProps } from '@grafana/data';\nimport { Button, ColorPicker, Icon, Input, useTheme } from '@grafana/ui';\nimport { css } from 'emotion';\nimport React, { FormEvent } from 'react';\n\ninterface ColorMapping {\n text: string;\n color: string;\n}\n\ninterface Settings {}\n\ninterface Props extends StandardEditorProps {}\n\nexport const ColorEditor: React.FC = ({ item, value, onChange, context }) => {\n const theme = useTheme();\n\n const colors = value || [];\n\n const onTextChange = (index: number) => (event: FormEvent) => {\n onChange(value.map((v, i) => (i === index ? { ...v, text: event.currentTarget.value } : v)));\n };\n const onColorChange = (index: number) => (color: string) => {\n onChange(value.map((v, i) => (i === index ? { ...v, color } : v)));\n };\n const addColor = () => {\n onChange([...colors, { text: '', color: 'green' }]);\n };\n const onRemoveColor = (index: number) => {\n onChange(colors.filter((_, i) => i !== index));\n };\n\n return (\n <>\n addColor()}\n >\n Add color mapping\n \n
\n {colors.map(({ text, color }, i) => {\n return (\n \n \n
\n }\n value={text}\n onChange={onTextChange(i)}\n suffix={\n onRemoveColor(i)}\n />\n }\n />\n );\n })}\n \n \n );\n};\n","import { ContextMenu, MenuItemProps } from '@grafana/ui';\nimport React from 'react';\n\nconst AnyContextMenu: any = ContextMenu;\n\ninterface MenuGroup {\n label: string;\n items: MenuItemProps[];\n}\n\ninterface Props {\n x: number;\n y: number;\n onClose?: () => void;\n renderMenuItems?: () => MenuGroup[];\n renderHeader?: () => React.ReactNode;\n}\n\n/**\n * LegacyContextMenu adapts the context menu from 7.0 for the latest version of\n * grafana/ui. This component is a monstrosity—summoned in the\n * quest for backwards-compatibility.\n *\n * Since we don't have the correct type definitions, this component uses a\n * generous amount of any types. If I figure out how to do it, maybe we could\n * include our own type definitions.\n *\n * I tried including an older version of the grafana packages using package\n * aliases, but it wouldn't compile with recent version of grafana-toolkit.\n */\nexport const LegacyContextMenu = ({ x, y, onClose, renderMenuItems, renderHeader }: Props) => {\n const itemGroups: any[] | undefined = renderMenuItems\n ? renderMenuItems().map((group) => ({\n label: group.label,\n items: group.items.map((item) => ({ ...item })),\n }))\n : undefined;\n\n return ;\n};\n","import { config } from '@grafana/runtime';\nimport {\n ContextMenu as GrafanaContextMenu,\n MenuGroup as GrafanaMenuGroup,\n MenuItem as GrafanaMenuItem,\n MenuItemProps as GrafanaMenuItemProps,\n} from '@grafana/ui';\nimport React from 'react';\nimport { gte } from 'semver';\nimport { LegacyContextMenu } from './LegacyContextMenu';\n\nexport interface MenuGroup {\n label: string;\n items: GrafanaMenuItemProps[];\n}\n\ninterface Props {\n x: number;\n y: number;\n onClose: () => void;\n renderMenuItems: () => MenuGroup[];\n renderHeader: () => React.ReactNode;\n}\n\n/**\n * ContextMenu is a wrapper for the grafana/ui ContextMenu that falls back to\n * a legacy version on earlier versions of Grafana.\n */\nexport const ContextMenu = ({ x, y, onClose, renderMenuItems, renderHeader }: Props) => {\n const version = config.buildInfo.version;\n if (gte(version, '8.0.0')) {\n return (\n \n renderMenuItems().map((group, index) => (\n \n {(group.items || []).map((item) => (\n \n ))}\n \n ))\n }\n renderHeader={renderHeader}\n />\n );\n } else {\n return (\n \n );\n }\n};\n","export default function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top\n };\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\"; // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement);\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(options) {\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","import { top, left, right, bottom } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(round(x * dpr) / dpr) || 0,\n y: round(round(y * dpr) / dpr) || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets;\n\n var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,\n _ref3$x = _ref3.x,\n x = _ref3$x === void 0 ? 0 : _ref3$x,\n _ref3$y = _ref3.y,\n y = _ref3$y === void 0 ? 0 : _ref3$y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top) {\n sideY = bottom; // $FlowFixMe[prop-missing]\n\n y -= offsetParent[heightProp] - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right; // $FlowFixMe[prop-missing]\n\n x -= offsetParent[widthProp] - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref4) {\n var state = _ref4.state,\n options = _ref4.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\";\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var referenceElement = state.elements.reference;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(referenceElement);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport default function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport within from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { max as mathMax, min as mathMin } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis || checkAltAxis) {\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = popperOffsets[mainAxis] + overflow[mainSide];\n var max = popperOffsets[mainAxis] - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n if (checkMainAxis) {\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var _preventedOffset = within(tether ? mathMin(_min, tetherMin) : _min, _offset, tether ? mathMax(_max, tetherMax) : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport within from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","/**!\n* tippy.js v6.3.1\n* (c) 2017-2021 atomiks\n* MIT License\n*/\nimport { createPopper, applyStyles } from '@popperjs/core';\n\nvar ROUND_ARROW = '';\nvar BOX_CLASS = \"tippy-box\";\nvar CONTENT_CLASS = \"tippy-content\";\nvar BACKDROP_CLASS = \"tippy-backdrop\";\nvar ARROW_CLASS = \"tippy-arrow\";\nvar SVG_ARROW_CLASS = \"tippy-svg-arrow\";\nvar TOUCH_OPTIONS = {\n passive: true,\n capture: true\n};\n\nfunction hasOwnProperty(obj, key) {\n return {}.hasOwnProperty.call(obj, key);\n}\nfunction getValueAtIndexOrReturn(value, index, defaultValue) {\n if (Array.isArray(value)) {\n var v = value[index];\n return v == null ? Array.isArray(defaultValue) ? defaultValue[index] : defaultValue : v;\n }\n\n return value;\n}\nfunction isType(value, type) {\n var str = {}.toString.call(value);\n return str.indexOf('[object') === 0 && str.indexOf(type + \"]\") > -1;\n}\nfunction invokeWithArgsOrReturn(value, args) {\n return typeof value === 'function' ? value.apply(void 0, args) : value;\n}\nfunction debounce(fn, ms) {\n // Avoid wrapping in `setTimeout` if ms is 0 anyway\n if (ms === 0) {\n return fn;\n }\n\n var timeout;\n return function (arg) {\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n fn(arg);\n }, ms);\n };\n}\nfunction removeProperties(obj, keys) {\n var clone = Object.assign({}, obj);\n keys.forEach(function (key) {\n delete clone[key];\n });\n return clone;\n}\nfunction splitBySpaces(value) {\n return value.split(/\\s+/).filter(Boolean);\n}\nfunction normalizeToArray(value) {\n return [].concat(value);\n}\nfunction pushIfUnique(arr, value) {\n if (arr.indexOf(value) === -1) {\n arr.push(value);\n }\n}\nfunction unique(arr) {\n return arr.filter(function (item, index) {\n return arr.indexOf(item) === index;\n });\n}\nfunction getBasePlacement(placement) {\n return placement.split('-')[0];\n}\nfunction arrayFrom(value) {\n return [].slice.call(value);\n}\nfunction removeUndefinedProps(obj) {\n return Object.keys(obj).reduce(function (acc, key) {\n if (obj[key] !== undefined) {\n acc[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n\nfunction div() {\n return document.createElement('div');\n}\nfunction isElement(value) {\n return ['Element', 'Fragment'].some(function (type) {\n return isType(value, type);\n });\n}\nfunction isNodeList(value) {\n return isType(value, 'NodeList');\n}\nfunction isMouseEvent(value) {\n return isType(value, 'MouseEvent');\n}\nfunction isReferenceElement(value) {\n return !!(value && value._tippy && value._tippy.reference === value);\n}\nfunction getArrayOfElements(value) {\n if (isElement(value)) {\n return [value];\n }\n\n if (isNodeList(value)) {\n return arrayFrom(value);\n }\n\n if (Array.isArray(value)) {\n return value;\n }\n\n return arrayFrom(document.querySelectorAll(value));\n}\nfunction setTransitionDuration(els, value) {\n els.forEach(function (el) {\n if (el) {\n el.style.transitionDuration = value + \"ms\";\n }\n });\n}\nfunction setVisibilityState(els, state) {\n els.forEach(function (el) {\n if (el) {\n el.setAttribute('data-state', state);\n }\n });\n}\nfunction getOwnerDocument(elementOrElements) {\n var _element$ownerDocumen;\n\n var _normalizeToArray = normalizeToArray(elementOrElements),\n element = _normalizeToArray[0]; // Elements created via a