@kong-ui-public/analytics-chart 10.30.0 → 10.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vitals-chart.es.js +1211 -1211
- package/dist/vitals-chart.umd.js +1 -1
- package/package.json +3 -3
package/dist/vitals-chart.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(Yt,p){typeof exports=="object"&&typeof module<"u"?p(exports,require("vue"),require("@kong/icons"),require("@kong-ui-public/i18n"),require("@kong-ui-public/analytics-metric-provider")):typeof define=="function"&&define.amd?define(["exports","vue","@kong/icons","@kong-ui-public/i18n","@kong-ui-public/analytics-metric-provider"],p):(Yt=typeof globalThis<"u"?globalThis:Yt||self,p(Yt["kong-ui-publicvitals-chart"]={},Yt.Vue,Yt.KongIcons,Yt["kong-ui-public-i18n"],Yt["kong-ui-public-analytics-metric-provider"]))})(this,(function(Yt,p,Ts,Xf,Qi){"use strict";var gt=(n=>(n.FIFTEEN_MIN="15m",n.ONE_HOUR="1h",n.SIX_HOUR="6h",n.TWELVE_HOUR="12h",n.ONE_DAY="24h",n.SEVEN_DAY="7d",n.THIRTY_DAY="30d",n.NINETY_DAY="90d",n.ONE_HUNDRED_EIGHTY_DAY="180d",n.ONE_YEAR="365d",n.CURRENT_WEEK="current_week",n.CURRENT_MONTH="current_month",n.CURRENT_QUARTER="current_quarter",n.CURRENT_YEAR="current_year",n.PREVIOUS_WEEK="previous_week",n.PREVIOUS_MONTH="previous_month",n.PREVIOUS_QUARTER="previous_quarter",n.PREVIOUS_YEAR="previous_year",n))(gt||{});const Hb=["in","not_in","selector"],Wb=["empty","not_empty"],Vb=["secondly","tenSecondly","thirtySecondly","minutely","fiveMinutely","tenMinutely","thirtyMinutely","hourly","twoHourly","twelveHourly","daily","weekly","trend"],Ji=n=>n.filter(t=>t!=="time"),Zf=["api","api_package","api_product","api_product_version","control_plane","control_plane_group","data_plane_node","gateway_service","portal","route","status_code","status_code_grouped","time"],Qf=Ji(Zf),$b=["active_services","error_rate","request_count","request_per_minute","response_latency_average"],Jf=[...Zf,"ai_gateway","ai_gateway_consumer","ai_gateway_data_plane_node","application","bot_info_action","bot_info_detection_reason","bot_info_ban_type","cache_status","consumer","consumer_group","country_code","oidc_credential","upstream_status_code","upstream_status_code_grouped","response_source","data_plane_node_version","realm","portal_api","principal"],th=Ji(Jf),Yb=[...$b,"cache_hit_rate","response_latency_p99","response_latency_p95","response_latency_p50","upstream_latency_p99","upstream_latency_p95","upstream_latency_p50","upstream_latency_average","kong_latency_p99","kong_latency_p95","kong_latency_p50","kong_latency_average","kong_internal_latency_p99","kong_internal_latency_p95","kong_internal_latency_p50","kong_internal_latency_average","response_size_p99","response_size_p95","response_size_p50","response_size_average","response_size_sum","request_size_p99","request_size_p95","request_size_p50","request_size_average","request_size_sum"],qb=["control_plane","control_plane_group","ai_gateway","gateway_service","consumer","ai_gateway_consumer","ai_gateway_consumer_group","application","oidc_credential","route","ai_provider","ai_response_model","ai_request_model","llm_cache_status","llm_embeddings_provider","llm_embeddings_model","time","realm","status_code","status_code_grouped","ai_plugin","principal","cache_status","ai_gateway_mcp_server","ai_gateway_model","ai_gateway_agent","ai_gateway_data_plane_node"],eh=Ji(qb),jb=["a2a_context_id","a2a_error","a2a_method","a2a_task_id","api","api_package","api_product","api_product_version","application","auth_type","bot_info_action","bot_info_detection_reason","bot_info_ja4_fingerprint","bot_info_ban_type","bot_info_header_names","cache_status","client_ip","consumer","ai_gateway_consumer","consumer_group","ai_gateway_consumer_group","control_plane","control_plane_group","ai_gateway","country_code","data_plane_node","data_plane_node_version","ai_gateway_data_plane_node","gateway_service","header_host","header_user_agent","http_method","mcp_error","mcp_method","mcp_session_id","mcp_tool_name","oidc_credential","portal","principal","realm","request_id","request_uri","response_header_content_type","response_source","route","service_port","service_protocol","sse","status_code_grouped","time","trace_id","upstream_uri","upstream_status_code_grouped","websocket"],Gb=Ji(jb),Kb=["auth_type","cache_status","client_ip","data_plane_node_version","header_host","header_user_agent","http_method","oidc_credential","request_id","request_uri","response_header_content_type","response_source","service_port","service_protocol","trace_id","upstream_uri"],Xb=Kb,Zb=["ai_count","latencies_response_ms","latencies_upstream_ms","latencies_kong_gateway_ms","latencies_kong_internal_ms","request_body_size","response_body_size","response_header_content_length","status_code","upstream_status_code"],Qb=Ji(Zb),Jb=["platform","platform_usage"],tx=n=>Jb.includes(n),ex=[...Jf,"a2a_context_id","a2a_error","a2a_method","a2a_task_id","ai_gateway_agent","ai_gateway_mcp_server","mcp_error","mcp_method","mcp_session_id","mcp_tool_name"],nh=Ji(ex);[...Yb];const nx=["control_plane","data_plane_group","managed_cache","network","provider","provider_region","time"],ih=Ji(nx);new Set(Qf),new Set(th),new Set(eh),new Set(nh),new Set(ih);const rh=[{code:"AF",name:"Afghanistan"},{code:"AX",name:"Aland Islands"},{code:"AL",name:"Albania"},{code:"DZ",name:"Algeria"},{code:"AS",name:"American Samoa"},{code:"AD",name:"Andorra"},{code:"AO",name:"Angola"},{code:"AI",name:"Anguilla"},{code:"AQ",name:"Antarctica"},{code:"AG",name:"Antigua and Barbuda"},{code:"AR",name:"Argentina"},{code:"AM",name:"Armenia"},{code:"AW",name:"Aruba"},{code:"AU",name:"Australia"},{code:"AT",name:"Austria"},{code:"AZ",name:"Azerbaijan"},{code:"BS",name:"Bahamas"},{code:"BH",name:"Bahrain"},{code:"BD",name:"Bangladesh"},{code:"BB",name:"Barbados"},{code:"BY",name:"Belarus"},{code:"BE",name:"Belgium"},{code:"BZ",name:"Belize"},{code:"BJ",name:"Benin"},{code:"BM",name:"Bermuda"},{code:"BT",name:"Bhutan"},{code:"BO",name:"Bolivia"},{code:"BA",name:"Bosnia and Herzegovina"},{code:"BW",name:"Botswana"},{code:"BV",name:"Bouvet Island"},{code:"BR",name:"Brazil"},{code:"IO",name:"British Indian Ocean Territory"},{code:"BN",name:"Brunei Darussalam"},{code:"BG",name:"Bulgaria"},{code:"BF",name:"Burkina Faso"},{code:"BI",name:"Burundi"},{code:"KH",name:"Cambodia"},{code:"CM",name:"Cameroon"},{code:"CA",name:"Canada"},{code:"CV",name:"Cape Verde"},{code:"KY",name:"Cayman Islands"},{code:"CF",name:"Central African Republic"},{code:"TD",name:"Chad"},{code:"CL",name:"Chile"},{code:"CN",name:"China"},{code:"CX",name:"Christmas Island"},{code:"CC",name:"Cocos (Keeling) Islands"},{code:"CO",name:"Colombia"},{code:"KM",name:"Comoros"},{code:"CG",name:"Congo"},{code:"CD",name:"Democratic Republic of the Congo"},{code:"CK",name:"Cook Islands"},{code:"CR",name:"Costa Rica"},{code:"CI",name:"Cote d'Ivoire"},{code:"HR",name:"Croatia"},{code:"CU",name:"Cuba"},{code:"CY",name:"Cyprus"},{code:"CZ",name:"Czech Republic"},{code:"DK",name:"Denmark"},{code:"DJ",name:"Djibouti"},{code:"DM",name:"Dominica"},{code:"DO",name:"Dominican Republic"},{code:"EC",name:"Ecuador"},{code:"EG",name:"Egypt"},{code:"SV",name:"El Salvador"},{code:"GQ",name:"Equatorial Guinea"},{code:"ER",name:"Eritrea"},{code:"EE",name:"Estonia"},{code:"ET",name:"Ethiopia"},{code:"FK",name:"Falkland Islands (Malvinas)"},{code:"FO",name:"Faroe Islands"},{code:"FJ",name:"Fiji"},{code:"FI",name:"Finland"},{code:"FR",name:"France"},{code:"GF",name:"French Guiana"},{code:"PF",name:"French Polynesia"},{code:"TF",name:"French Southern Territories"},{code:"GA",name:"Gabon"},{code:"GM",name:"Gambia"},{code:"GE",name:"Georgia"},{code:"DE",name:"Germany"},{code:"GH",name:"Ghana"},{code:"GI",name:"Gibraltar"},{code:"GR",name:"Greece"},{code:"GL",name:"Greenland"},{code:"GD",name:"Grenada"},{code:"GP",name:"Guadeloupe"},{code:"GU",name:"Guam"},{code:"GT",name:"Guatemala"},{code:"GG",name:"Guernsey"},{code:"GN",name:"Guinea"},{code:"GW",name:"Guinea-Bissau"},{code:"GY",name:"Guyana"},{code:"HT",name:"Haiti"},{code:"HM",name:"Heard Island and McDonald Islands"},{code:"VA",name:"The Vatican"},{code:"HN",name:"Honduras"},{code:"HK",name:"Hong Kong"},{code:"HU",name:"Hungary"},{code:"IS",name:"Iceland"},{code:"IN",name:"India"},{code:"ID",name:"Indonesia"},{code:"IR",name:"Iran"},{code:"IQ",name:"Iraq"},{code:"IE",name:"Ireland"},{code:"IM",name:"Isle of Man"},{code:"IL",name:"Israel"},{code:"IT",name:"Italy"},{code:"JM",name:"Jamaica"},{code:"JP",name:"Japan"},{code:"JE",name:"Jersey"},{code:"JO",name:"Jordan"},{code:"KZ",name:"Kazakhstan"},{code:"KE",name:"Kenya"},{code:"KI",name:"Kiribati"},{code:"KP",name:"North Korea"},{code:"KR",name:"South Korea"},{code:"KW",name:"Kuwait"},{code:"KG",name:"Kyrgyzstan"},{code:"LA",name:"Laos"},{code:"LV",name:"Latvia"},{code:"LB",name:"Lebanon"},{code:"LS",name:"Lesotho"},{code:"LR",name:"Liberia"},{code:"LY",name:"Libya"},{code:"LI",name:"Liechtenstein"},{code:"LT",name:"Lithuania"},{code:"LU",name:"Luxembourg"},{code:"MO",name:"Macao"},{code:"MK",name:"Macedonia"},{code:"MG",name:"Madagascar"},{code:"MW",name:"Malawi"},{code:"MY",name:"Malaysia"},{code:"MV",name:"Maldives"},{code:"ML",name:"Mali"},{code:"MT",name:"Malta"},{code:"MH",name:"Marshall Islands"},{code:"MQ",name:"Martinique"},{code:"MR",name:"Mauritania"},{code:"MU",name:"Mauritius"},{code:"YT",name:"Mayotte"},{code:"MX",name:"Mexico"},{code:"FM",name:"Micronesia, "},{code:"MD",name:"Moldova,"},{code:"MC",name:"Monaco"},{code:"MN",name:"Mongolia"},{code:"ME",name:"Montenegro"},{code:"MS",name:"Montserrat"},{code:"MA",name:"Morocco"},{code:"MZ",name:"Mozambique"},{code:"MM",name:"Myanmar"},{code:"NA",name:"Namibia"},{code:"NR",name:"Nauru"},{code:"NP",name:"Nepal"},{code:"NL",name:"Netherlands"},{code:"NC",name:"New Caledonia"},{code:"NZ",name:"New Zealand"},{code:"NI",name:"Nicaragua"},{code:"NE",name:"Niger"},{code:"NG",name:"Nigeria"},{code:"NU",name:"Niue"},{code:"NF",name:"Norfolk Island"},{code:"MP",name:"Northern Mariana Islands"},{code:"NO",name:"Norway"},{code:"OM",name:"Oman"},{code:"PK",name:"Pakistan"},{code:"PW",name:"Palau"},{code:"PA",name:"Panama"},{code:"PG",name:"Papua New Guinea"},{code:"PY",name:"Paraguay"},{code:"PE",name:"Peru"},{code:"PH",name:"Philippines"},{code:"PN",name:"Pitcairn"},{code:"PL",name:"Poland"},{code:"PT",name:"Portugal"},{code:"PR",name:"Puerto Rico"},{code:"QA",name:"Qatar"},{code:"RE",name:"Reunion"},{code:"RO",name:"Romania"},{code:"RU",name:"Russia"},{code:"RW",name:"Rwanda"},{code:"BL",name:"Saint Barthelemy"},{code:"SH",name:"Saint Helena"},{code:"KN",name:"Saint Kitts and Nevis"},{code:"LC",name:"Saint Lucia"},{code:"MF",name:"Saint Martin"},{code:"PM",name:"Saint Pierre and Miquelon"},{code:"VC",name:"Saint Vincent and the Grenadines"},{code:"WS",name:"Samoa"},{code:"SM",name:"San Marino"},{code:"ST",name:"Sao Tome and Principe"},{code:"SA",name:"Saudi Arabia"},{code:"SN",name:"Senegal"},{code:"RS",name:"Serbia"},{code:"SC",name:"Seychelles"},{code:"SL",name:"Sierra Leone"},{code:"SG",name:"Singapore"},{code:"SX",name:"Sint Maarten"},{code:"SK",name:"Slovakia"},{code:"SI",name:"Slovenia"},{code:"SB",name:"Solomon Islands"},{code:"SO",name:"Somalia"},{code:"ZA",name:"South Africa"},{code:"GS",name:"South Georgia and the South Sandwich Islands"},{code:"SS",name:"South Sudan"},{code:"ES",name:"Spain"},{code:"LK",name:"Sri Lanka"},{code:"SD",name:"Sudan"},{code:"SR",name:"Suriname"},{code:"SJ",name:"Svalbard and Jan Mayen"},{code:"SZ",name:"Swaziland"},{code:"SE",name:"Sweden"},{code:"CH",name:"Switzerland"},{code:"SY",name:"Syria"},{code:"TW",name:"Taiwan"},{code:"TJ",name:"Tajikistan"},{code:"TZ",name:"Tanzania"},{code:"TH",name:"Thailand"},{code:"TL",name:"Timor-Leste"},{code:"TG",name:"Togo"},{code:"TK",name:"Tokelau"},{code:"TO",name:"Tonga"},{code:"TT",name:"Trinidad and Tobago"},{code:"TN",name:"Tunisia"},{code:"TR",name:"Turkey"},{code:"TM",name:"Turkmenistan"},{code:"TC",name:"Turks and Caicos Islands"},{code:"TV",name:"Tuvalu"},{code:"UG",name:"Uganda"},{code:"UA",name:"Ukraine"},{code:"AE",name:"United Arab Emirates"},{code:"GB",name:"United Kingdom"},{code:"US",name:"United States"},{code:"UM",name:"United States Minor Outlying Islands"},{code:"UY",name:"Uruguay"},{code:"UZ",name:"Uzbekistan"},{code:"VU",name:"Vanuatu"},{code:"VE",name:"Venezuela"},{code:"VN",name:"Vietnam"},{code:"VG",name:"British Virgin Islands"},{code:"VI",name:"U.S. Virgin Islands"},{code:"WF",name:"Wallis and Futuna"},{code:"EH",name:"Western Sahara"},{code:"YE",name:"Yemen"},{code:"ZM",name:"Zambia"},{code:"ZW",name:"Zimbabwe"}];rh.map(n=>n.code);const sh=n=>({type:"array",description:"A list of filters to apply to the query",items:{oneOf:[{type:"object",description:"In filter",properties:{field:{type:"string",...n?{enum:n}:{}},operator:{type:"string",enum:Hb},value:{type:"array",items:{type:["string","number","null"]}}},required:["field","operator","value"],additionalProperties:!1},{type:"object",description:"Empty filter",properties:{field:{type:"string",...n?{enum:n}:{}},operator:{type:"string",enum:Wb}},required:["field","operator"],additionalProperties:!1}]}}),ix=["control_plane","gateway_service","realm","route","plugin","plugin_name","plugin_scope","data_plane_node_version","env","team","region","hostname"];sh(Array.from(new Set([...Gb,...Xb,...Qb]))),sh([...new Set([...th,...Qf,...eh,...nh,...ix,...ih])]);const rx={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},sx=(n,t,e)=>{let i;const r=rx[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e?.addSuffix?e.comparison&&e.comparison>0?"in "+i:i+" ago":i};function _c(n){return(t={})=>{const e=t.width?String(t.width):n.defaultWidth;return n.formats[e]||n.formats[n.defaultWidth]}}const ox={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},ax={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},lx={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},cx={date:_c({formats:ox,defaultWidth:"full"}),time:_c({formats:ax,defaultWidth:"full"}),dateTime:_c({formats:lx,defaultWidth:"full"})},ux={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},dx=(n,t,e,i)=>ux[n];function Ms(n){return(t,e)=>{const i=e?.context?String(e.context):"standalone";let r;if(i==="formatting"&&n.formattingValues){const a=n.defaultFormattingWidth||n.defaultWidth,l=e?.width?String(e.width):a;r=n.formattingValues[l]||n.formattingValues[a]}else{const a=n.defaultWidth,l=e?.width?String(e.width):n.defaultWidth;r=n.values[l]||n.values[a]}const s=n.argumentCallback?n.argumentCallback(t):t;return r[s]}}const fx={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},hx={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},px={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},gx={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},mx={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},yx={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},_x=(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},bx={ordinalNumber:_x,era:Ms({values:fx,defaultWidth:"wide"}),quarter:Ms({values:hx,defaultWidth:"wide",argumentCallback:n=>n-1}),month:Ms({values:px,defaultWidth:"wide"}),day:Ms({values:gx,defaultWidth:"wide"}),dayPeriod:Ms({values:mx,defaultWidth:"wide",formattingValues:yx,defaultFormattingWidth:"wide"})};function ks(n){return(t,e={})=>{const i=e.width,r=i&&n.matchPatterns[i]||n.matchPatterns[n.defaultMatchWidth],s=t.match(r);if(!s)return null;const a=s[0],l=i&&n.parsePatterns[i]||n.parsePatterns[n.defaultParseWidth],u=Array.isArray(l)?wx(l,g=>g.test(a)):xx(l,g=>g.test(a));let d;d=n.valueCallback?n.valueCallback(u):u,d=e.valueCallback?e.valueCallback(d):d;const h=t.slice(a.length);return{value:d,rest:h}}}function xx(n,t){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&t(n[e]))return e}function wx(n,t){for(let e=0;e<n.length;e++)if(t(n[e]))return e}function vx(n){return(t,e={})=>{const i=t.match(n.matchPattern);if(!i)return null;const r=i[0],s=t.match(n.parsePattern);if(!s)return null;let a=n.valueCallback?n.valueCallback(s[0]):s[0];a=e.valueCallback?e.valueCallback(a):a;const l=t.slice(r.length);return{value:a,rest:l}}}const Sx=/^(\d+)(th|st|nd|rd)?/i,Tx=/\d+/i,Mx={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},kx={any:[/^b/i,/^(a|c)/i]},Dx={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Cx={any:[/1/i,/2/i,/3/i,/4/i]},Ox={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Ax={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Rx={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Ex={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Px={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Ix={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Lx={ordinalNumber:vx({matchPattern:Sx,parsePattern:Tx,valueCallback:n=>parseInt(n,10)}),era:ks({matchPatterns:Mx,defaultMatchWidth:"wide",parsePatterns:kx,defaultParseWidth:"any"}),quarter:ks({matchPatterns:Dx,defaultMatchWidth:"wide",parsePatterns:Cx,defaultParseWidth:"any",valueCallback:n=>n+1}),month:ks({matchPatterns:Ox,defaultMatchWidth:"wide",parsePatterns:Ax,defaultParseWidth:"any"}),day:ks({matchPatterns:Rx,defaultMatchWidth:"wide",parsePatterns:Ex,defaultParseWidth:"any"}),dayPeriod:ks({matchPatterns:Px,defaultMatchWidth:"any",parsePatterns:Ix,defaultParseWidth:"any"})},Nx={code:"en-US",formatDistance:sx,formatLong:cx,formatRelative:dx,localize:bx,match:Lx,options:{weekStartsOn:0,firstWeekContainsDate:1}};let Bx={};function Ds(){return Bx}const oh=6048e5,Fx=864e5,zx=60,Ux=3600,ah=Symbol.for("constructDateFrom");function Sn(n,t){return typeof n=="function"?n(t):n&&typeof n=="object"&&ah in n?n[ah](t):n instanceof Date?new n.constructor(t):new Date(t)}function ze(n,t){return Sn(t||n,n)}function lh(n){const t=ze(n),e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),+n-+e}function Hx(n,...t){const e=Sn.bind(null,t.find(i=>typeof i=="object"));return t.map(e)}function Rr(n,t){const e=ze(n,t?.in);return e.setHours(0,0,0,0),e}function Wx(n,t,e){const[i,r]=Hx(e?.in,n,t),s=Rr(i),a=Rr(r),l=+s-lh(s),u=+a-lh(a);return Math.round((l-u)/Fx)}function Vx(n,t){const e=ze(n,t?.in);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e}function $x(n,t){const e=ze(n,t?.in);return Wx(e,Vx(e))+1}function Jn(n,t){const e=Ds(),i=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??e.weekStartsOn??e.locale?.options?.weekStartsOn??0,r=ze(n,t?.in),s=r.getDay(),a=(s<i?7:0)+s-i;return r.setDate(r.getDate()-a),r.setHours(0,0,0,0),r}function Jo(n,t){return Jn(n,{...t,weekStartsOn:1})}function ch(n,t){const e=ze(n,t?.in),i=e.getFullYear(),r=Sn(e,0);r.setFullYear(i+1,0,4),r.setHours(0,0,0,0);const s=Jo(r),a=Sn(e,0);a.setFullYear(i,0,4),a.setHours(0,0,0,0);const l=Jo(a);return e.getTime()>=s.getTime()?i+1:e.getTime()>=l.getTime()?i:i-1}function Yx(n,t){const e=ch(n,t),i=Sn(n,0);return i.setFullYear(e,0,4),i.setHours(0,0,0,0),Jo(i)}function qx(n,t){const e=ze(n,t?.in),i=+Jo(e)-+Yx(e);return Math.round(i/oh)+1}function uh(n,t){const e=ze(n,t?.in),i=e.getFullYear(),r=Ds(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=Sn(t?.in||n,0);a.setFullYear(i+1,0,s),a.setHours(0,0,0,0);const l=Jn(a,t),u=Sn(t?.in||n,0);u.setFullYear(i,0,s),u.setHours(0,0,0,0);const d=Jn(u,t);return+e>=+l?i+1:+e>=+d?i:i-1}function jx(n,t){const e=Ds(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??e.firstWeekContainsDate??e.locale?.options?.firstWeekContainsDate??1,r=uh(n,t),s=Sn(t?.in||n,0);return s.setFullYear(r,0,i),s.setHours(0,0,0,0),Jn(s,t)}function Gx(n,t){const e=ze(n,t?.in),i=+Jn(e,t)-+jx(e,t);return Math.round(i/oh)+1}function Xt(n,t){const e=n<0?"-":"",i=Math.abs(n).toString().padStart(t,"0");return e+i}const wi={y(n,t){const e=n.getFullYear(),i=e>0?e:1-e;return Xt(t==="yy"?i%100:i,t.length)},M(n,t){const e=n.getMonth();return t==="M"?String(e+1):Xt(e+1,2)},d(n,t){return Xt(n.getDate(),t.length)},a(n,t){const e=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];default:return e==="am"?"a.m.":"p.m."}},h(n,t){return Xt(n.getHours()%12||12,t.length)},H(n,t){return Xt(n.getHours(),t.length)},m(n,t){return Xt(n.getMinutes(),t.length)},s(n,t){return Xt(n.getSeconds(),t.length)},S(n,t){const e=t.length,i=n.getMilliseconds(),r=Math.trunc(i*Math.pow(10,e-3));return Xt(r,t.length)}},Er={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},dh={G:function(n,t,e){const i=n.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return e.era(i,{width:"abbreviated"});case"GGGGG":return e.era(i,{width:"narrow"});default:return e.era(i,{width:"wide"})}},y:function(n,t,e){if(t==="yo"){const i=n.getFullYear(),r=i>0?i:1-i;return e.ordinalNumber(r,{unit:"year"})}return wi.y(n,t)},Y:function(n,t,e,i){const r=uh(n,i),s=r>0?r:1-r;if(t==="YY"){const a=s%100;return Xt(a,2)}return t==="Yo"?e.ordinalNumber(s,{unit:"year"}):Xt(s,t.length)},R:function(n,t){const e=ch(n);return Xt(e,t.length)},u:function(n,t){const e=n.getFullYear();return Xt(e,t.length)},Q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return Xt(i,2);case"Qo":return e.ordinalNumber(i,{unit:"quarter"});case"QQQ":return e.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(i,{width:"narrow",context:"formatting"});default:return e.quarter(i,{width:"wide",context:"formatting"})}},q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return Xt(i,2);case"qo":return e.ordinalNumber(i,{unit:"quarter"});case"qqq":return e.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(i,{width:"narrow",context:"standalone"});default:return e.quarter(i,{width:"wide",context:"standalone"})}},M:function(n,t,e){const i=n.getMonth();switch(t){case"M":case"MM":return wi.M(n,t);case"Mo":return e.ordinalNumber(i+1,{unit:"month"});case"MMM":return e.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(i,{width:"narrow",context:"formatting"});default:return e.month(i,{width:"wide",context:"formatting"})}},L:function(n,t,e){const i=n.getMonth();switch(t){case"L":return String(i+1);case"LL":return Xt(i+1,2);case"Lo":return e.ordinalNumber(i+1,{unit:"month"});case"LLL":return e.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(i,{width:"narrow",context:"standalone"});default:return e.month(i,{width:"wide",context:"standalone"})}},w:function(n,t,e,i){const r=Gx(n,i);return t==="wo"?e.ordinalNumber(r,{unit:"week"}):Xt(r,t.length)},I:function(n,t,e){const i=qx(n);return t==="Io"?e.ordinalNumber(i,{unit:"week"}):Xt(i,t.length)},d:function(n,t,e){return t==="do"?e.ordinalNumber(n.getDate(),{unit:"date"}):wi.d(n,t)},D:function(n,t,e){const i=$x(n);return t==="Do"?e.ordinalNumber(i,{unit:"dayOfYear"}):Xt(i,t.length)},E:function(n,t,e){const i=n.getDay();switch(t){case"E":case"EE":case"EEE":return e.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},e:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return Xt(s,2);case"eo":return e.ordinalNumber(s,{unit:"day"});case"eee":return e.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(r,{width:"short",context:"formatting"});default:return e.day(r,{width:"wide",context:"formatting"})}},c:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return Xt(s,t.length);case"co":return e.ordinalNumber(s,{unit:"day"});case"ccc":return e.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(r,{width:"narrow",context:"standalone"});case"cccccc":return e.day(r,{width:"short",context:"standalone"});default:return e.day(r,{width:"wide",context:"standalone"})}},i:function(n,t,e){const i=n.getDay(),r=i===0?7:i;switch(t){case"i":return String(r);case"ii":return Xt(r,t.length);case"io":return e.ordinalNumber(r,{unit:"day"});case"iii":return e.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},a:function(n,t,e){const i=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(i,{width:"narrow",context:"formatting"});default:return e.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(n,t,e){const i=n.getHours();let r;switch(i===12?r=Er.noon:i===0?r=Er.midnight:r=i/12>=1?"pm":"am",t){case"b":case"bb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(n,t,e){const i=n.getHours();let r;switch(i>=17?r=Er.evening:i>=12?r=Er.afternoon:i>=4?r=Er.morning:r=Er.night,t){case"B":case"BB":case"BBB":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(n,t,e){if(t==="ho"){let i=n.getHours()%12;return i===0&&(i=12),e.ordinalNumber(i,{unit:"hour"})}return wi.h(n,t)},H:function(n,t,e){return t==="Ho"?e.ordinalNumber(n.getHours(),{unit:"hour"}):wi.H(n,t)},K:function(n,t,e){const i=n.getHours()%12;return t==="Ko"?e.ordinalNumber(i,{unit:"hour"}):Xt(i,t.length)},k:function(n,t,e){let i=n.getHours();return i===0&&(i=24),t==="ko"?e.ordinalNumber(i,{unit:"hour"}):Xt(i,t.length)},m:function(n,t,e){return t==="mo"?e.ordinalNumber(n.getMinutes(),{unit:"minute"}):wi.m(n,t)},s:function(n,t,e){return t==="so"?e.ordinalNumber(n.getSeconds(),{unit:"second"}):wi.s(n,t)},S:function(n,t){return wi.S(n,t)},X:function(n,t,e){const i=n.getTimezoneOffset();if(i===0)return"Z";switch(t){case"X":return hh(i);case"XXXX":case"XX":return tr(i);default:return tr(i,":")}},x:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"x":return hh(i);case"xxxx":case"xx":return tr(i);default:return tr(i,":")}},O:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+fh(i,":");default:return"GMT"+tr(i,":")}},z:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+fh(i,":");default:return"GMT"+tr(i,":")}},t:function(n,t,e){const i=Math.trunc(+n/1e3);return Xt(i,t.length)},T:function(n,t,e){return Xt(+n,t.length)}};function fh(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.trunc(i/60),s=i%60;return s===0?e+String(r):e+String(r)+t+Xt(s,2)}function hh(n,t){return n%60===0?(n>0?"-":"+")+Xt(Math.abs(n)/60,2):tr(n,t)}function tr(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Xt(Math.trunc(i/60),2),s=Xt(i%60,2);return e+r+t+s}const ph=(n,t)=>{switch(n){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},gh=(n,t)=>{switch(n){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Kx=(n,t)=>{const e=n.match(/(P+)(p+)?/)||[],i=e[1],r=e[2];if(!r)return ph(n,t);let s;switch(i){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",ph(i,t)).replace("{{time}}",gh(r,t))},Xx={p:gh,P:Kx},Zx=/^D+$/,Qx=/^Y+$/,Jx=["D","DD","YY","YYYY"];function tw(n){return Zx.test(n)}function ew(n){return Qx.test(n)}function nw(n,t,e){const i=iw(n,t,e);if(console.warn(i),Jx.includes(n))throw new RangeError(i)}function iw(n,t,e){const i=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${t}\`) for formatting ${i} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}function rw(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function sw(n){return!(!rw(n)&&typeof n!="number"||isNaN(+ze(n)))}const ow=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,aw=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,lw=/^'([^]*?)'?$/,cw=/''/g,uw=/[a-zA-Z]/;function dw(n,t,e){const i=Ds(),r=e?.locale??i.locale??Nx,s=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,l=ze(n,e?.in);if(!sw(l))throw new RangeError("Invalid time value");let u=t.match(aw).map(h=>{const g=h[0];if(g==="p"||g==="P"){const y=Xx[g];return y(h,r.formatLong)}return h}).join("").match(ow).map(h=>{if(h==="''")return{isToken:!1,value:"'"};const g=h[0];if(g==="'")return{isToken:!1,value:fw(h)};if(dh[g])return{isToken:!0,value:h};if(g.match(uw))throw new RangeError("Format string contains an unescaped latin alphabet character `"+g+"`");return{isToken:!1,value:h}});r.localize.preprocessor&&(u=r.localize.preprocessor(l,u));const d={firstWeekContainsDate:s,weekStartsOn:a,locale:r};return u.map(h=>{if(!h.isToken)return h.value;const g=h.value;(!e?.useAdditionalWeekYearTokens&&ew(g)||!e?.useAdditionalDayOfYearTokens&&tw(g))&&nw(g,t,String(n));const y=dh[g[0]];return y(l,g,r.localize,d)}).join("")}function fw(n){const t=n.match(lw);return t?t[1].replace(cw,"'"):n}function ta(n,t,e){const i=ze(n,e?.in);return isNaN(t)?Sn(n,NaN):(i.setDate(i.getDate()+t),i)}function mh(n,t,e){const i=ze(n,e?.in);if(isNaN(t))return Sn(n,NaN);if(!t)return i;const r=i.getDate(),s=Sn(n,i.getTime());s.setMonth(i.getMonth()+t+1,0);const a=s.getDate();return r>=a?s:(i.setFullYear(s.getFullYear(),s.getMonth(),r),i)}function hw(n,t,e){return mh(n,t*3,e)}function Pr(n,t){const e=ze(n,t?.in),i=e.getMonth(),r=i-i%3;return e.setMonth(r,1),e.setHours(0,0,0,0),e}function Ir(n,t){const e=ze(n,t?.in);return e.setDate(1),e.setHours(0,0,0,0),e}function pw(n,t){const e=ze(n,t?.in),i=e.getFullYear(),r=e.getMonth(),s=Sn(e,0);return s.setFullYear(i,r+1,0),s.setHours(0,0,0,0),s.getDate()}function gw(){return Object.assign({},Ds())}function yh(n){return Math.trunc(n*Ux)}function mw(n){const t=n/zx;return Math.trunc(t)}function _h(n,t,e){return mh(n,-1,e)}function bh(n,t,e){return hw(n,-1,e)}function xh(n,t,e){const i=gw(),r=bw(n,e.timeZone,e.locale??i.locale);return"formatToParts"in r?yw(r,t):_w(r,t)}function yw(n,t){const e=n.formatToParts(t);for(let i=e.length-1;i>=0;--i)if(e[i].type==="timeZoneName")return e[i].value}function _w(n,t){const e=n.format(t).replace(/\u200E/g,""),i=/ [\w-+ ]+$/.exec(e);return i?i[0].substr(1):""}function bw(n,t,e){return new Intl.DateTimeFormat(e?[e.code,"en-US"]:void 0,{timeZone:t,timeZoneName:n})}function xw(n,t){const e=Mw(t);return"formatToParts"in e?vw(e,n):Sw(e,n)}const ww={year:0,month:1,day:2,hour:3,minute:4,second:5};function vw(n,t){try{const e=n.formatToParts(t),i=[];for(let r=0;r<e.length;r++){const s=ww[e[r].type];s!==void 0&&(i[s]=parseInt(e[r].value,10))}return i}catch(e){if(e instanceof RangeError)return[NaN];throw e}}function Sw(n,t){const e=n.format(t),i=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(e);return[parseInt(i[3],10),parseInt(i[1],10),parseInt(i[2],10),parseInt(i[4],10),parseInt(i[5],10),parseInt(i[6],10)]}const bc={},wh=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),Tw=wh==="06/25/2014, 00:00:00"||wh==="06/25/2014 00:00:00";function Mw(n){return bc[n]||(bc[n]=Tw?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:n,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})),bc[n]}function xc(n,t,e,i,r,s,a){const l=new Date(0);return l.setUTCFullYear(n,t,e),l.setUTCHours(i,r,s,a),l}const vh=36e5,kw=6e4,wc={timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-])(\d{2}):?(\d{2})$/};function Cs(n,t,e){if(!n)return 0;let i=wc.timezoneZ.exec(n);if(i)return 0;let r,s;if(i=wc.timezoneHH.exec(n),i)return r=parseInt(i[1],10),Sh(r)?-(r*vh):NaN;if(i=wc.timezoneHHMM.exec(n),i){r=parseInt(i[2],10);const a=parseInt(i[3],10);return Sh(r,a)?(s=Math.abs(r)*vh+a*kw,i[1]==="+"?-s:s):NaN}if(Ow(n)){t=new Date(t||Date.now());const a=e?t:Dw(t),l=vc(a,n);return-(e?l:Cw(t,l,n))}return NaN}function Dw(n){return xc(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds())}function vc(n,t){const e=xw(n,t),i=xc(e[0],e[1]-1,e[2],e[3]%24,e[4],e[5],0).getTime();let r=n.getTime();const s=r%1e3;return r-=s>=0?s:1e3+s,i-r}function Cw(n,t,e){let i=n.getTime()-t;const r=vc(new Date(i),e);if(t===r)return t;i-=r-t;const s=vc(new Date(i),e);return r===s?r:Math.max(r,s)}function Sh(n,t){return-23<=n&&n<=23&&(t==null||0<=t&&t<=59)}const Th={};function Ow(n){if(Th[n])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:n}),Th[n]=!0,!0}catch{return!1}}const Aw=60*1e3,Rw={X:function(n,t,e){const i=Sc(e.timeZone,n);if(i===0)return"Z";switch(t){case"X":return Mh(i);case"XXXX":case"XX":return Lr(i);default:return Lr(i,":")}},x:function(n,t,e){const i=Sc(e.timeZone,n);switch(t){case"x":return Mh(i);case"xxxx":case"xx":return Lr(i);default:return Lr(i,":")}},O:function(n,t,e){const i=Sc(e.timeZone,n);switch(t){case"O":case"OO":case"OOO":return"GMT"+Ew(i,":");default:return"GMT"+Lr(i,":")}},z:function(n,t,e){switch(t){case"z":case"zz":case"zzz":return xh("short",n,e);default:return xh("long",n,e)}}};function Sc(n,t){const e=n?Cs(n,t,!0)/Aw:t?.getTimezoneOffset()??0;if(Number.isNaN(e))throw new RangeError("Invalid time zone specified: "+n);return e}function ea(n,t){const e=n<0?"-":"";let i=Math.abs(n).toString();for(;i.length<t;)i="0"+i;return e+i}function Lr(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=ea(Math.floor(i/60),2),s=ea(Math.floor(i%60),2);return e+r+t+s}function Mh(n,t){return n%60===0?(n>0?"-":"+")+ea(Math.abs(n)/60,2):Lr(n,t)}function Ew(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.floor(i/60),s=i%60;return s===0?e+String(r):e+String(r)+t+ea(s,2)}function kh(n){const t=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return t.setUTCFullYear(n.getFullYear()),+n-+t}const Dh=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,Tc=36e5,Ch=6e4,Pw=2,Ke={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:Dh};function na(n,t={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(n===null)return new Date(NaN);const e=t.additionalDigits==null?Pw:Number(t.additionalDigits);if(e!==2&&e!==1&&e!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]")return new Date(n.getTime());if(typeof n=="number"||Object.prototype.toString.call(n)==="[object Number]")return new Date(n);if(Object.prototype.toString.call(n)!=="[object String]")return new Date(NaN);const i=Iw(n),{year:r,restDateString:s}=Lw(i.date,e),a=Nw(s,r);if(a===null||isNaN(a.getTime()))return new Date(NaN);if(a){const l=a.getTime();let u=0,d;if(i.time&&(u=Bw(i.time),u===null||isNaN(u)))return new Date(NaN);if(i.timeZone||t.timeZone){if(d=Cs(i.timeZone||t.timeZone,new Date(l+u)),isNaN(d))return new Date(NaN)}else d=kh(new Date(l+u)),d=kh(new Date(l+u+d));return new Date(l+u+d)}else return new Date(NaN)}function Iw(n){const t={};let e=Ke.dateTimePattern.exec(n),i;if(e?(t.date=e[1],i=e[3]):(e=Ke.datePattern.exec(n),e?(t.date=e[1],i=e[2]):(t.date=null,i=n)),i){const r=Ke.timeZone.exec(i);r?(t.time=i.replace(r[1],""),t.timeZone=r[1].trim()):t.time=i}return t}function Lw(n,t){if(n){const e=Ke.YYY[t],i=Ke.YYYYY[t];let r=Ke.YYYY.exec(n)||i.exec(n);if(r){const s=r[1];return{year:parseInt(s,10),restDateString:n.slice(s.length)}}if(r=Ke.YY.exec(n)||e.exec(n),r){const s=r[1];return{year:parseInt(s,10)*100,restDateString:n.slice(s.length)}}}return{year:null}}function Nw(n,t){if(t===null)return null;let e,i,r;if(!n||!n.length)return e=new Date(0),e.setUTCFullYear(t),e;let s=Ke.MM.exec(n);if(s)return e=new Date(0),i=parseInt(s[1],10)-1,Rh(t,i)?(e.setUTCFullYear(t,i),e):new Date(NaN);if(s=Ke.DDD.exec(n),s){e=new Date(0);const a=parseInt(s[1],10);return Uw(t,a)?(e.setUTCFullYear(t,0,a),e):new Date(NaN)}if(s=Ke.MMDD.exec(n),s){e=new Date(0),i=parseInt(s[1],10)-1;const a=parseInt(s[2],10);return Rh(t,i,a)?(e.setUTCFullYear(t,i,a),e):new Date(NaN)}if(s=Ke.Www.exec(n),s)return r=parseInt(s[1],10)-1,Eh(r)?Oh(t,r):new Date(NaN);if(s=Ke.WwwD.exec(n),s){r=parseInt(s[1],10)-1;const a=parseInt(s[2],10)-1;return Eh(r,a)?Oh(t,r,a):new Date(NaN)}return null}function Bw(n){let t,e,i=Ke.HH.exec(n);if(i)return t=parseFloat(i[1].replace(",",".")),Mc(t)?t%24*Tc:NaN;if(i=Ke.HHMM.exec(n),i)return t=parseInt(i[1],10),e=parseFloat(i[2].replace(",",".")),Mc(t,e)?t%24*Tc+e*Ch:NaN;if(i=Ke.HHMMSS.exec(n),i){t=parseInt(i[1],10),e=parseInt(i[2],10);const r=parseFloat(i[3].replace(",","."));return Mc(t,e,r)?t%24*Tc+e*Ch+r*1e3:NaN}return null}function Oh(n,t,e){t=t||0,e=e||0;const i=new Date(0);i.setUTCFullYear(n,0,4);const r=i.getUTCDay()||7,s=t*7+e+1-r;return i.setUTCDate(i.getUTCDate()+s),i}const Fw=[31,28,31,30,31,30,31,31,30,31,30,31],zw=[31,29,31,30,31,30,31,31,30,31,30,31];function Ah(n){return n%400===0||n%4===0&&n%100!==0}function Rh(n,t,e){if(t<0||t>11)return!1;if(e!=null){if(e<1)return!1;const i=Ah(n);if(i&&e>zw[t]||!i&&e>Fw[t])return!1}return!0}function Uw(n,t){if(t<1)return!1;const e=Ah(n);return!(e&&t>366||!e&&t>365)}function Eh(n,t){return!(n<0||n>52||t!=null&&(t<0||t>6))}function Mc(n,t,e){return!(n<0||n>=25||t!=null&&(t<0||t>=60)||e!=null&&(e<0||e>=60))}const Hw=/([xXOz]+)|''|'(''|[^'])+('|$)/g;function Ww(n,t,e={}){t=String(t);const i=t.match(Hw);if(i){const r=na(e.originalDate||n,e);t=i.reduce(function(s,a){if(a[0]==="'")return s;const l=s.indexOf(a),u=s[l-1]==="'",d=s.replace(a,"'"+Rw[a[0]](r,a,e)+"'");return u?d.substring(0,l-1)+d.substring(l+1):d},t)}return dw(n,t,e)}function Ph(n,t,e){n=na(n,e);const i=Cs(t,n,!0),r=new Date(n.getTime()-i),s=new Date(0);return s.setFullYear(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),s.setHours(r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()),s}function Ih(n,t,e,i){return i={...i,timeZone:t,originalDate:n},Ww(Ph(n,t,{timeZone:i.timeZone}),e,i)}function Vw(n,t,e){if(typeof n=="string"&&!n.match(Dh))return na(n,{...e,timeZone:t});n=na(n,e);const i=xc(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()).getTime(),r=Cs(t,new Date(i));return new Date(i+r)}function $w(n,t){return-Cs(n,t)}function Lh(n,t={}){const e=t?.tz||Intl.DateTimeFormat().resolvedOptions().timeZone;let i="MMM dd, yyy hh:mm a";switch(t.format){case"short":i="MMM dd, yyyy";break;case"default":i="MMM dd, yyyy hh:mm a";break;case"full":i="MMM dd, yyyy hh:mm:ss.SSS a";break}return t.includeTZ&&(i+=" (z)"),Ih(n,e,i)}function Yw(n,t={}){if(!n)return n;const e=t.tz||Intl.DateTimeFormat().resolvedOptions().timeZone;try{let i="MMM dd, yyy hh:mm a";t.short&&(i="MMM dd, yyy"),t.includeTZ&&(i+=" (z)");const r=new Date(n);return Ih(r,e,i)}catch{return console.error("Invalid value passed to formatTime",n),"(invalid date)"}}const qw={secondly:1e3,tenSecondly:10*1e3,thirtySecondly:30*1e3,minutely:60*1e3,fiveMinutely:300*1e3,tenMinutely:600*1e3,thirtyMinutely:1800*1e3,hourly:3600*1e3,twoHourly:7200*1e3,twelveHourly:720*60*1e3,daily:3600*24*1e3,weekly:3600*24*7*1e3,trend:0};function ia(n){return n&&Vb.find(t=>n<=qw[t])||null}var ra=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},sa={exports:{}};sa.exports;var Nh;function jw(){return Nh||(Nh=1,(function(n,t){var e=200,i="__lodash_hash_undefined__",r=9007199254740991,s="[object Arguments]",a="[object Array]",l="[object Boolean]",u="[object Date]",d="[object Error]",h="[object Function]",g="[object GeneratorFunction]",y="[object Map]",_="[object Number]",x="[object Object]",v="[object Promise]",M="[object RegExp]",C="[object Set]",R="[object String]",F="[object Symbol]",I="[object WeakMap]",L="[object ArrayBuffer]",N="[object DataView]",B="[object Float32Array]",T="[object Float64Array]",S="[object Int8Array]",O="[object Int16Array]",U="[object Int32Array]",$="[object Uint8Array]",it="[object Uint8ClampedArray]",at="[object Uint16Array]",ot="[object Uint32Array]",q=/[\\^$.*+?()[\]{}|]/g,J=/\w*$/,rt=/^\[object .+?Constructor\]$/,tt=/^(?:0|[1-9]\d*)$/,G={};G[s]=G[a]=G[L]=G[N]=G[l]=G[u]=G[B]=G[T]=G[S]=G[O]=G[U]=G[y]=G[_]=G[x]=G[M]=G[C]=G[R]=G[F]=G[$]=G[it]=G[at]=G[ot]=!0,G[d]=G[h]=G[I]=!1;var P=typeof ra=="object"&&ra&&ra.Object===Object&&ra,W=typeof self=="object"&&self&&self.Object===Object&&self,j=P||W||Function("return this")(),pt=t&&!t.nodeType&&t,lt=pt&&!0&&n&&!n.nodeType&&n,et=lt&<.exports===pt;function ht(D,V){return D.set(V[0],V[1]),D}function ft(D,V){return D.add(V),D}function ct(D,V){for(var Q=-1,yt=D?D.length:0;++Q<yt&&V(D[Q],Q,D)!==!1;);return D}function mt(D,V){for(var Q=-1,yt=V.length,Te=D.length;++Q<yt;)D[Te+Q]=V[Q];return D}function ut(D,V,Q,yt){for(var Te=-1,qe=D?D.length:0;++Te<qe;)Q=V(Q,D[Te],Te,D);return Q}function Lt(D,V){for(var Q=-1,yt=Array(D);++Q<D;)yt[Q]=V(Q);return yt}function zt(D,V){return D?.[V]}function vt(D){var V=!1;if(D!=null&&typeof D.toString!="function")try{V=!!(D+"")}catch{}return V}function Ct(D){var V=-1,Q=Array(D.size);return D.forEach(function(yt,Te){Q[++V]=[Te,yt]}),Q}function Dt(D,V){return function(Q){return D(V(Q))}}function ve(D){var V=-1,Q=Array(D.size);return D.forEach(function(yt){Q[++V]=yt}),Q}var bt=Array.prototype,jt=Function.prototype,Oe=Object.prototype,Ae=j["__core-js_shared__"],oe=(function(){var D=/[^.]+$/.exec(Ae&&Ae.keys&&Ae.keys.IE_PROTO||"");return D?"Symbol(src)_1."+D:""})(),ln=jt.toString,Vt=Oe.hasOwnProperty,Le=Oe.toString,ie=RegExp("^"+ln.call(Vt).replace(q,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Se=et?j.Buffer:void 0,Re=j.Symbol,gn=j.Uint8Array,zi=Dt(Object.getPrototypeOf,Object),Dn=Object.create,Ye=Oe.propertyIsEnumerable,In=bt.splice,ci=Object.getOwnPropertySymbols,So=Se?Se.isBuffer:void 0,To=Dt(Object.keys,Object),br=Gn(j,"DataView"),ui=Gn(j,"Map"),Mo=Gn(j,"Promise"),ko=Gn(j,"Set"),Do=Gn(j,"WeakMap"),Ui=Gn(Object,"create"),pl=fi(br),fd=fi(ui),hd=fi(Mo),pd=fi(ko),gd=fi(Do),Co=Re?Re.prototype:void 0,gl=Co?Co.valueOf:void 0;function di(D){var V=-1,Q=D?D.length:0;for(this.clear();++V<Q;){var yt=D[V];this.set(yt[0],yt[1])}}function md(){this.__data__=Ui?Ui(null):{}}function Oo(D){return this.has(D)&&delete this.__data__[D]}function yd(D){var V=this.__data__;if(Ui){var Q=V[D];return Q===i?void 0:Q}return Vt.call(V,D)?V[D]:void 0}function Ao(D){var V=this.__data__;return Ui?V[D]!==void 0:Vt.call(V,D)}function _d(D,V){var Q=this.__data__;return Q[D]=Ui&&V===void 0?i:V,this}di.prototype.clear=md,di.prototype.delete=Oo,di.prototype.get=yd,di.prototype.has=Ao,di.prototype.set=_d;function Ln(D){var V=-1,Q=D?D.length:0;for(this.clear();++V<Q;){var yt=D[V];this.set(yt[0],yt[1])}}function bd(){this.__data__=[]}function xd(D){var V=this.__data__,Q=xr(V,D);if(Q<0)return!1;var yt=V.length-1;return Q==yt?V.pop():In.call(V,Q,1),!0}function wd(D){var V=this.__data__,Q=xr(V,D);return Q<0?void 0:V[Q][1]}function ml(D){return xr(this.__data__,D)>-1}function vd(D,V){var Q=this.__data__,yt=xr(Q,D);return yt<0?Q.push([D,V]):Q[yt][1]=V,this}Ln.prototype.clear=bd,Ln.prototype.delete=xd,Ln.prototype.get=wd,Ln.prototype.has=ml,Ln.prototype.set=vd;function Hi(D){var V=-1,Q=D?D.length:0;for(this.clear();++V<Q;){var yt=D[V];this.set(yt[0],yt[1])}}function yl(){this.__data__={hash:new di,map:new(ui||Ln),string:new di}}function Sd(D){return wr(this,D).delete(D)}function Td(D){return wr(this,D).get(D)}function Md(D){return wr(this,D).has(D)}function kd(D,V){return wr(this,D).set(D,V),this}Hi.prototype.clear=yl,Hi.prototype.delete=Sd,Hi.prototype.get=Td,Hi.prototype.has=Md,Hi.prototype.set=kd;function Wi(D){this.__data__=new Ln(D)}function Dd(){this.__data__=new Ln}function ns(D){return this.__data__.delete(D)}function Cd(D){return this.__data__.get(D)}function is(D){return this.__data__.has(D)}function Od(D,V){var Q=this.__data__;if(Q instanceof Ln){var yt=Q.__data__;if(!ui||yt.length<e-1)return yt.push([D,V]),this;Q=this.__data__=new Hi(yt)}return Q.set(D,V),this}Wi.prototype.clear=Dd,Wi.prototype.delete=ns,Wi.prototype.get=Cd,Wi.prototype.has=is,Wi.prototype.set=Od;function Ad(D,V){var Q=Lo(D)||Rl(D)?Lt(D.length,String):[],yt=Q.length,Te=!!yt;for(var qe in D)Vt.call(D,qe)&&!(Te&&(qe=="length"||Dl(qe,yt)))&&Q.push(qe);return Q}function _l(D,V,Q){var yt=D[V];(!(Vt.call(D,V)&&Al(yt,Q))||Q===void 0&&!(V in D))&&(D[V]=Q)}function xr(D,V){for(var Q=D.length;Q--;)if(Al(D[Q][0],V))return Q;return-1}function bl(D,V){return D&&Eo(V,No(V),D)}function rs(D,V,Q,yt,Te,qe,Nn){var Ne;if(yt&&(Ne=qe?yt(D,Te,qe,Nn):yt(D)),Ne!==void 0)return Ne;if(!cs(D))return D;var Pl=Lo(D);if(Pl){if(Ne=Ml(D),!V)return Tl(D,Ne)}else{var ce=cn(D),us=ce==h||ce==g;if(Hd(D))return wl(D,V);if(ce==x||ce==s||us&&!qe){if(vt(D))return qe?D:{};if(Ne=kl(us?{}:D),!V)return Po(D,bl(Ne,D))}else{if(!G[ce])return qe?D:{};Ne=Fd(D,ce,rs,V)}}Nn||(Nn=new Wi);var Kn=Nn.get(D);if(Kn)return Kn;if(Nn.set(D,Ne),!Pl)var Bo=Q?Bd(D):No(D);return ct(Bo||D,function(vr,Be){Bo&&(Be=vr,vr=D[Be]),_l(Ne,Be,rs(vr,V,Q,yt,Be,D,Nn))}),Ne}function Rd(D){return cs(D)?Dn(D):{}}function Ed(D,V,Q){var yt=V(D);return Lo(D)?yt:mt(yt,Q(D))}function Pd(D){return Le.call(D)}function Id(D){if(!cs(D)||Ol(D))return!1;var V=ls(D)||vt(D)?ie:rt;return V.test(fi(D))}function xl(D){if(!Io(D))return To(D);var V=[];for(var Q in Object(D))Vt.call(D,Q)&&Q!="constructor"&&V.push(Q);return V}function wl(D,V){if(V)return D.slice();var Q=new D.constructor(D.length);return D.copy(Q),Q}function ss(D){var V=new D.constructor(D.byteLength);return new gn(V).set(new gn(D)),V}function Ro(D,V){var Q=V?ss(D.buffer):D.buffer;return new D.constructor(Q,D.byteOffset,D.byteLength)}function Ld(D,V,Q){var yt=V?Q(Ct(D),!0):Ct(D);return ut(yt,ht,new D.constructor)}function vl(D){var V=new D.constructor(D.source,J.exec(D));return V.lastIndex=D.lastIndex,V}function os(D,V,Q){var yt=V?Q(ve(D),!0):ve(D);return ut(yt,ft,new D.constructor)}function Sl(D){return gl?Object(gl.call(D)):{}}function Nd(D,V){var Q=V?ss(D.buffer):D.buffer;return new D.constructor(Q,D.byteOffset,D.length)}function Tl(D,V){var Q=-1,yt=D.length;for(V||(V=Array(yt));++Q<yt;)V[Q]=D[Q];return V}function Eo(D,V,Q,yt){Q||(Q={});for(var Te=-1,qe=V.length;++Te<qe;){var Nn=V[Te],Ne=void 0;_l(Q,Nn,Ne===void 0?D[Nn]:Ne)}return Q}function Po(D,V){return Eo(D,as(D),V)}function Bd(D){return Ed(D,No,as)}function wr(D,V){var Q=D.__data__;return Cl(V)?Q[typeof V=="string"?"string":"hash"]:Q.map}function Gn(D,V){var Q=zt(D,V);return Id(Q)?Q:void 0}var as=ci?Dt(ci,Object):$d,cn=Pd;(br&&cn(new br(new ArrayBuffer(1)))!=N||ui&&cn(new ui)!=y||Mo&&cn(Mo.resolve())!=v||ko&&cn(new ko)!=C||Do&&cn(new Do)!=I)&&(cn=function(D){var V=Le.call(D),Q=V==x?D.constructor:void 0,yt=Q?fi(Q):void 0;if(yt)switch(yt){case pl:return N;case fd:return y;case hd:return v;case pd:return C;case gd:return I}return V});function Ml(D){var V=D.length,Q=D.constructor(V);return V&&typeof D[0]=="string"&&Vt.call(D,"index")&&(Q.index=D.index,Q.input=D.input),Q}function kl(D){return typeof D.constructor=="function"&&!Io(D)?Rd(zi(D)):{}}function Fd(D,V,Q,yt){var Te=D.constructor;switch(V){case L:return ss(D);case l:case u:return new Te(+D);case N:return Ro(D,yt);case B:case T:case S:case O:case U:case $:case it:case at:case ot:return Nd(D,yt);case y:return Ld(D,yt,Q);case _:case R:return new Te(D);case M:return vl(D);case C:return os(D,yt,Q);case F:return Sl(D)}}function Dl(D,V){return V=V??r,!!V&&(typeof D=="number"||tt.test(D))&&D>-1&&D%1==0&&D<V}function Cl(D){var V=typeof D;return V=="string"||V=="number"||V=="symbol"||V=="boolean"?D!=="__proto__":D===null}function Ol(D){return!!oe&&oe in D}function Io(D){var V=D&&D.constructor,Q=typeof V=="function"&&V.prototype||Oe;return D===Q}function fi(D){if(D!=null){try{return ln.call(D)}catch{}try{return D+""}catch{}}return""}function zd(D){return rs(D,!0,!0)}function Al(D,V){return D===V||D!==D&&V!==V}function Rl(D){return Ud(D)&&Vt.call(D,"callee")&&(!Ye.call(D,"callee")||Le.call(D)==s)}var Lo=Array.isArray;function El(D){return D!=null&&Wd(D.length)&&!ls(D)}function Ud(D){return Vd(D)&&El(D)}var Hd=So||ee;function ls(D){var V=cs(D)?Le.call(D):"";return V==h||V==g}function Wd(D){return typeof D=="number"&&D>-1&&D%1==0&&D<=r}function cs(D){var V=typeof D;return!!D&&(V=="object"||V=="function")}function Vd(D){return!!D&&typeof D=="object"}function No(D){return El(D)?Ad(D):xl(D)}function $d(){return[]}function ee(){return!1}n.exports=zd})(sa,sa.exports)),sa.exports}jw();const Tn=(n,t)=>new Date(n.getTime()-$w(t,n));class De{timeframeText;key;display;timeframeLength;allowedTiers;defaultResponseGranularity;dataGranularity;isRelative;fineGrainedDefaultGranularity;_startCustom;_endCustom;_allowedGranularitiesOverride;constructor(t){this.display=t.display,this.timeframeText=t.timeframeText,this.key=t.key,this.timeframeLength=t.timeframeLength,this.allowedTiers=t.allowedTiers,this.defaultResponseGranularity=t.defaultResponseGranularity,this.dataGranularity=t.dataGranularity,this.isRelative=t.isRelative,this._startCustom=t.startCustom,this._endCustom=t.endCustom,this._allowedGranularitiesOverride=t.allowedGranularitiesOverride,this.fineGrainedDefaultGranularity=t.fineGrainedDefaultGranularity}rawEnd(t){return this._endCustom||new Date}rawStart(t){return this._startCustom||new Date(this.rawEnd().getTime()-this.timeframeLengthMs())}timeframeLengthMs(){return this.timeframeLength()*1e3}maximumTimeframeLength(){return this.timeframeLength()}allowedGranularities(t){if(this._allowedGranularitiesOverride&&t)return new Set(this._allowedGranularitiesOverride);const e=new Set,i=this.maximumTimeframeLength()/3600;return i<=6&&e.add("minutely"),i>=2&&i<=168&&e.add("hourly"),i>=48&&e.add("daily"),i>=672&&e.add("weekly"),e}cacheKey(){return this.key!=="custom"?this.key:`${this.rawStart().toISOString()}-${this.rawEnd().toISOString()}`}v4Query(t){return this.key==="custom"?{type:"absolute",start:this.rawStart(),end:this.rawEnd(),tz:t}:{type:"relative",time_range:this.key,tz:t}}tzAdjustedDate(t){if(!t)return new Date;const e=Vw(new Date,new Intl.DateTimeFormat().resolvedOptions().timeZone);return Ph(e,t)}}class Gw extends De{rawStart(t){let e=Jn(this.tzAdjustedDate(t),{weekStartsOn:1});return t&&(e=Tn(e,t)),e}maximumTimeframeLength(){return 3600*24*7}}class Kw extends De{rawStart(t){let e=Ir(this.tzAdjustedDate(t));return t&&(e=Tn(e,t)),e}maximumTimeframeLength(){return 3600*24*31}}class Xw extends De{rawStart(t){let e=Pr(this.tzAdjustedDate(t));return t&&(e=Tn(e,t)),e}maximumTimeframeLength(){return 3600*24*92}}class Zw extends De{rawStart(t){let e=new Date(this.tzAdjustedDate(t).getFullYear(),0,1);return t&&(e=Tn(e,t)),e}maximumTimeframeLength(){return 3600*24*366}}class Qw extends De{rawEnd(t){let e=Jn(this.tzAdjustedDate(t),{weekStartsOn:1});return t&&(e=Tn(e,t)),e}rawStart(t){const e=this.tzAdjustedDate(t);let i=Jn(e.setDate(e.getDate()-7),{weekStartsOn:1});return t&&(i=Tn(i,t)),i}}class Jw extends De{rawEnd(t){let e=Pr(this.tzAdjustedDate(t));return t&&(e=Tn(e,t)),e}rawStart(t){let e=Pr(bh(this.tzAdjustedDate(t)));return t&&(e=Tn(e,t)),e}}class tv extends De{rawEnd(t){let e=Ir(this.tzAdjustedDate(t));return t&&(e=Tn(e,t)),e}rawStart(t){let e=Ir(_h(this.tzAdjustedDate(t)));return t&&(e=Tn(e,t)),e}}class ev extends De{rawEnd(t){let e=new Date(this.tzAdjustedDate(t).getFullYear(),0,1);return t&&(e=Tn(e,t)),e}rawStart(t){let e=new Date(this.tzAdjustedDate(t).getFullYear()-1,0,1);return t&&(e=Tn(e,t)),e}}gt.FIFTEEN_MIN,new De({key:gt.FIFTEEN_MIN,display:"Last 15 minutes",timeframeText:"15 minutes",timeframeLength:()=>900,defaultResponseGranularity:"minutely",dataGranularity:"minutely",isRelative:!0,fineGrainedDefaultGranularity:"thirtySecondly",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["tenSecondly","thirtySecondly","minutely"]}),gt.ONE_HOUR,new De({key:gt.ONE_HOUR,display:"Last hour",timeframeText:"One hour",timeframeLength:()=>3600*1,defaultResponseGranularity:"minutely",dataGranularity:"minutely",isRelative:!0,fineGrainedDefaultGranularity:"minutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["tenSecondly","thirtySecondly","minutely","fiveMinutely","tenMinutely"]}),gt.SIX_HOUR,new De({key:gt.SIX_HOUR,display:"Last 6 hours",timeframeText:"6 hours",timeframeLength:()=>3600*6,defaultResponseGranularity:"hourly",dataGranularity:"hourly",isRelative:!0,fineGrainedDefaultGranularity:"fiveMinutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["thirtySecondly","minutely","fiveMinutely","tenMinutely","thirtyMinutely","hourly"]}),gt.TWELVE_HOUR,new De({key:gt.TWELVE_HOUR,display:"Last 12 hours",timeframeText:"12 hours",timeframeLength:()=>3600*12,defaultResponseGranularity:"hourly",dataGranularity:"hourly",isRelative:!0,fineGrainedDefaultGranularity:"tenMinutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["minutely","fiveMinutely","tenMinutely","thirtyMinutely","hourly"]}),gt.ONE_DAY,new De({key:gt.ONE_DAY,display:"Last 24 hours",timeframeText:"24 hours",timeframeLength:()=>3600*24,defaultResponseGranularity:"hourly",dataGranularity:"hourly",isRelative:!0,fineGrainedDefaultGranularity:"thirtyMinutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["fiveMinutely","tenMinutely","thirtyMinutely","hourly"]}),gt.SEVEN_DAY,new De({key:gt.SEVEN_DAY,display:"Last 7 days",timeframeText:"7 days",timeframeLength:()=>3600*24*7,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"twoHourly",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["thirtyMinutely","hourly","twoHourly","twelveHourly","daily"]}),gt.THIRTY_DAY,new De({key:gt.THIRTY_DAY,display:"Last 30 days",timeframeText:"30 days",timeframeLength:()=>3600*24*30,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"twelveHourly",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),gt.NINETY_DAY,new De({key:gt.NINETY_DAY,display:"Last 90 days",timeframeText:"90 days",timeframeLength:()=>3600*24*90,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"daily",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),gt.ONE_HUNDRED_EIGHTY_DAY,new De({key:gt.ONE_HUNDRED_EIGHTY_DAY,display:"Last 180 days",timeframeText:"180 days",timeframeLength:()=>3600*24*180,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"daily",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),gt.ONE_YEAR,new De({key:gt.ONE_YEAR,display:"Last 365 days",timeframeText:"365 days",timeframeLength:()=>3600*24*365,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"daily",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),gt.CURRENT_WEEK,new Gw({key:gt.CURRENT_WEEK,display:"This week",timeframeText:"Week",timeframeLength:()=>{const n=Jn(new Date,{weekStartsOn:1});return(Rr(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,fineGrainedDefaultGranularity:"twoHourly",allowedTiers:["plus","enterprise"],allowedGranularitiesOverride:["thirtyMinutely","hourly","twoHourly","twelveHourly","daily"]}),gt.CURRENT_MONTH,new Kw({key:gt.CURRENT_MONTH,display:"This month",timeframeText:"Month",timeframeLength:()=>{const n=Ir(new Date);return(Rr(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),gt.CURRENT_QUARTER,new Xw({key:gt.CURRENT_QUARTER,display:"This quarter",timeframeText:"Quarter",timeframeLength:()=>{const n=Pr(new Date);return(Rr(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),gt.CURRENT_YEAR,new Zw({key:gt.CURRENT_YEAR,display:"This year",timeframeText:"Year",timeframeLength:()=>{const n=new Date(new Date().getFullYear(),0,1);return(Rr(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),gt.PREVIOUS_WEEK,new Qw({key:gt.PREVIOUS_WEEK,display:"Previous week",timeframeText:"Week",timeframeLength:()=>3600*24*7,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,fineGrainedDefaultGranularity:"twoHourly",allowedTiers:["plus","enterprise"],allowedGranularitiesOverride:["thirtyMinutely","hourly","twoHourly","twelveHourly","daily"]}),gt.PREVIOUS_MONTH,new tv({key:gt.PREVIOUS_MONTH,display:"Previous month",timeframeText:"Month",timeframeLength:()=>{let n=0;const t=Ir(new Date),e=Ir(_h(new Date));return t.getTimezoneOffset()!==e.getTimezoneOffset()&&(n=Bh(t,e)),3600*24*pw(new Date().setMonth(new Date().getMonth()-1))+yh(n)},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),gt.PREVIOUS_QUARTER,new Jw({key:gt.PREVIOUS_QUARTER,display:"Previous quarter",timeframeText:"Quarter",timeframeLength:()=>{const n=Pr(new Date),t=Pr(bh(new Date));return(n.getTime()-t.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),gt.PREVIOUS_YEAR,new ev({key:gt.PREVIOUS_YEAR,display:"Previous year",timeframeText:"Year",timeframeLength:()=>{const n=new Date(new Date().getFullYear(),0,1),t=new Date(new Date().getFullYear()-1,0,1);let e=0;return n.getTimezoneOffset()!==t.getTimezoneOffset()&&(e=Bh(n,t)),3600*24*(365+(t.getFullYear()%4===0?1:0))+yh(e)},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]});function Bh(n,t){return mw(n.getTimezoneOffset()-t.getTimezoneOffset())}gt.FIFTEEN_MIN,gt.ONE_HOUR,gt.SIX_HOUR,gt.TWELVE_HOUR,gt.ONE_DAY,gt.SEVEN_DAY,gt.FIFTEEN_MIN,gt.ONE_HOUR,gt.SIX_HOUR,gt.TWELVE_HOUR,gt.ONE_DAY,gt.SEVEN_DAY,gt.THIRTY_DAY,gt.NINETY_DAY,gt.ONE_HUNDRED_EIGHTY_DAY,gt.ONE_YEAR,gt.CURRENT_WEEK,gt.CURRENT_MONTH,gt.CURRENT_QUARTER,gt.CURRENT_YEAR,gt.PREVIOUS_WEEK,gt.PREVIOUS_MONTH,gt.PREVIOUS_QUARTER,gt.PREVIOUS_YEAR;const nv=new Map(rh.map(n=>[n.code,{code:n.code,name:n.name}])),kc=n=>nv.get(n)?.name||n,Fh=1e3,iv=1e4,zh=1e6,Uh=1e9,Hh=1e12,oa=(n,t)=>{if(t.separator===!1||n<1e3)return n.toString();const e=typeof t.separator=="string"?t.separator:",",i=[];return Math.round(n).toString().split("").reverse().forEach((r,s)=>{s&&s%3===0&&i.push(e),i.push(r)}),i.reverse().join("")},Os=(n,t,e)=>{const i=n/t,r=e.round?"round":"floor";if(e.decimal===!1)return Math[r](i).toString();let s;e.precision?s=i:s=i<10?Math[r](i*10)/10:Math[r](i);let a=s.toString();return typeof e.decimal=="string"&&(a=a.replace(".",e.decimal)),a};function aa(n,t={}){let e;const i=n<0;i&&(n=Math.abs(n)),t.precision&&(n=parseFloat(n.toPrecision(t.precision)));const r=t.min10k?iv:Fh;return n<r||t.precision&&t.precision>Math.log10(n)?e=oa(Os(n,1,t),t):n<zh?e=`${Os(n,Fh,t)}k`:n<Uh?e=`${Os(n,zh,t)}m`:n<Hh?e=`${oa(Os(n,Uh,t),t)}b`:e=`${oa(Os(n,Hh,t),t)}t`,i&&(e=`-${e}`),t.capital&&(e=e.toUpperCase()),t.prefix&&(e=`${t.prefix}${e}`),t.suffix&&(e=`${e}${t.suffix}`),e}aa.addCommas=oa;const rv=typeof document<"u"&&document.documentElement?.lang||"en-US",la=new Intl.NumberFormat(rv);function er({i18n:n}){const t=(i,r)=>{if(isNaN(i))return"0 B";const s=r?Math.pow(2,50):1e15,a=r?Math.pow(2,40):1e12,l=r?Math.pow(2,30):1e9,u=r?Math.pow(2,20):1e6,d=r?Math.pow(2,10):1e3;let h;return i>=s?h=n.formatNumber(Number.parseFloat((i/s).toPrecision(3)),{style:"unit",unit:"petabyte",unitDisplay:"narrow"}):i>=a?h=n.formatNumber(Number.parseFloat((i/a).toPrecision(3)),{style:"unit",unit:"terabyte",unitDisplay:"narrow"}):i>=l?h=n.formatNumber(Number.parseFloat((i/l).toPrecision(3)),{style:"unit",unit:"gigabyte",unitDisplay:"narrow"}):i>=u?h=n.formatNumber(Number.parseFloat((i/u).toPrecision(3)),{style:"unit",unit:"megabyte",unitDisplay:"narrow"}):i>=d?h=n.formatNumber(Number.parseFloat((i/d).toPrecision(3)),{style:"unit",unit:"kilobyte",unitDisplay:"narrow"}):h=n.formatNumber(Number.parseFloat(i.toPrecision(3)),{style:"unit",unit:"byte",unitDisplay:"narrow"}),h.replace(/([a-zA-Z]*)$/," $1")},e=(i,r="USD")=>isNaN(i)?r==="USD"?"$0.00":`${i}`:i>=.01||r!=="USD"?n.formatNumber(i,{style:"currency",currency:r}):i<1e-4?"< $0.0001":`$${Number.parseFloat(i.toPrecision(4))}`;return{formatUnit:(i,r,{isBytes1024:s=!1,currency:a="USD",approximate:l=!1,translateUnit:u=d=>d}={})=>{const d=u(r,i);switch(r){case"bytes":return t(i,s);case"usd":return e(i,a);default:return isNaN(i)?`${i}`:l?`${aa(i,{capital:!0})} ${d}`:i>=.01?`${la.format(Number.parseFloat(i.toFixed(2)))} ${d}`:`${Number.parseFloat(i.toPrecision(4))} ${d}`}},formatBytes:t,formatCost:e,formatRange:(i,r,s,{isBytes1024:a=!1,currency:l="USD",approximate:u=!1,translateUnit:d=h=>h}={})=>{const h=d(s,r);switch(s){case"bytes":return`${t(i,a)} - ${t(r,a)}`;case"usd":return`${e(i,l)} - ${e(r,l)}`;default:if(isNaN(i)||isNaN(r))return`${i} - ${r}`;if(u)return`${aa(i,{capital:!0})} - ${aa(r,{capital:!0})} ${h}`}const g=i>=.01?`${la.format(Number.parseFloat(i.toFixed(2)))}`:`${Number.parseFloat(i.toPrecision(4))}`,y=r>=.01?`${la.format(Number.parseFloat(r.toFixed(2)))}`:`${Number.parseFloat(r.toPrecision(4))}`;return`${g} - ${y} ${h}`}}}const Wh="#d60027",Vh="#ffe5e5",sv="#f1f0ff",ov="#e0e4ea",$h="#6c7489",av="#afb7c5",Yh="#0d0e14",lv="#d60027",cv="#ad000e",Dc="#6c7489",qh="#52596e",uv="#007d60",dv="#995c00",fv="#ffc400",hv="'Inter', Roboto, Helvetica, sans-serif",As="16px",pv="20px",gv="#bee2ff",mv="#8fc1ff",yv="#5f9aff",_v="#306fff",bv="#b5ffee",xv="#00fabe",wv="#00d6a4",vv="#00a17b",Sv="#007d60",Tv="#005944",Mv="#b5ffee",kv="#00fabe",Dv="#b5ffee",Cv="#00a17b",Ov="#fff296",Av="#ffe04b",Rv="#ffc400",Ev="#b37600",Pv="#995c00",Iv="#804400",Lv="#fff296",Nv="#ffe04b",Bv="#ffc2b3",Fv="#ff9877",zv="#ff723c",Uv="#f75008",Hv="#d13500",Wv="#a31f00",Vv="#ffc2b3",$v="#ff9877",Yv="#ff723c",qv="#f75008",jv="#d13500",Gv="#a31f00",Kv="#ffc2b3",Xv="#ff9877",Zv="#ff723c",Qv="#f75008",Jv="#d13500",t1="#a31f00",e1="#ffc2b3",n1="#ff9877",i1="#ff723c",r1="#f75008",s1="#d13500",o1="#a31f00",a1="#ffc2b3",l1="#ff9877",c1="#ff723c",u1="#f75008",d1="#d13500",f1="#ffabab",h1="#ff7272",p1="#ff3954",g1="#f50045",m1="#d60027",y1="#ad000e",_1="#ffabab",b1="#ff7272",x1="#ff3954",w1="#f50045",v1="#d60027",S1="#eefaff",T1="#ecfffb",M1="#fffce0",k1="#fff1ef",D1="#ffe5e5",C1="#5f9aff",O1="#00d6a4",A1="#ffc400",R1="#ff723c",E1="#ff3954",jh=6048e5,P1=864e5,Rs=6e4,Nr=36e5,I1=1e3,Gh=Symbol.for("constructDateFrom");function he(n,t){return typeof n=="function"?n(t):n&&typeof n=="object"&&Gh in n?n[Gh](t):n instanceof Date?new n.constructor(t):new Date(t)}function At(n,t){return he(t||n,n)}function ca(n,t,e){const i=At(n,e?.in);return isNaN(t)?he(e?.in||n,NaN):(t&&i.setDate(i.getDate()+t),i)}function Cc(n,t,e){const i=At(n,e?.in);if(isNaN(t))return he(n,NaN);if(!t)return i;const r=i.getDate(),s=he(n,i.getTime());s.setMonth(i.getMonth()+t+1,0);const a=s.getDate();return r>=a?s:(i.setFullYear(s.getFullYear(),s.getMonth(),r),i)}function Oc(n,t,e){return he(n,+At(n)+t)}function L1(n,t,e){return Oc(n,t*Nr)}let N1={};function nr(){return N1}function Wn(n,t){const e=nr(),i=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??e.weekStartsOn??e.locale?.options?.weekStartsOn??0,r=At(n,t?.in),s=r.getDay(),a=(s<i?7:0)+s-i;return r.setDate(r.getDate()-a),r.setHours(0,0,0,0),r}function Br(n,t){return Wn(n,{...t,weekStartsOn:1})}function Kh(n,t){const e=At(n,t?.in),i=e.getFullYear(),r=he(e,0);r.setFullYear(i+1,0,4),r.setHours(0,0,0,0);const s=Br(r),a=he(e,0);a.setFullYear(i,0,4),a.setHours(0,0,0,0);const l=Br(a);return e.getTime()>=s.getTime()?i+1:e.getTime()>=l.getTime()?i:i-1}function ua(n){const t=At(n),e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),+n-+e}function ir(n,...t){const e=he.bind(null,t.find(i=>typeof i=="object"));return t.map(e)}function Ac(n,t){const e=At(n,t?.in);return e.setHours(0,0,0,0),e}function Xh(n,t,e){const[i,r]=ir(e?.in,n,t),s=Ac(i),a=Ac(r),l=+s-ua(s),u=+a-ua(a);return Math.round((l-u)/P1)}function B1(n,t){const e=Kh(n,t),i=he(n,0);return i.setFullYear(e,0,4),i.setHours(0,0,0,0),Br(i)}function F1(n,t,e){const i=At(n,e?.in);return i.setTime(i.getTime()+t*Rs),i}function z1(n,t,e){return Cc(n,t*3,e)}function U1(n,t,e){return Oc(n,t*1e3)}function H1(n,t,e){return ca(n,t*7,e)}function W1(n,t,e){return Cc(n,t*12,e)}function Es(n,t){const e=+At(n)-+At(t);return e<0?-1:e>0?1:e}function V1(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function Rc(n){return!(!V1(n)&&typeof n!="number"||isNaN(+At(n)))}function $1(n,t,e){const[i,r]=ir(e?.in,n,t),s=i.getFullYear()-r.getFullYear(),a=i.getMonth()-r.getMonth();return s*12+a}function Y1(n,t,e){const[i,r]=ir(e?.in,n,t);return i.getFullYear()-r.getFullYear()}function Zh(n,t,e){const[i,r]=ir(e?.in,n,t),s=Qh(i,r),a=Math.abs(Xh(i,r));i.setDate(i.getDate()-s*a);const l=+(Qh(i,r)===-s),u=s*(a-l);return u===0?0:u}function Qh(n,t){const e=n.getFullYear()-t.getFullYear()||n.getMonth()-t.getMonth()||n.getDate()-t.getDate()||n.getHours()-t.getHours()||n.getMinutes()-t.getMinutes()||n.getSeconds()-t.getSeconds()||n.getMilliseconds()-t.getMilliseconds();return e<0?-1:e>0?1:e}function Ps(n){return t=>{const i=(n?Math[n]:Math.trunc)(t);return i===0?0:i}}function q1(n,t,e){const[i,r]=ir(e?.in,n,t),s=(+i-+r)/Nr;return Ps(e?.roundingMethod)(s)}function Ec(n,t){return+At(n)-+At(t)}function j1(n,t,e){const i=Ec(n,t)/Rs;return Ps(e?.roundingMethod)(i)}function Jh(n,t){const e=At(n,t?.in);return e.setHours(23,59,59,999),e}function tp(n,t){const e=At(n,t?.in),i=e.getMonth();return e.setFullYear(e.getFullYear(),i+1,0),e.setHours(23,59,59,999),e}function G1(n,t){const e=At(n,t?.in);return+Jh(e,t)==+tp(e,t)}function ep(n,t,e){const[i,r,s]=ir(e?.in,n,n,t),a=Es(r,s),l=Math.abs($1(r,s));if(l<1)return 0;r.getMonth()===1&&r.getDate()>27&&r.setDate(30),r.setMonth(r.getMonth()-a*l);let u=Es(r,s)===-a;G1(i)&&l===1&&Es(i,s)===1&&(u=!1);const d=a*(l-+u);return d===0?0:d}function K1(n,t,e){const i=ep(n,t,e)/3;return Ps(e?.roundingMethod)(i)}function X1(n,t,e){const i=Ec(n,t)/1e3;return Ps(e?.roundingMethod)(i)}function Z1(n,t,e){const i=Zh(n,t,e)/7;return Ps(e?.roundingMethod)(i)}function Q1(n,t,e){const[i,r]=ir(e?.in,n,t),s=Es(i,r),a=Math.abs(Y1(i,r));i.setFullYear(1584),r.setFullYear(1584);const l=Es(i,r)===-s,u=s*(a-+l);return u===0?0:u}function J1(n,t){const e=At(n,t?.in),i=e.getMonth(),r=i-i%3;return e.setMonth(r,1),e.setHours(0,0,0,0),e}function tS(n,t){const e=At(n,t?.in);return e.setDate(1),e.setHours(0,0,0,0),e}function eS(n,t){const e=At(n,t?.in),i=e.getFullYear();return e.setFullYear(i+1,0,0),e.setHours(23,59,59,999),e}function np(n,t){const e=At(n,t?.in);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e}function nS(n,t){const e=At(n,t?.in);return e.setMinutes(59,59,999),e}function iS(n,t){const e=nr(),i=e.weekStartsOn??e.locale?.options?.weekStartsOn??0,r=At(n,t?.in),s=r.getDay(),a=(s<i?-7:0)+6-(s-i);return r.setDate(r.getDate()+a),r.setHours(23,59,59,999),r}function rS(n,t){const e=At(n,t?.in);return e.setSeconds(59,999),e}function sS(n,t){const e=At(n,t?.in),i=e.getMonth(),r=i-i%3+3;return e.setMonth(r,0),e.setHours(23,59,59,999),e}function oS(n,t){const e=At(n,t?.in);return e.setMilliseconds(999),e}const aS={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},lS=(n,t,e)=>{let i;const r=aS[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e?.addSuffix?e.comparison&&e.comparison>0?"in "+i:i+" ago":i};function Pc(n){return(t={})=>{const e=t.width?String(t.width):n.defaultWidth;return n.formats[e]||n.formats[n.defaultWidth]}}const cS={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},uS={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},dS={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},fS={date:Pc({formats:cS,defaultWidth:"full"}),time:Pc({formats:uS,defaultWidth:"full"}),dateTime:Pc({formats:dS,defaultWidth:"full"})},hS={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},pS=(n,t,e,i)=>hS[n];function Is(n){return(t,e)=>{const i=e?.context?String(e.context):"standalone";let r;if(i==="formatting"&&n.formattingValues){const a=n.defaultFormattingWidth||n.defaultWidth,l=e?.width?String(e.width):a;r=n.formattingValues[l]||n.formattingValues[a]}else{const a=n.defaultWidth,l=e?.width?String(e.width):n.defaultWidth;r=n.values[l]||n.values[a]}const s=n.argumentCallback?n.argumentCallback(t):t;return r[s]}}const gS={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},mS={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},yS={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},_S={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},bS={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},xS={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},wS={ordinalNumber:(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},era:Is({values:gS,defaultWidth:"wide"}),quarter:Is({values:mS,defaultWidth:"wide",argumentCallback:n=>n-1}),month:Is({values:yS,defaultWidth:"wide"}),day:Is({values:_S,defaultWidth:"wide"}),dayPeriod:Is({values:bS,defaultWidth:"wide",formattingValues:xS,defaultFormattingWidth:"wide"})};function Ls(n){return(t,e={})=>{const i=e.width,r=i&&n.matchPatterns[i]||n.matchPatterns[n.defaultMatchWidth],s=t.match(r);if(!s)return null;const a=s[0],l=i&&n.parsePatterns[i]||n.parsePatterns[n.defaultParseWidth],u=Array.isArray(l)?SS(l,g=>g.test(a)):vS(l,g=>g.test(a));let d;d=n.valueCallback?n.valueCallback(u):u,d=e.valueCallback?e.valueCallback(d):d;const h=t.slice(a.length);return{value:d,rest:h}}}function vS(n,t){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&t(n[e]))return e}function SS(n,t){for(let e=0;e<n.length;e++)if(t(n[e]))return e}function TS(n){return(t,e={})=>{const i=t.match(n.matchPattern);if(!i)return null;const r=i[0],s=t.match(n.parsePattern);if(!s)return null;let a=n.valueCallback?n.valueCallback(s[0]):s[0];a=e.valueCallback?e.valueCallback(a):a;const l=t.slice(r.length);return{value:a,rest:l}}}const MS=/^(\d+)(th|st|nd|rd)?/i,kS=/\d+/i,DS={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},CS={any:[/^b/i,/^(a|c)/i]},OS={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},AS={any:[/1/i,/2/i,/3/i,/4/i]},RS={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ES={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},PS={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},IS={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},LS={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},NS={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},BS={ordinalNumber:TS({matchPattern:MS,parsePattern:kS,valueCallback:n=>parseInt(n,10)}),era:Ls({matchPatterns:DS,defaultMatchWidth:"wide",parsePatterns:CS,defaultParseWidth:"any"}),quarter:Ls({matchPatterns:OS,defaultMatchWidth:"wide",parsePatterns:AS,defaultParseWidth:"any",valueCallback:n=>n+1}),month:Ls({matchPatterns:RS,defaultMatchWidth:"wide",parsePatterns:ES,defaultParseWidth:"any"}),day:Ls({matchPatterns:PS,defaultMatchWidth:"wide",parsePatterns:IS,defaultParseWidth:"any"}),dayPeriod:Ls({matchPatterns:LS,defaultMatchWidth:"any",parsePatterns:NS,defaultParseWidth:"any"})},ip={code:"en-US",formatDistance:lS,formatLong:fS,formatRelative:pS,localize:wS,match:BS,options:{weekStartsOn:0,firstWeekContainsDate:1}};function FS(n,t){const e=At(n,t?.in);return Xh(e,np(e))+1}function rp(n,t){const e=At(n,t?.in),i=+Br(e)-+B1(e);return Math.round(i/jh)+1}function Ic(n,t){const e=At(n,t?.in),i=e.getFullYear(),r=nr(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=he(t?.in||n,0);a.setFullYear(i+1,0,s),a.setHours(0,0,0,0);const l=Wn(a,t),u=he(t?.in||n,0);u.setFullYear(i,0,s),u.setHours(0,0,0,0);const d=Wn(u,t);return+e>=+l?i+1:+e>=+d?i:i-1}function zS(n,t){const e=nr(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??e.firstWeekContainsDate??e.locale?.options?.firstWeekContainsDate??1,r=Ic(n,t),s=he(t?.in||n,0);return s.setFullYear(r,0,i),s.setHours(0,0,0,0),Wn(s,t)}function sp(n,t){const e=At(n,t?.in),i=+Wn(e,t)-+zS(e,t);return Math.round(i/jh)+1}function Zt(n,t){const e=n<0?"-":"",i=Math.abs(n).toString().padStart(t,"0");return e+i}const vi={y(n,t){const e=n.getFullYear(),i=e>0?e:1-e;return Zt(t==="yy"?i%100:i,t.length)},M(n,t){const e=n.getMonth();return t==="M"?String(e+1):Zt(e+1,2)},d(n,t){return Zt(n.getDate(),t.length)},a(n,t){const e=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];default:return e==="am"?"a.m.":"p.m."}},h(n,t){return Zt(n.getHours()%12||12,t.length)},H(n,t){return Zt(n.getHours(),t.length)},m(n,t){return Zt(n.getMinutes(),t.length)},s(n,t){return Zt(n.getSeconds(),t.length)},S(n,t){const e=t.length,i=n.getMilliseconds(),r=Math.trunc(i*Math.pow(10,e-3));return Zt(r,t.length)}},Fr={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},op={G:function(n,t,e){const i=n.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return e.era(i,{width:"abbreviated"});case"GGGGG":return e.era(i,{width:"narrow"});default:return e.era(i,{width:"wide"})}},y:function(n,t,e){if(t==="yo"){const i=n.getFullYear(),r=i>0?i:1-i;return e.ordinalNumber(r,{unit:"year"})}return vi.y(n,t)},Y:function(n,t,e,i){const r=Ic(n,i),s=r>0?r:1-r;if(t==="YY"){const a=s%100;return Zt(a,2)}return t==="Yo"?e.ordinalNumber(s,{unit:"year"}):Zt(s,t.length)},R:function(n,t){const e=Kh(n);return Zt(e,t.length)},u:function(n,t){const e=n.getFullYear();return Zt(e,t.length)},Q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return Zt(i,2);case"Qo":return e.ordinalNumber(i,{unit:"quarter"});case"QQQ":return e.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(i,{width:"narrow",context:"formatting"});default:return e.quarter(i,{width:"wide",context:"formatting"})}},q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return Zt(i,2);case"qo":return e.ordinalNumber(i,{unit:"quarter"});case"qqq":return e.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(i,{width:"narrow",context:"standalone"});default:return e.quarter(i,{width:"wide",context:"standalone"})}},M:function(n,t,e){const i=n.getMonth();switch(t){case"M":case"MM":return vi.M(n,t);case"Mo":return e.ordinalNumber(i+1,{unit:"month"});case"MMM":return e.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(i,{width:"narrow",context:"formatting"});default:return e.month(i,{width:"wide",context:"formatting"})}},L:function(n,t,e){const i=n.getMonth();switch(t){case"L":return String(i+1);case"LL":return Zt(i+1,2);case"Lo":return e.ordinalNumber(i+1,{unit:"month"});case"LLL":return e.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(i,{width:"narrow",context:"standalone"});default:return e.month(i,{width:"wide",context:"standalone"})}},w:function(n,t,e,i){const r=sp(n,i);return t==="wo"?e.ordinalNumber(r,{unit:"week"}):Zt(r,t.length)},I:function(n,t,e){const i=rp(n);return t==="Io"?e.ordinalNumber(i,{unit:"week"}):Zt(i,t.length)},d:function(n,t,e){return t==="do"?e.ordinalNumber(n.getDate(),{unit:"date"}):vi.d(n,t)},D:function(n,t,e){const i=FS(n);return t==="Do"?e.ordinalNumber(i,{unit:"dayOfYear"}):Zt(i,t.length)},E:function(n,t,e){const i=n.getDay();switch(t){case"E":case"EE":case"EEE":return e.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},e:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return Zt(s,2);case"eo":return e.ordinalNumber(s,{unit:"day"});case"eee":return e.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(r,{width:"short",context:"formatting"});default:return e.day(r,{width:"wide",context:"formatting"})}},c:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return Zt(s,t.length);case"co":return e.ordinalNumber(s,{unit:"day"});case"ccc":return e.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(r,{width:"narrow",context:"standalone"});case"cccccc":return e.day(r,{width:"short",context:"standalone"});default:return e.day(r,{width:"wide",context:"standalone"})}},i:function(n,t,e){const i=n.getDay(),r=i===0?7:i;switch(t){case"i":return String(r);case"ii":return Zt(r,t.length);case"io":return e.ordinalNumber(r,{unit:"day"});case"iii":return e.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},a:function(n,t,e){const r=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(n,t,e){const i=n.getHours();let r;switch(i===12?r=Fr.noon:i===0?r=Fr.midnight:r=i/12>=1?"pm":"am",t){case"b":case"bb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(n,t,e){const i=n.getHours();let r;switch(i>=17?r=Fr.evening:i>=12?r=Fr.afternoon:i>=4?r=Fr.morning:r=Fr.night,t){case"B":case"BB":case"BBB":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(n,t,e){if(t==="ho"){let i=n.getHours()%12;return i===0&&(i=12),e.ordinalNumber(i,{unit:"hour"})}return vi.h(n,t)},H:function(n,t,e){return t==="Ho"?e.ordinalNumber(n.getHours(),{unit:"hour"}):vi.H(n,t)},K:function(n,t,e){const i=n.getHours()%12;return t==="Ko"?e.ordinalNumber(i,{unit:"hour"}):Zt(i,t.length)},k:function(n,t,e){let i=n.getHours();return i===0&&(i=24),t==="ko"?e.ordinalNumber(i,{unit:"hour"}):Zt(i,t.length)},m:function(n,t,e){return t==="mo"?e.ordinalNumber(n.getMinutes(),{unit:"minute"}):vi.m(n,t)},s:function(n,t,e){return t==="so"?e.ordinalNumber(n.getSeconds(),{unit:"second"}):vi.s(n,t)},S:function(n,t){return vi.S(n,t)},X:function(n,t,e){const i=n.getTimezoneOffset();if(i===0)return"Z";switch(t){case"X":return lp(i);case"XXXX":case"XX":return rr(i);default:return rr(i,":")}},x:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"x":return lp(i);case"xxxx":case"xx":return rr(i);default:return rr(i,":")}},O:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+ap(i,":");default:return"GMT"+rr(i,":")}},z:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+ap(i,":");default:return"GMT"+rr(i,":")}},t:function(n,t,e){const i=Math.trunc(+n/1e3);return Zt(i,t.length)},T:function(n,t,e){return Zt(+n,t.length)}};function ap(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.trunc(i/60),s=i%60;return s===0?e+String(r):e+String(r)+t+Zt(s,2)}function lp(n,t){return n%60===0?(n>0?"-":"+")+Zt(Math.abs(n)/60,2):rr(n,t)}function rr(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Zt(Math.trunc(i/60),2),s=Zt(i%60,2);return e+r+t+s}const cp=(n,t)=>{switch(n){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},up=(n,t)=>{switch(n){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Lc={p:up,P:(n,t)=>{const e=n.match(/(P+)(p+)?/)||[],i=e[1],r=e[2];if(!r)return cp(n,t);let s;switch(i){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",cp(i,t)).replace("{{time}}",up(r,t))}},US=/^D+$/,HS=/^Y+$/,WS=["D","DD","YY","YYYY"];function dp(n){return US.test(n)}function fp(n){return HS.test(n)}function Nc(n,t,e){const i=VS(n,t,e);if(console.warn(i),WS.includes(n))throw new RangeError(i)}function VS(n,t,e){const i=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${t}\`) for formatting ${i} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const $S=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,YS=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,qS=/^'([^]*?)'?$/,jS=/''/g,GS=/[a-zA-Z]/;function da(n,t,e){const i=nr(),r=e?.locale??i.locale??ip,s=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,l=At(n,e?.in);if(!Rc(l))throw new RangeError("Invalid time value");let u=t.match(YS).map(h=>{const g=h[0];if(g==="p"||g==="P"){const y=Lc[g];return y(h,r.formatLong)}return h}).join("").match($S).map(h=>{if(h==="''")return{isToken:!1,value:"'"};const g=h[0];if(g==="'")return{isToken:!1,value:KS(h)};if(op[g])return{isToken:!0,value:h};if(g.match(GS))throw new RangeError("Format string contains an unescaped latin alphabet character `"+g+"`");return{isToken:!1,value:h}});r.localize.preprocessor&&(u=r.localize.preprocessor(l,u));const d={firstWeekContainsDate:s,weekStartsOn:a,locale:r};return u.map(h=>{if(!h.isToken)return h.value;const g=h.value;(!e?.useAdditionalWeekYearTokens&&fp(g)||!e?.useAdditionalDayOfYearTokens&&dp(g))&&Nc(g,t,String(n));const y=op[g[0]];return y(l,g,r.localize,d)}).join("")}function KS(n){const t=n.match(qS);return t?t[1].replace(jS,"'"):n}function hp(){return Object.assign({},nr())}function XS(n,t){const e=At(n,t?.in).getDay();return e===0?7:e}function ZS(n,t){const e=QS(t)?new t(0):he(t,0);return e.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),e.setHours(n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()),e}function QS(n){return typeof n=="function"&&n.prototype?.constructor===n}const JS=10;class pp{subPriority=0;validate(t,e){return!0}}class tT extends pp{constructor(t,e,i,r,s){super(),this.value=t,this.validateValue=e,this.setValue=i,this.priority=r,s&&(this.subPriority=s)}validate(t,e){return this.validateValue(t,this.value,e)}set(t,e,i){return this.setValue(t,e,this.value,i)}}class eT extends pp{priority=JS;subPriority=-1;constructor(t,e){super(),this.context=t||(i=>he(e,i))}set(t,e){return e.timestampIsSet?t:he(t,ZS(t,this.context))}}class Wt{run(t,e,i,r){const s=this.parse(t,e,i,r);return s?{setter:new tT(s.value,this.validate,this.set,this.priority,this.subPriority),rest:s.rest}:null}validate(t,e,i){return!0}}class nT extends Wt{priority=140;parse(t,e,i){switch(e){case"G":case"GG":case"GGG":return i.era(t,{width:"abbreviated"})||i.era(t,{width:"narrow"});case"GGGGG":return i.era(t,{width:"narrow"});default:return i.era(t,{width:"wide"})||i.era(t,{width:"abbreviated"})||i.era(t,{width:"narrow"})}}set(t,e,i){return e.era=i,t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]}const me={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},Vn={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function ye(n,t){return n&&{value:t(n.value),rest:n.rest}}function de(n,t){const e=t.match(n);return e?{value:parseInt(e[0],10),rest:t.slice(e[0].length)}:null}function $n(n,t){const e=t.match(n);if(!e)return null;if(e[0]==="Z")return{value:0,rest:t.slice(1)};const i=e[1]==="+"?1:-1,r=e[2]?parseInt(e[2],10):0,s=e[3]?parseInt(e[3],10):0,a=e[5]?parseInt(e[5],10):0;return{value:i*(r*Nr+s*Rs+a*I1),rest:t.slice(e[0].length)}}function gp(n){return de(me.anyDigitsSigned,n)}function pe(n,t){switch(n){case 1:return de(me.singleDigit,t);case 2:return de(me.twoDigits,t);case 3:return de(me.threeDigits,t);case 4:return de(me.fourDigits,t);default:return de(new RegExp("^\\d{1,"+n+"}"),t)}}function fa(n,t){switch(n){case 1:return de(me.singleDigitSigned,t);case 2:return de(me.twoDigitsSigned,t);case 3:return de(me.threeDigitsSigned,t);case 4:return de(me.fourDigitsSigned,t);default:return de(new RegExp("^-?\\d{1,"+n+"}"),t)}}function Bc(n){switch(n){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function mp(n,t){const e=t>0,i=e?t:1-t;let r;if(i<=50)r=n||100;else{const s=i+50,a=Math.trunc(s/100)*100,l=n>=s%100;r=n+a-(l?100:0)}return e?r:1-r}function yp(n){return n%400===0||n%4===0&&n%100!==0}class iT extends Wt{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,i){const r=s=>({year:s,isTwoDigitYear:e==="yy"});switch(e){case"y":return ye(pe(4,t),r);case"yo":return ye(i.ordinalNumber(t,{unit:"year"}),r);default:return ye(pe(e.length,t),r)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,i){const r=t.getFullYear();if(i.isTwoDigitYear){const a=mp(i.year,r);return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}const s=!("era"in e)||e.era===1?i.year:1-i.year;return t.setFullYear(s,0,1),t.setHours(0,0,0,0),t}}class rT extends Wt{priority=130;parse(t,e,i){const r=s=>({year:s,isTwoDigitYear:e==="YY"});switch(e){case"Y":return ye(pe(4,t),r);case"Yo":return ye(i.ordinalNumber(t,{unit:"year"}),r);default:return ye(pe(e.length,t),r)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,i,r){const s=Ic(t,r);if(i.isTwoDigitYear){const l=mp(i.year,s);return t.setFullYear(l,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),Wn(t,r)}const a=!("era"in e)||e.era===1?i.year:1-i.year;return t.setFullYear(a,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),Wn(t,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class sT extends Wt{priority=130;parse(t,e){return fa(e==="R"?4:e.length,t)}set(t,e,i){const r=he(t,0);return r.setFullYear(i,0,4),r.setHours(0,0,0,0),Br(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class oT extends Wt{priority=130;parse(t,e){return fa(e==="u"?4:e.length,t)}set(t,e,i){return t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class aT extends Wt{priority=120;parse(t,e,i){switch(e){case"Q":case"QQ":return pe(e.length,t);case"Qo":return i.ordinalNumber(t,{unit:"quarter"});case"QQQ":return i.quarter(t,{width:"abbreviated",context:"formatting"})||i.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return i.quarter(t,{width:"narrow",context:"formatting"});default:return i.quarter(t,{width:"wide",context:"formatting"})||i.quarter(t,{width:"abbreviated",context:"formatting"})||i.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,i){return t.setMonth((i-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class lT extends Wt{priority=120;parse(t,e,i){switch(e){case"q":case"qq":return pe(e.length,t);case"qo":return i.ordinalNumber(t,{unit:"quarter"});case"qqq":return i.quarter(t,{width:"abbreviated",context:"standalone"})||i.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return i.quarter(t,{width:"narrow",context:"standalone"});default:return i.quarter(t,{width:"wide",context:"standalone"})||i.quarter(t,{width:"abbreviated",context:"standalone"})||i.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,i){return t.setMonth((i-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class cT extends Wt{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,i){const r=s=>s-1;switch(e){case"M":return ye(de(me.month,t),r);case"MM":return ye(pe(2,t),r);case"Mo":return ye(i.ordinalNumber(t,{unit:"month"}),r);case"MMM":return i.month(t,{width:"abbreviated",context:"formatting"})||i.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return i.month(t,{width:"narrow",context:"formatting"});default:return i.month(t,{width:"wide",context:"formatting"})||i.month(t,{width:"abbreviated",context:"formatting"})||i.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,i){return t.setMonth(i,1),t.setHours(0,0,0,0),t}}class uT extends Wt{priority=110;parse(t,e,i){const r=s=>s-1;switch(e){case"L":return ye(de(me.month,t),r);case"LL":return ye(pe(2,t),r);case"Lo":return ye(i.ordinalNumber(t,{unit:"month"}),r);case"LLL":return i.month(t,{width:"abbreviated",context:"standalone"})||i.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return i.month(t,{width:"narrow",context:"standalone"});default:return i.month(t,{width:"wide",context:"standalone"})||i.month(t,{width:"abbreviated",context:"standalone"})||i.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,i){return t.setMonth(i,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function dT(n,t,e){const i=At(n,e?.in),r=sp(i,e)-t;return i.setDate(i.getDate()-r*7),At(i,e?.in)}class fT extends Wt{priority=100;parse(t,e,i){switch(e){case"w":return de(me.week,t);case"wo":return i.ordinalNumber(t,{unit:"week"});default:return pe(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,e,i,r){return Wn(dT(t,i,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function hT(n,t,e){const i=At(n,e?.in),r=rp(i,e)-t;return i.setDate(i.getDate()-r*7),i}class pT extends Wt{priority=100;parse(t,e,i){switch(e){case"I":return de(me.week,t);case"Io":return i.ordinalNumber(t,{unit:"week"});default:return pe(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,e,i){return Br(hT(t,i))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const gT=[31,28,31,30,31,30,31,31,30,31,30,31],mT=[31,29,31,30,31,30,31,31,30,31,30,31];class yT extends Wt{priority=90;subPriority=1;parse(t,e,i){switch(e){case"d":return de(me.date,t);case"do":return i.ordinalNumber(t,{unit:"date"});default:return pe(e.length,t)}}validate(t,e){const i=t.getFullYear(),r=yp(i),s=t.getMonth();return r?e>=1&&e<=mT[s]:e>=1&&e<=gT[s]}set(t,e,i){return t.setDate(i),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class _T extends Wt{priority=90;subpriority=1;parse(t,e,i){switch(e){case"D":case"DD":return de(me.dayOfYear,t);case"Do":return i.ordinalNumber(t,{unit:"date"});default:return pe(e.length,t)}}validate(t,e){const i=t.getFullYear();return yp(i)?e>=1&&e<=366:e>=1&&e<=365}set(t,e,i){return t.setMonth(0,i),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function Fc(n,t,e){const i=nr(),r=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,s=At(n,e?.in),a=s.getDay(),u=(t%7+7)%7,d=7-r,h=t<0||t>6?t-(a+d)%7:(u+d)%7-(a+d)%7;return ca(s,h,e)}class bT extends Wt{priority=90;parse(t,e,i){switch(e){case"E":case"EE":case"EEE":return i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return i.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});default:return i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,i,r){return t=Fc(t,i,r),t.setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]}class xT extends Wt{priority=90;parse(t,e,i,r){const s=a=>{const l=Math.floor((a-1)/7)*7;return(a+r.weekStartsOn+6)%7+l};switch(e){case"e":case"ee":return ye(pe(e.length,t),s);case"eo":return ye(i.ordinalNumber(t,{unit:"day"}),s);case"eee":return i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});case"eeeee":return i.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});default:return i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,i,r){return t=Fc(t,i,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class wT extends Wt{priority=90;parse(t,e,i,r){const s=a=>{const l=Math.floor((a-1)/7)*7;return(a+r.weekStartsOn+6)%7+l};switch(e){case"c":case"cc":return ye(pe(e.length,t),s);case"co":return ye(i.ordinalNumber(t,{unit:"day"}),s);case"ccc":return i.day(t,{width:"abbreviated",context:"standalone"})||i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"});case"ccccc":return i.day(t,{width:"narrow",context:"standalone"});case"cccccc":return i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"});default:return i.day(t,{width:"wide",context:"standalone"})||i.day(t,{width:"abbreviated",context:"standalone"})||i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,i,r){return t=Fc(t,i,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function vT(n,t,e){const i=At(n,e?.in),r=XS(i,e),s=t-r;return ca(i,s,e)}class ST extends Wt{priority=90;parse(t,e,i){const r=s=>s===0?7:s;switch(e){case"i":case"ii":return pe(e.length,t);case"io":return i.ordinalNumber(t,{unit:"day"});case"iii":return ye(i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),r);case"iiiii":return ye(i.day(t,{width:"narrow",context:"formatting"}),r);case"iiiiii":return ye(i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),r);default:return ye(i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),r)}}validate(t,e){return e>=1&&e<=7}set(t,e,i){return t=vT(t,i),t.setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class TT extends Wt{priority=80;parse(t,e,i){switch(e){case"a":case"aa":case"aaa":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return i.dayPeriod(t,{width:"narrow",context:"formatting"});default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,i){return t.setHours(Bc(i),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]}class MT extends Wt{priority=80;parse(t,e,i){switch(e){case"b":case"bb":case"bbb":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return i.dayPeriod(t,{width:"narrow",context:"formatting"});default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,i){return t.setHours(Bc(i),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]}class kT extends Wt{priority=80;parse(t,e,i){switch(e){case"B":case"BB":case"BBB":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return i.dayPeriod(t,{width:"narrow",context:"formatting"});default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,i){return t.setHours(Bc(i),0,0,0),t}incompatibleTokens=["a","b","t","T"]}class DT extends Wt{priority=70;parse(t,e,i){switch(e){case"h":return de(me.hour12h,t);case"ho":return i.ordinalNumber(t,{unit:"hour"});default:return pe(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,i){const r=t.getHours()>=12;return r&&i<12?t.setHours(i+12,0,0,0):!r&&i===12?t.setHours(0,0,0,0):t.setHours(i,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]}class CT extends Wt{priority=70;parse(t,e,i){switch(e){case"H":return de(me.hour23h,t);case"Ho":return i.ordinalNumber(t,{unit:"hour"});default:return pe(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,i){return t.setHours(i,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]}class OT extends Wt{priority=70;parse(t,e,i){switch(e){case"K":return de(me.hour11h,t);case"Ko":return i.ordinalNumber(t,{unit:"hour"});default:return pe(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,i){return t.getHours()>=12&&i<12?t.setHours(i+12,0,0,0):t.setHours(i,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]}class AT extends Wt{priority=70;parse(t,e,i){switch(e){case"k":return de(me.hour24h,t);case"ko":return i.ordinalNumber(t,{unit:"hour"});default:return pe(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,i){const r=i<=24?i%24:i;return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]}class RT extends Wt{priority=60;parse(t,e,i){switch(e){case"m":return de(me.minute,t);case"mo":return i.ordinalNumber(t,{unit:"minute"});default:return pe(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,i){return t.setMinutes(i,0,0),t}incompatibleTokens=["t","T"]}class ET extends Wt{priority=50;parse(t,e,i){switch(e){case"s":return de(me.second,t);case"so":return i.ordinalNumber(t,{unit:"second"});default:return pe(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,i){return t.setSeconds(i,0),t}incompatibleTokens=["t","T"]}class PT extends Wt{priority=30;parse(t,e){const i=r=>Math.trunc(r*Math.pow(10,-e.length+3));return ye(pe(e.length,t),i)}set(t,e,i){return t.setMilliseconds(i),t}incompatibleTokens=["t","T"]}class IT extends Wt{priority=10;parse(t,e){switch(e){case"X":return $n(Vn.basicOptionalMinutes,t);case"XX":return $n(Vn.basic,t);case"XXXX":return $n(Vn.basicOptionalSeconds,t);case"XXXXX":return $n(Vn.extendedOptionalSeconds,t);default:return $n(Vn.extended,t)}}set(t,e,i){return e.timestampIsSet?t:he(t,t.getTime()-ua(t)-i)}incompatibleTokens=["t","T","x"]}class LT extends Wt{priority=10;parse(t,e){switch(e){case"x":return $n(Vn.basicOptionalMinutes,t);case"xx":return $n(Vn.basic,t);case"xxxx":return $n(Vn.basicOptionalSeconds,t);case"xxxxx":return $n(Vn.extendedOptionalSeconds,t);default:return $n(Vn.extended,t)}}set(t,e,i){return e.timestampIsSet?t:he(t,t.getTime()-ua(t)-i)}incompatibleTokens=["t","T","X"]}class NT extends Wt{priority=40;parse(t){return gp(t)}set(t,e,i){return[he(t,i*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class BT extends Wt{priority=20;parse(t){return gp(t)}set(t,e,i){return[he(t,i),{timestampIsSet:!0}]}incompatibleTokens="*"}const FT={G:new nT,y:new iT,Y:new rT,R:new sT,u:new oT,Q:new aT,q:new lT,M:new cT,L:new uT,w:new fT,I:new pT,d:new yT,D:new _T,E:new bT,e:new xT,c:new wT,i:new ST,a:new TT,b:new MT,B:new kT,h:new DT,H:new CT,K:new OT,k:new AT,m:new RT,s:new ET,S:new PT,X:new IT,x:new LT,t:new NT,T:new BT},zT=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,UT=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,HT=/^'([^]*?)'?$/,WT=/''/g,VT=/\S/,$T=/[a-zA-Z]/;function YT(n,t,e,i){const r=()=>he(i?.in||e,NaN),s=hp(),a=i?.locale??s.locale??ip,l=i?.firstWeekContainsDate??i?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,u=i?.weekStartsOn??i?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0;if(!t)return n?r():At(e,i?.in);const d={firstWeekContainsDate:l,weekStartsOn:u,locale:a},h=[new eT(i?.in,e)],g=t.match(UT).map(M=>{const C=M[0];if(C in Lc){const R=Lc[C];return R(M,a.formatLong)}return M}).join("").match(zT),y=[];for(let M of g){!i?.useAdditionalWeekYearTokens&&fp(M)&&Nc(M,t,n),!i?.useAdditionalDayOfYearTokens&&dp(M)&&Nc(M,t,n);const C=M[0],R=FT[C];if(R){const{incompatibleTokens:F}=R;if(Array.isArray(F)){const L=y.find(N=>F.includes(N.token)||N.token===C);if(L)throw new RangeError(`The format string mustn't contain \`${L.fullToken}\` and \`${M}\` at the same time`)}else if(R.incompatibleTokens==="*"&&y.length>0)throw new RangeError(`The format string mustn't contain \`${M}\` and any other token at the same time`);y.push({token:C,fullToken:M});const I=R.run(n,M,a.match,d);if(!I)return r();h.push(I.setter),n=I.rest}else{if(C.match($T))throw new RangeError("Format string contains an unescaped latin alphabet character `"+C+"`");if(M==="''"?M="'":C==="'"&&(M=qT(M)),n.indexOf(M)===0)n=n.slice(M.length);else return r()}}if(n.length>0&&VT.test(n))return r();const _=h.map(M=>M.priority).sort((M,C)=>C-M).filter((M,C,R)=>R.indexOf(M)===C).map(M=>h.filter(C=>C.priority===M).sort((C,R)=>R.subPriority-C.subPriority)).map(M=>M[0]);let x=At(e,i?.in);if(isNaN(+x))return r();const v={};for(const M of _){if(!M.validate(x,d))return r();const C=M.set(x,v,d);Array.isArray(C)?(x=C[0],Object.assign(v,C[1])):x=C}return x}function qT(n){return n.match(HT)[1].replace(WT,"'")}function jT(n,t){const e=At(n,t?.in);return e.setMinutes(0,0,0),e}function GT(n,t){const e=At(n,t?.in);return e.setSeconds(0,0),e}function KT(n,t){const e=At(n,t?.in);return e.setMilliseconds(0),e}function _p(n){const t=n/Nr;return Math.trunc(t)}function bp(n,t){const e=()=>he(t?.in,NaN),i=t?.additionalDigits??2,r=JT(n);let s;if(r.date){const d=tM(r.date,i);s=eM(d.restDateString,d.year)}if(!s||isNaN(+s))return e();const a=+s;let l=0,u;if(r.time&&(l=nM(r.time),isNaN(l)))return e();if(r.timezone){if(u=iM(r.timezone),isNaN(u))return e()}else{const d=new Date(a+l),h=At(0,t?.in);return h.setFullYear(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()),h.setHours(d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds()),h}return At(a+l+u,t?.in)}const ha={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},XT=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,ZT=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,QT=/^([+-])(\d{2})(?::?(\d{2}))?$/;function JT(n){const t={},e=n.split(ha.dateTimeDelimiter);let i;if(e.length>2)return t;if(/:/.test(e[0])?i=e[0]:(t.date=e[0],i=e[1],ha.timeZoneDelimiter.test(t.date)&&(t.date=n.split(ha.timeZoneDelimiter)[0],i=n.substr(t.date.length,n.length))),i){const r=ha.timezone.exec(i);r?(t.time=i.replace(r[1],""),t.timezone=r[1]):t.time=i}return t}function tM(n,t){const e=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),i=n.match(e);if(!i)return{year:NaN,restDateString:""};const r=i[1]?parseInt(i[1]):null,s=i[2]?parseInt(i[2]):null;return{year:s===null?r:s*100,restDateString:n.slice((i[1]||i[2]).length)}}function eM(n,t){if(t===null)return new Date(NaN);const e=n.match(XT);if(!e)return new Date(NaN);const i=!!e[4],r=Ns(e[1]),s=Ns(e[2])-1,a=Ns(e[3]),l=Ns(e[4]),u=Ns(e[5])-1;if(i)return lM(t,l,u)?rM(t,l,u):new Date(NaN);{const d=new Date(0);return!oM(t,s,a)||!aM(t,r)?new Date(NaN):(d.setUTCFullYear(t,s,Math.max(r,a)),d)}}function Ns(n){return n?parseInt(n):1}function nM(n){const t=n.match(ZT);if(!t)return NaN;const e=zc(t[1]),i=zc(t[2]),r=zc(t[3]);return cM(e,i,r)?e*Nr+i*Rs+r*1e3:NaN}function zc(n){return n&&parseFloat(n.replace(",","."))||0}function iM(n){if(n==="Z")return 0;const t=n.match(QT);if(!t)return 0;const e=t[1]==="+"?-1:1,i=parseInt(t[2]),r=t[3]&&parseInt(t[3])||0;return uM(i,r)?e*(i*Nr+r*Rs):NaN}function rM(n,t,e){const i=new Date(0);i.setUTCFullYear(n,0,4);const r=i.getUTCDay()||7,s=(t-1)*7+e+1-r;return i.setUTCDate(i.getUTCDate()+s),i}const sM=[31,null,31,30,31,30,31,31,30,31,30,31];function xp(n){return n%400===0||n%4===0&&n%100!==0}function oM(n,t,e){return t>=0&&t<=11&&e>=1&&e<=(sM[t]||(xp(n)?29:28))}function aM(n,t){return t>=1&&t<=(xp(n)?366:365)}function lM(n,t,e){return t>=1&&t<=53&&e>=0&&e<=6}function cM(n,t,e){return n===24?t===0&&e===0:e>=0&&e<60&&t>=0&&t<60&&n>=0&&n<25}function uM(n,t){return t>=0&&t<=59}const dM={noDataAvailableTitle:"No data in the current time frame",noDataAvailableDescription:"Once there is traffic, it will display here",limitedResultsShown:"Grouped value limit exceeded, showing the top {maxReturned}",entityNoName:"no-name",debug:"debug",total:"Total",jumpToExplore:"Open in explorer",more_actions:"More actions",emptyEntityInfo:"Requests that do not have a value for the selected group",scatter:{median:"Median",percentile:"p{value}",outlier:"Outlier (> {label})",outlierTooltip:"{series} (outlier > {label})"},chartUnits:{ms:"ms",bytes:"Byte{plural}",count:"request{plural}","count/minute":"rpm",requests:"request{plural}","token count":"token{plural}","tokens/minute":"tpm","%":"%","ops/minute":"ops/minute"},csvExport:{dataError:"Error loading data",noDataRange:"No data in selected range",noDataRetry:"Please adjust the time period and try again",timeRangeSelected:"selected",exportPreview:"Export preview",exportAsCsv:"Export as CSV",exportTimeRange:"Time range",exportDescription:"Exports a CSV of the data represented in the chart.",maximumRecordAmount:"The number of groups is limited to {value}",previewRows:"Previewing {rowsMax} of {rowsTotal} row{plural}",downloadButton:"Export",cancelButton:"Cancel",UtcOffset:"UTC offset",Timestamp:"Timestamp"},query_errors:{forbidden:{message:"Data request forbidden",details:"To access this data, either filter for an entity you have access to or request analytics viewer access from your administrator."},time_range_exceeded:{message:"Time range exceeded",details:"The time range for this report is outside of your organization's data retention period"},timeout:{message:"Data request timed out",details:"We're sorry, the request timed out. Please consider using a shorter time period or try again later."},canceled:{message:"Request canceled"},other:{message:"Bad request"}},legend:{datapointValueDisplay:"{value} {unit}"},chartLabels:{ai_count:"LLM request count",latencies_response_ms:"Response latency",latencies_upstream_ms:"Upstream latency",latencies_kong_gateway_ms:"Kong latency",latencies_kong_internal_ms:"Kong internal latency",request_body_size:"Request size",response_body_size:"Response size",response_header_content_length:"Content length",ai:{cost:"Cost",costCaching:"Caching cost",promptTokens:"Prompt tokens",completionTokens:"Completion tokens",totalTokens:"Total tokens",llmLatency:"LLM latency",fetchLatency:"Fetch latency",embeddingsLatency:"Embeddings latency"},mcp:{latency:"MCP latency",response_body_size:"MCP response size"},a2a:{latency:"A2A latency",response_body_size:"A2A response size"},ai_gateway:"AI gateway",ai_gateway_agent:"AI gateway agent",ai_gateway_consumer:"AI gateway consumer",ai_gateway_data_plane_node:"AI gateway data plane node",ai_gateway_mcp_server:"AI gateway MCP server",ai_gateway_model:"AI gateway model",ai_plugin:"AI plugin",ai_provider:"Provider",ai_request_model:"Request model",ai_response_model:"Response model",error_rate:"Error rate",request_count:"Request count",request_per_minute:"Requests per minute",requests_per_minute:"Requests per minute",response_latency_average:"Response latency (avg)",response_latency_p99:"Response latency (p99)",response_latency_p95:"Response latency (p95)",response_latency_p50:"Response latency (p50)",kong_latency_average:"Kong latency (avg)",kong_latency_p99:"Kong latency (p99)",kong_latency_p95:"Kong latency (p95)",kong_latency_p50:"Kong latency (p50)",kong_internal_latency_average:"Kong internal latency (avg)",kong_internal_latency_p99:"Kong internal latency (p99)",kong_internal_latency_p95:"Kong internal latency (p95)",kong_internal_latency_p50:"Kong internal latency (p50)",llm_cache_status:"Cache status",llm_embeddings_model:"Embeddings model",llm_embeddings_provider:"Embeddings provider",upstream_latency_average:"Upstream latency (avg)",upstream_latency_p99:"Upstream latency (p99)",upstream_latency_p95:"Upstream latency (p95)",upstream_latency_p50:"Upstream latency (p50)",response_size_p99:"Response size (p99)",response_size_p95:"Response size (p95)",response_size_p50:"Response size (p50)",response_size_average:"Response size (avg)",response_size_sum:"Response size (sum)",response_source:"Response source",request_size_p99:"Request size (p99)",request_size_p95:"Request size (p95)",request_size_p50:"Request size (p50)",request_size_average:"Request size (avg)",request_size_sum:"Request size (sum)",control_plane:"Control plane",control_plane_group:"Control plane group",consumer:"Consumer",oidc_credential:"OIDC credential",country_code:"Country",country:"Country",data_plane_node:"Data plane node",data_plane_node_version:"Data plane node version",api_package:"API package",api_product:"API product",api_product_version:"API product version",portal:"Portal",realm:"Realm",runtime_group:"Runtime group",gateway_service:"Gateway service",route:"Route",application:"Application",status_code:"Status code",status_code_grouped:"Status code (grouped)",total_tokens_per_minute:"Total tokens per minute",upstream_status_code:"Upstream status code",upstream_status_code_grouped:"Upstream status code group",time:"Time",Service:"Service",ServiceVersion:"Service version",Route:"Route",Application:"Application",RuntimeGroup:"Runtime group",GatewayService:"Gateway service",StatusCode:"Status code",CodeClass:"Status code (grouped)",Time:"Time",API_PRODUCT:"Api product",API_PRODUCT_VERSION:"Api product version",RUNTIME_GROUP:"Runtime group",GATEWAY_SERVICE:"Gateway service",ROUTE:"Route",APPLICATION:"Application",STATUS_CODE:"Status code",STATUS_CODE_GROUPED:"Status code (grouped)",TIME:"Time",ORGANIZATION:"Organization",TotalRequests:"Request count",RequestsPerMinute:"Requests per minute",LatencyP99:"Response latency (p99)",LatencyP95:"Response latency (p95)",LatencyP50:"Response latency (p50)",LatencyAverage:"Response latency (avg)",UpstreamLatencyP99:"Upstream latency (p99)",UpstreamLatencyP95:"Upstream latency (p95)",UpstreamLatencyP50:"Upstream latency (p50)",UpstreamLatencyAverage:"Upstream latency (avg)",KongLatencyP99:"Kong latency (p99)",KongLatencyP95:"Kong latency (p95)",KongLatencyP50:"Kong latency (p50)",KongLatencyAverage:"Kong latency (avg)",ResponseSizeP99:"Response size (p99)",ResponseSizeP95:"Response size (p95)",ResponseSizeP50:"Response size (p50)",RequestSizeP99:"Request size (p99)",RequestSizeP95:"Request size (p95)",RequestSizeP50:"Request size (p50)",SuccessfulRequests:"Successful requests",SUCCESS:"Successful requests",FailedRequests:"Failed requests",FAILURE:"Failed requests","5XX":"5xx","4XX":"4xx","3XX":"3xx","2XX":"2xx","1XX":"1xx",REQUEST_COUNT:"Request count",REQUEST_PER_MINUTE:"Requests per minute",RESPONSE_LATENCY_P99:"Response latency",RESPONSE_LATENCY_P95:"Response latency",RESPONSE_LATENCY_P50:"Response latency",RESPONSE_SIZE_P99:"Response size (p99)",RESPONSE_SIZE_P95:"Response size (p95)",RESPONSE_SIZE_P50:"Response size (p50)",REQUEST_SIZE_P99:"Request size (p99)",REQUEST_SIZE_P95:"Request size (p95)",REQUEST_SIZE_P50:"Request size (p50)",CONTROL_PLANE:"Control plane",____OTHER____:"Others",ai_request_count:"Request count",total_tokens:"Total token count",prompt_tokens:"Prompt token count",completion_tokens:"Completion token count",cost:"Costs",cost_per_request_average:"Cost per request (avg)",llm_cache_embeddings_latency_average:"Embeddings latency (avg)",llm_cache_fetch_latency_average:"Fetch latency (avg)",llm_latency_average:"Llm latency (avg)","threshold-warning":"Warning threshold: {value}","threshold-error":"Error threshold: {value}","thatreshold-neutral":"Alert threshold: {value}",api:"API",vulnerability_count:"Vulnerability count",a2a_latency_average:"A2A latency (avg)",a2a_response_size_sum:"A2A response size (sum)",a2a_context_id:"A2A context ID",a2a_error:"A2A error",a2a_method:"A2A method",a2a_task_id:"A2A task ID",active_agents:"Active agents",mcp_error:"MCP error",mcp_method:"MCP method",mcp_latency_average:"MCP latency (avg)",mcp_latency_p99:"MCP latency (p99)",mcp_latency_p95:"MCP latency (p95)",mcp_latency_p50:"MCP latency (p50)",mcp_response_size_sum:"MCP response size (sum)",mcp_session_id:"MCP session ID",mcp_tool_name:"MCP tool name",mcp_response_body_size_sum:"MCP response size (sum)",control_plane_count:"Control plane count",service_count:"Gateway service count","record_bytes:sum":"Record size (sum)","record_count:sum":"Record count (sum)","request_count:sum":"Request count (sum)",route_count:"Route count",consumer_count:"Consumer count",plugin_count:"Plugin count",node_count:"Data plane node count",principal:"Principal",virtual_cluster_id:"Virtual cluster",backend_cluster_id:"Backend cluster",listener_id:"Listener",principal_name:"Principal name",principal_type:"Principal type",request_type:"Request type",topic_name:"Topic name",partition_index:"Partition index",api_key:"API key",data_plane_group:"Data plane group",managed_cache:"Managed cache",network:"Network",provider:"Provider",provider_region:"Provider region",region:"Region",cache_eviction_rate:"Cache eviction rate",cache_expiration_rate:"Cache expiration rate",cache_items_average:"Cache items (avg)",cache_memory_utilization_max:"Cache memory utilization (max)",cache_status:"Cache status",cache_hit_rate:"Cache hit rate",time_to_first_token_average:"Time to first token (avg)",time_to_first_token_p99:"Time to first token (p99)",time_to_first_token_p95:"Time to first token (p95)",time_to_first_token_p50:"Time to first token (p50)",time_per_token_average:"Time per token (avg)",time_per_token_p99:"Time per token (p99)",time_per_token_p95:"Time per token (p95)",time_per_token_p50:"Time per token (p50)"},metricAxisTitles:{cache_hit_rate:"Cache hit rate {unit}",error_rate:"Error rate in {unit}",request_count:"Request count",request_per_minute:"Requests per minute",requests_per_minute:"Requests per minute",latency_in:"Latency in {unit}",size_in:"Size in {unit}",response_latency_average:"Response latency (avg) in {unit}",response_latency_p99:"Response latency (p99) in {unit}",response_latency_p95:"Response latency (p95) in {unit}",response_latency_p50:"Response latency (p50) in {unit}",upstream_latency_p99:"Upstream latency (p99) in {unit}",upstream_latency_p95:"Upstream latency (p95) in {unit}",upstream_latency_p50:"Upstream latency (p50) in {unit}",kong_latency_p99:"Kong latency (p99) in {unit}",kong_latency_p95:"Kong latency (p95) in {unit}",kong_latency_p50:"Kong latency (p50) in {unit}",kong_internal_latency_average:"Kong internal latency (avg) in {unit}",kong_internal_latency_p99:"Kong internal latency (p99) in {unit}",kong_internal_latency_p95:"Kong internal latency (p95) in {unit}",kong_internal_latency_p50:"Kong internal latency (p50) in {unit}",response_size_p99:"Response size (p99) in {unit}",response_size_p95:"Response size (p95) in {unit}",response_size_p50:"Response size (p50) in {unit}",request_size_p99:"Request size (p99) in {unit}",request_size_p95:"Request size (p95) in {unit}",request_size_p50:"Request size (p50) in {unit}",request_size_sum:"Request size (sum) in {unit}",REQUEST_COUNT:"Request count",REQUEST_PER_MINUTE:"Requests per minute",RESPONSE_LATENCY_P99:"Response latency (p99) in {unit}",RESPONSE_LATENCY_P95:"Response latency (p95) in {unit}",RESPONSE_LATENCY_P50:"Response latency (p50) in {unit}",RESPONSE_SIZE_P99:"Response size (p99) in {unit}",RESPONSE_SIZE_P95:"Response size (p95) in {unit}",RESPONSE_SIZE_P50:"Response size (p50) in {unit}",REQUEST_SIZE_P99:"Request size (p99) in {unit}",REQUEST_SIZE_P95:"Request size (p95) in {unit}",REQUEST_SIZE_P50:"Request size (p50) in {unit}",TotalRequests:"Request count",RequestsPerMinute:"Requests per minute",LatencyP99:"Response latency (p99) in {unit}",LatencyP95:"Response latency (p95) in {unit}",LatencyP50:"Response latency (p50) in {unit}",LatencyAverage:"Response latency (avg) in {unit}",UpstreamLatencyP99:"Upstream latency (p99) in {unit}",UpstreamLatencyP95:"Upstream latency (p95) in {unit}",UpstreamLatencyP50:"Upstream latency (p50) in {unit}",UpstreamLatencyAverage:"Upstream latency (avg) in {unit}",KongLatencyP99:"Kong latency (p99) in {unit}",KongLatencyP95:"Kong latency (p95) in {unit}",KongLatencyP50:"Kong latency (p50) in {unit}",KongLatencyAverage:"Kong latency (avg) in {unit}",ResponseSizeP99:"Response size (p99) in {unit}",ResponseSizeP95:"Response size (p95) in {unit}",ResponseSizeP50:"Response size (p50) in {unit}",RequestSizeP99:"Request size (p99) in {unit}",RequestSizeP95:"Request size (p95) in {unit}",RequestSizeP50:"Request size (p50) in {unit}",ai_request_count:"Request count",total_tokens:"Total token count",prompt_tokens:"Prompt token count",completion_tokens:"Completion token count",cost:"Costs",cost_per_request_average:"Cost per request (avg)",llm_cache_embeddings_latency_average:"Embeddings latency (avg)",llm_cache_fetch_latency_average:"Fetch latency (avg)",llm_latency_average:"Llm latency (avg)",api:"API",a2a_latency_average:"A2A latency (avg) in {unit}",a2a_response_size_sum:"A2A response size (sum) in {unit}",a2a_context_id:"A2A context ID",a2a_error:"A2A error",a2a_method:"A2A method",a2a_task_id:"A2A task ID",active_agents:"Active agents",mcp_latency_average:"MCP latency (avg)",mcp_latency_p99:"MCP latency (p99)",mcp_latency_p95:"MCP latency (p95)",mcp_latency_p50:"MCP latency (p50)",mcp_response_size_sum:"MCP response size (sum) in {unit}",mcp_response_body_size_sum:"MCP response body size (sum) in {unit}",control_plane_count:"Control plane count",service_count:"Gateway service count",route_count:"Route count",consumer_count:"Consumer count",plugin_count:"Plugin count",node_count:"Data plane node count",cache_eviction_rate:"Cache eviction rate in {unit}",cache_expiration_rate:"Cache expiration rate in {unit}",cache_items_average:"Cache items (avg)",cache_memory_utilization_max:"Cache memory utilization (max) in {unit}",cached_tokens:"Cached tokens",time_to_first_token_average:"Time to first token (avg)",time_to_first_token_p99:"Time to first token (p99)",time_to_first_token_p95:"Time to first token (p95)",time_to_first_token_p50:"Time to first token (p50)",time_per_token_average:"Time per token (avg)",time_per_token_p99:"Time per token (p99)",time_per_token_p95:"Time per token (p95)",time_per_token_p50:"Time per token (p50)",total_tokens_per_minute:"Total tokens per minute"},granularityAxisTitles:{tenSecondly:"@timestamp per 10 seconds",thirtySecondly:"@timestamp per 30 seconds",minutely:"@timestamp per minute",fiveMinutely:"@timestamp per 5 minutes",tenMinutely:"@timestamp per 10 minutes",thirtyMinutely:"@timestamp per 30 minutes",hourly:"@timestamp per hour",twoHourly:"@timestamp per 2 hours",twelveHourly:"@timestamp per 12 hours",daily:"@timestamp per day",weekly:"@timestamp per week"},timestampAxisTitles:{platform:"@timestamp created at"},topNTable:{nameLabel:"Name",defaultEmptyStateTitle:"No data to display",defaultErrorStateTitle:"Something went wrong",errors:{meta:"Error: response must contain 'meta'",display:"Error: 'display' response incorrectly formatted (must have at least one key)",metricNames:"Error: 'metricNames' response incorrectly formatted (must have at least one entry)"}},singleValue:{valueError:"Invalid configuration",trend:{not_available:"Not available"}},new_timerange_label:"Time range",sparkline_no_data:"No data",zoom_action_items:{zoom:"Zoom in",view_requests:"View requests",cancel:"Cancel",explore:"Explore"},zoom_time_range:{from:"From",to:"To"}};function fM(){const n=Xf.createI18n("en-us",dM);return{i18n:n,i18nT:Xf.i18nTComponent(n)}}function Bs(n){return n+.5|0}const Si=(n,t,e)=>Math.max(Math.min(n,e),t);function Fs(n){return Si(Bs(n*2.55),0,255)}function Ti(n){return Si(Bs(n*255),0,255)}function ti(n){return Si(Bs(n/2.55)/100,0,1)}function wp(n){return Si(Bs(n*100),0,100)}const Mn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Uc=[..."0123456789ABCDEF"],hM=n=>Uc[n&15],pM=n=>Uc[(n&240)>>4]+Uc[n&15],pa=n=>(n&240)>>4===(n&15),gM=n=>pa(n.r)&&pa(n.g)&&pa(n.b)&&pa(n.a);function mM(n){var t=n.length,e;return n[0]==="#"&&(t===4||t===5?e={r:255&Mn[n[1]]*17,g:255&Mn[n[2]]*17,b:255&Mn[n[3]]*17,a:t===5?Mn[n[4]]*17:255}:(t===7||t===9)&&(e={r:Mn[n[1]]<<4|Mn[n[2]],g:Mn[n[3]]<<4|Mn[n[4]],b:Mn[n[5]]<<4|Mn[n[6]],a:t===9?Mn[n[7]]<<4|Mn[n[8]]:255})),e}const yM=(n,t)=>n<255?t(n):"";function _M(n){var t=gM(n)?hM:pM;return n?"#"+t(n.r)+t(n.g)+t(n.b)+yM(n.a,t):void 0}const bM=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function vp(n,t,e){const i=t*Math.min(e,1-e),r=(s,a=(s+n/30)%12)=>e-i*Math.max(Math.min(a-3,9-a,1),-1);return[r(0),r(8),r(4)]}function xM(n,t,e){const i=(r,s=(r+n/60)%6)=>e-e*t*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function wM(n,t,e){const i=vp(n,1,.5);let r;for(t+e>1&&(r=1/(t+e),t*=r,e*=r),r=0;r<3;r++)i[r]*=1-t-e,i[r]+=t;return i}function vM(n,t,e,i,r){return n===r?(t-e)/i+(t<e?6:0):t===r?(e-n)/i+2:(n-t)/i+4}function Hc(n){const e=n.r/255,i=n.g/255,r=n.b/255,s=Math.max(e,i,r),a=Math.min(e,i,r),l=(s+a)/2;let u,d,h;return s!==a&&(h=s-a,d=l>.5?h/(2-s-a):h/(s+a),u=vM(e,i,r,h,s),u=u*60+.5),[u|0,d||0,l]}function Wc(n,t,e,i){return(Array.isArray(t)?n(t[0],t[1],t[2]):n(t,e,i)).map(Ti)}function Vc(n,t,e){return Wc(vp,n,t,e)}function SM(n,t,e){return Wc(wM,n,t,e)}function TM(n,t,e){return Wc(xM,n,t,e)}function Sp(n){return(n%360+360)%360}function MM(n){const t=bM.exec(n);let e=255,i;if(!t)return;t[5]!==i&&(e=t[6]?Fs(+t[5]):Ti(+t[5]));const r=Sp(+t[2]),s=+t[3]/100,a=+t[4]/100;return t[1]==="hwb"?i=SM(r,s,a):t[1]==="hsv"?i=TM(r,s,a):i=Vc(r,s,a),{r:i[0],g:i[1],b:i[2],a:e}}function kM(n,t){var e=Hc(n);e[0]=Sp(e[0]+t),e=Vc(e),n.r=e[0],n.g=e[1],n.b=e[2]}function DM(n){if(!n)return;const t=Hc(n),e=t[0],i=wp(t[1]),r=wp(t[2]);return n.a<255?`hsla(${e}, ${i}%, ${r}%, ${ti(n.a)})`:`hsl(${e}, ${i}%, ${r}%)`}const Tp={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Mp={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function CM(){const n={},t=Object.keys(Mp),e=Object.keys(Tp);let i,r,s,a,l;for(i=0;i<t.length;i++){for(a=l=t[i],r=0;r<e.length;r++)s=e[r],l=l.replace(s,Tp[s]);s=parseInt(Mp[a],16),n[l]=[s>>16&255,s>>8&255,s&255]}return n}let ga;function OM(n){ga||(ga=CM(),ga.transparent=[0,0,0,0]);const t=ga[n.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const AM=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function RM(n){const t=AM.exec(n);let e=255,i,r,s;if(t){if(t[7]!==i){const a=+t[7];e=t[8]?Fs(a):Si(a*255,0,255)}return i=+t[1],r=+t[3],s=+t[5],i=255&(t[2]?Fs(i):Si(i,0,255)),r=255&(t[4]?Fs(r):Si(r,0,255)),s=255&(t[6]?Fs(s):Si(s,0,255)),{r:i,g:r,b:s,a:e}}}function EM(n){return n&&(n.a<255?`rgba(${n.r}, ${n.g}, ${n.b}, ${ti(n.a)})`:`rgb(${n.r}, ${n.g}, ${n.b})`)}const $c=n=>n<=.0031308?n*12.92:Math.pow(n,1/2.4)*1.055-.055,zr=n=>n<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4);function PM(n,t,e){const i=zr(ti(n.r)),r=zr(ti(n.g)),s=zr(ti(n.b));return{r:Ti($c(i+e*(zr(ti(t.r))-i))),g:Ti($c(r+e*(zr(ti(t.g))-r))),b:Ti($c(s+e*(zr(ti(t.b))-s))),a:n.a+e*(t.a-n.a)}}function ma(n,t,e){if(n){let i=Hc(n);i[t]=Math.max(0,Math.min(i[t]+i[t]*e,t===0?360:1)),i=Vc(i),n.r=i[0],n.g=i[1],n.b=i[2]}}function kp(n,t){return n&&Object.assign(t||{},n)}function Dp(n){var t={r:0,g:0,b:0,a:255};return Array.isArray(n)?n.length>=3&&(t={r:n[0],g:n[1],b:n[2],a:255},n.length>3&&(t.a=Ti(n[3]))):(t=kp(n,{r:0,g:0,b:0,a:1}),t.a=Ti(t.a)),t}function IM(n){return n.charAt(0)==="r"?RM(n):MM(n)}class zs{constructor(t){if(t instanceof zs)return t;const e=typeof t;let i;e==="object"?i=Dp(t):e==="string"&&(i=mM(t)||OM(t)||IM(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=kp(this._rgb);return t&&(t.a=ti(t.a)),t}set rgb(t){this._rgb=Dp(t)}rgbString(){return this._valid?EM(this._rgb):void 0}hexString(){return this._valid?_M(this._rgb):void 0}hslString(){return this._valid?DM(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,r=t.rgb;let s;const a=e===s?.5:e,l=2*a-1,u=i.a-r.a,d=((l*u===-1?l:(l+u)/(1+l*u))+1)/2;s=1-d,i.r=255&d*i.r+s*r.r+.5,i.g=255&d*i.g+s*r.g+.5,i.b=255&d*i.b+s*r.b+.5,i.a=a*i.a+(1-a)*r.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=PM(this._rgb,t._rgb,e)),this}clone(){return new zs(this.rgb)}alpha(t){return this._rgb.a=Ti(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=Bs(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return ma(this._rgb,2,t),this}darken(t){return ma(this._rgb,2,-t),this}saturate(t){return ma(this._rgb,1,t),this}desaturate(t){return ma(this._rgb,1,-t),this}rotate(t){return kM(this._rgb,t),this}}function ei(){}const LM=(()=>{let n=0;return()=>n++})();function xt(n){return n==null}function qt(n){if(Array.isArray&&Array.isArray(n))return!0;const t=Object.prototype.toString.call(n);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function Pt(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function ae(n){return(typeof n=="number"||n instanceof Number)&&isFinite(+n)}function pn(n,t){return ae(n)?n:t}function Mt(n,t){return typeof n>"u"?t:n}const NM=(n,t)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100:+n/t,Cp=(n,t)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100*t:+n;function Qt(n,t,e){if(n&&typeof n.call=="function")return n.apply(e,t)}function Jt(n,t,e,i){let r,s,a;if(qt(n))for(s=n.length,r=0;r<s;r++)t.call(e,n[r],r);else if(Pt(n))for(a=Object.keys(n),s=a.length,r=0;r<s;r++)t.call(e,n[a[r]],a[r])}function ya(n,t){let e,i,r,s;if(!n||!t||n.length!==t.length)return!1;for(e=0,i=n.length;e<i;++e)if(r=n[e],s=t[e],r.datasetIndex!==s.datasetIndex||r.index!==s.index)return!1;return!0}function _a(n){if(qt(n))return n.map(_a);if(Pt(n)){const t=Object.create(null),e=Object.keys(n),i=e.length;let r=0;for(;r<i;++r)t[e[r]]=_a(n[e[r]]);return t}return n}function Op(n){return["__proto__","prototype","constructor"].indexOf(n)===-1}function BM(n,t,e,i){if(!Op(n))return;const r=t[n],s=e[n];Pt(r)&&Pt(s)?Us(r,s,i):t[n]=_a(s)}function Us(n,t,e){const i=qt(t)?t:[t],r=i.length;if(!Pt(n))return n;e=e||{};const s=e.merger||BM;let a;for(let l=0;l<r;++l){if(a=i[l],!Pt(a))continue;const u=Object.keys(a);for(let d=0,h=u.length;d<h;++d)s(u[d],n,a,e)}return n}function Hs(n,t){return Us(n,t,{merger:FM})}function FM(n,t,e){if(!Op(n))return;const i=t[n],r=e[n];Pt(i)&&Pt(r)?Hs(i,r):Object.prototype.hasOwnProperty.call(t,n)||(t[n]=_a(r))}const Ap={"":n=>n,x:n=>n.x,y:n=>n.y};function zM(n){const t=n.split("."),e=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(e.push(i),i="");return e}function UM(n){const t=zM(n);return e=>{for(const i of t){if(i==="")break;e=e&&e[i]}return e}}function Mi(n,t){return(Ap[t]||(Ap[t]=UM(t)))(n)}function Yc(n){return n.charAt(0).toUpperCase()+n.slice(1)}const en=n=>typeof n<"u",nn=n=>typeof n=="function",Rp=(n,t)=>{if(n.size!==t.size)return!1;for(const e of n)if(!t.has(e))return!1;return!0};function HM(n){return n.type==="mouseup"||n.type==="click"||n.type==="contextmenu"}const Rt=Math.PI,te=2*Rt,WM=te+Rt,ba=Number.POSITIVE_INFINITY,qc=Rt/180,re=Rt/2,kn=Rt/4,xa=Rt*2/3,ki=Math.log10,Yn=Math.sign;function Ws(n,t,e){return Math.abs(n-t)<e}function Ep(n){const t=Math.round(n);n=Ws(n,t,n/1e3)?t:n;const e=Math.pow(10,Math.floor(ki(n))),i=n/e;return(i<=1?1:i<=2?2:i<=5?5:10)*e}function VM(n){const t=[],e=Math.sqrt(n);let i;for(i=1;i<e;i++)n%i===0&&(t.push(i),t.push(n/i));return e===(e|0)&&t.push(e),t.sort((r,s)=>r-s).pop(),t}function $M(n){return typeof n=="symbol"||typeof n=="object"&&n!==null&&!(Symbol.toPrimitive in n||"toString"in n||"valueOf"in n)}function Di(n){return!$M(n)&&!isNaN(parseFloat(n))&&isFinite(n)}function YM(n,t){const e=Math.round(n);return e-t<=n&&e+t>=n}function Pp(n,t,e){let i,r,s;for(i=0,r=n.length;i<r;i++)s=n[i][e],isNaN(s)||(t.min=Math.min(t.min,s),t.max=Math.max(t.max,s))}function xe(n){return n*(Rt/180)}function wa(n){return n*(180/Rt)}function Ip(n){if(!ae(n))return;let t=1,e=0;for(;Math.round(n*t)/t!==n;)t*=10,e++;return e}function va(n,t){const e=t.x-n.x,i=t.y-n.y,r=Math.sqrt(e*e+i*i);let s=Math.atan2(i,e);return s<-.5*Rt&&(s+=te),{angle:s,distance:r}}function Ur(n,t){return Math.sqrt(Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2))}function qM(n,t){return(n-t+WM)%te-Rt}function Ue(n){return(n%te+te)%te}function Vs(n,t,e,i){const r=Ue(n),s=Ue(t),a=Ue(e),l=Ue(s-r),u=Ue(a-r),d=Ue(r-s),h=Ue(r-a);return r===s||r===a||i&&s===a||l>u&&d<h}function Ce(n,t,e){return Math.max(t,Math.min(e,n))}function jM(n){return Ce(n,-32768,32767)}function ni(n,t,e,i=1e-6){return n>=Math.min(t,e)-i&&n<=Math.max(t,e)+i}function jc(n,t,e){e=e||(a=>n[a]<t);let i=n.length-1,r=0,s;for(;i-r>1;)s=r+i>>1,e(s)?r=s:i=s;return{lo:r,hi:i}}const ii=(n,t,e,i)=>jc(n,e,i?r=>{const s=n[r][t];return s<e||s===e&&n[r+1][t]===e}:r=>n[r][t]<e),GM=(n,t,e)=>jc(n,e,i=>n[i][t]>=e);function KM(n,t,e){let i=0,r=n.length;for(;i<r&&n[i]<t;)i++;for(;r>i&&n[r-1]>e;)r--;return i>0||r<n.length?n.slice(i,r):n}const Lp=["push","pop","shift","splice","unshift"];function XM(n,t){if(n._chartjs){n._chartjs.listeners.push(t);return}Object.defineProperty(n,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),Lp.forEach(e=>{const i="_onData"+Yc(e),r=n[e];Object.defineProperty(n,e,{configurable:!0,enumerable:!1,value(...s){const a=r.apply(this,s);return n._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),a}})})}function Np(n,t){const e=n._chartjs;if(!e)return;const i=e.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(Lp.forEach(s=>{delete n[s]}),delete n._chartjs)}function Bp(n){const t=new Set(n);return t.size===n.length?n:Array.from(t)}const Fp=(function(){return typeof window>"u"?function(n){return n()}:window.requestAnimationFrame})();function zp(n,t){let e=[],i=!1;return function(...r){e=r,i||(i=!0,Fp.call(window,()=>{i=!1,n.apply(t,e)}))}}function ZM(n,t){let e;return function(...i){return t?(clearTimeout(e),e=setTimeout(n,t,i)):n.apply(this,i),t}}const Gc=n=>n==="start"?"left":n==="end"?"right":"center",He=(n,t,e)=>n==="start"?t:n==="end"?e:(t+e)/2,QM=(n,t,e,i)=>n===(i?"left":"right")?e:n==="center"?(t+e)/2:t;function Up(n,t,e){const i=t.length;let r=0,s=i;if(n._sorted){const{iScale:a,vScale:l,_parsed:u}=n,d=n.dataset&&n.dataset.options?n.dataset.options.spanGaps:null,h=a.axis,{min:g,max:y,minDefined:_,maxDefined:x}=a.getUserBounds();if(_){if(r=Math.min(ii(u,h,g).lo,e?i:ii(t,h,a.getPixelForValue(g)).lo),d){const v=u.slice(0,r+1).reverse().findIndex(M=>!xt(M[l.axis]));r-=Math.max(0,v)}r=Ce(r,0,i-1)}if(x){let v=Math.max(ii(u,a.axis,y,!0).hi+1,e?0:ii(t,h,a.getPixelForValue(y),!0).hi+1);if(d){const M=u.slice(v-1).findIndex(C=>!xt(C[l.axis]));v+=Math.max(0,M)}s=Ce(v,r,i)-r}else s=i-r}return{start:r,count:s}}function Hp(n){const{xScale:t,yScale:e,_scaleRanges:i}=n,r={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!i)return n._scaleRanges=r,!0;const s=i.xmin!==t.min||i.xmax!==t.max||i.ymin!==e.min||i.ymax!==e.max;return Object.assign(i,r),s}const Sa=n=>n===0||n===1,Wp=(n,t,e)=>-(Math.pow(2,10*(n-=1))*Math.sin((n-t)*te/e)),Vp=(n,t,e)=>Math.pow(2,-10*n)*Math.sin((n-t)*te/e)+1,$s={linear:n=>n,easeInQuad:n=>n*n,easeOutQuad:n=>-n*(n-2),easeInOutQuad:n=>(n/=.5)<1?.5*n*n:-.5*(--n*(n-2)-1),easeInCubic:n=>n*n*n,easeOutCubic:n=>(n-=1)*n*n+1,easeInOutCubic:n=>(n/=.5)<1?.5*n*n*n:.5*((n-=2)*n*n+2),easeInQuart:n=>n*n*n*n,easeOutQuart:n=>-((n-=1)*n*n*n-1),easeInOutQuart:n=>(n/=.5)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2),easeInQuint:n=>n*n*n*n*n,easeOutQuint:n=>(n-=1)*n*n*n*n+1,easeInOutQuint:n=>(n/=.5)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2),easeInSine:n=>-Math.cos(n*re)+1,easeOutSine:n=>Math.sin(n*re),easeInOutSine:n=>-.5*(Math.cos(Rt*n)-1),easeInExpo:n=>n===0?0:Math.pow(2,10*(n-1)),easeOutExpo:n=>n===1?1:-Math.pow(2,-10*n)+1,easeInOutExpo:n=>Sa(n)?n:n<.5?.5*Math.pow(2,10*(n*2-1)):.5*(-Math.pow(2,-10*(n*2-1))+2),easeInCirc:n=>n>=1?n:-(Math.sqrt(1-n*n)-1),easeOutCirc:n=>Math.sqrt(1-(n-=1)*n),easeInOutCirc:n=>(n/=.5)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1),easeInElastic:n=>Sa(n)?n:Wp(n,.075,.3),easeOutElastic:n=>Sa(n)?n:Vp(n,.075,.3),easeInOutElastic(n){return Sa(n)?n:n<.5?.5*Wp(n*2,.1125,.45):.5+.5*Vp(n*2-1,.1125,.45)},easeInBack(n){return n*n*((1.70158+1)*n-1.70158)},easeOutBack(n){return(n-=1)*n*((1.70158+1)*n+1.70158)+1},easeInOutBack(n){let t=1.70158;return(n/=.5)<1?.5*(n*n*(((t*=1.525)+1)*n-t)):.5*((n-=2)*n*(((t*=1.525)+1)*n+t)+2)},easeInBounce:n=>1-$s.easeOutBounce(1-n),easeOutBounce(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375},easeInOutBounce:n=>n<.5?$s.easeInBounce(n*2)*.5:$s.easeOutBounce(n*2-1)*.5+.5};function Kc(n){if(n&&typeof n=="object"){const t=n.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Ta(n){return Kc(n)?n:new zs(n)}function Xc(n){return Kc(n)?n:new zs(n).saturate(.5).darken(.1).hexString()}const JM=["x","y","borderWidth","radius","tension"],tk=["color","borderColor","backgroundColor"];function ek(n){n.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),n.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),n.set("animations",{colors:{type:"color",properties:tk},numbers:{type:"number",properties:JM}}),n.describe("animations",{_fallback:"animation"}),n.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function nk(n){n.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const $p=new Map;function ik(n,t){t=t||{};const e=n+JSON.stringify(t);let i=$p.get(e);return i||(i=new Intl.NumberFormat(n,t),$p.set(e,i)),i}function Ys(n,t,e){return ik(t,e).format(n)}const Yp={values(n){return qt(n)?n:""+n},numeric(n,t,e){if(n===0)return"0";const i=this.chart.options.locale;let r,s=n;if(e.length>1){const d=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(d<1e-4||d>1e15)&&(r="scientific"),s=rk(n,e)}const a=ki(Math.abs(s)),l=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),u={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(u,this.options.ticks.format),Ys(n,i,u)},logarithmic(n,t,e){if(n===0)return"0";const i=e[t].significand||n/Math.pow(10,Math.floor(ki(n)));return[1,2,3,5,10,15].includes(i)||t>.8*e.length?Yp.numeric.call(this,n,t,e):""}};function rk(n,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&n!==Math.floor(n)&&(e=n-Math.floor(n)),e}var Ma={formatters:Yp};function sk(n){n.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ma.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),n.route("scale.ticks","color","","color"),n.route("scale.grid","color","","borderColor"),n.route("scale.border","color","","borderColor"),n.route("scale.title","color","","color"),n.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),n.describe("scales",{_fallback:"scale"}),n.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const sr=Object.create(null),Zc=Object.create(null);function qs(n,t){if(!t)return n;const e=t.split(".");for(let i=0,r=e.length;i<r;++i){const s=e[i];n=n[s]||(n[s]=Object.create(null))}return n}function Qc(n,t,e){return typeof t=="string"?Us(qs(n,t),e):Us(qs(n,""),t)}class ok{constructor(t,e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=i=>i.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Xc(r.backgroundColor),this.hoverBorderColor=(i,r)=>Xc(r.borderColor),this.hoverColor=(i,r)=>Xc(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Qc(this,t,e)}get(t){return qs(this,t)}describe(t,e){return Qc(Zc,t,e)}override(t,e){return Qc(sr,t,e)}route(t,e,i,r){const s=qs(this,t),a=qs(this,i),l="_"+e;Object.defineProperties(s,{[l]:{value:s[e],writable:!0},[e]:{enumerable:!0,get(){const u=this[l],d=a[r];return Pt(u)?Object.assign({},d,u):Mt(u,d)},set(u){this[l]=u}}})}apply(t){t.forEach(e=>e(this))}}var se=new ok({_scriptable:n=>!n.startsWith("on"),_indexable:n=>n!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[ek,nk,sk]);function ak(n){return!n||xt(n.size)||xt(n.family)?null:(n.style?n.style+" ":"")+(n.weight?n.weight+" ":"")+n.size+"px "+n.family}function ka(n,t,e,i,r){let s=t[r];return s||(s=t[r]=n.measureText(r).width,e.push(r)),s>i&&(i=s),i}function lk(n,t,e,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),n.save(),n.font=t;let a=0;const l=e.length;let u,d,h,g,y;for(u=0;u<l;u++)if(g=e[u],g!=null&&!qt(g))a=ka(n,r,s,a,g);else if(qt(g))for(d=0,h=g.length;d<h;d++)y=g[d],y!=null&&!qt(y)&&(a=ka(n,r,s,a,y));n.restore();const _=s.length/2;if(_>e.length){for(u=0;u<_;u++)delete r[s[u]];s.splice(0,_)}return a}function or(n,t,e){const i=n.currentDevicePixelRatio,r=e!==0?Math.max(e/2,.5):0;return Math.round((t-r)*i)/i+r}function qp(n,t){!t&&!n||(t=t||n.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,n.width,n.height),t.restore())}function Jc(n,t,e,i){jp(n,t,e,i,null)}function jp(n,t,e,i,r){let s,a,l,u,d,h,g,y;const _=t.pointStyle,x=t.rotation,v=t.radius;let M=(x||0)*qc;if(_&&typeof _=="object"&&(s=_.toString(),s==="[object HTMLImageElement]"||s==="[object HTMLCanvasElement]")){n.save(),n.translate(e,i),n.rotate(M),n.drawImage(_,-_.width/2,-_.height/2,_.width,_.height),n.restore();return}if(!(isNaN(v)||v<=0)){switch(n.beginPath(),_){default:r?n.ellipse(e,i,r/2,v,0,0,te):n.arc(e,i,v,0,te),n.closePath();break;case"triangle":h=r?r/2:v,n.moveTo(e+Math.sin(M)*h,i-Math.cos(M)*v),M+=xa,n.lineTo(e+Math.sin(M)*h,i-Math.cos(M)*v),M+=xa,n.lineTo(e+Math.sin(M)*h,i-Math.cos(M)*v),n.closePath();break;case"rectRounded":d=v*.516,u=v-d,a=Math.cos(M+kn)*u,g=Math.cos(M+kn)*(r?r/2-d:u),l=Math.sin(M+kn)*u,y=Math.sin(M+kn)*(r?r/2-d:u),n.arc(e-g,i-l,d,M-Rt,M-re),n.arc(e+y,i-a,d,M-re,M),n.arc(e+g,i+l,d,M,M+re),n.arc(e-y,i+a,d,M+re,M+Rt),n.closePath();break;case"rect":if(!x){u=Math.SQRT1_2*v,h=r?r/2:u,n.rect(e-h,i-u,2*h,2*u);break}M+=kn;case"rectRot":g=Math.cos(M)*(r?r/2:v),a=Math.cos(M)*v,l=Math.sin(M)*v,y=Math.sin(M)*(r?r/2:v),n.moveTo(e-g,i-l),n.lineTo(e+y,i-a),n.lineTo(e+g,i+l),n.lineTo(e-y,i+a),n.closePath();break;case"crossRot":M+=kn;case"cross":g=Math.cos(M)*(r?r/2:v),a=Math.cos(M)*v,l=Math.sin(M)*v,y=Math.sin(M)*(r?r/2:v),n.moveTo(e-g,i-l),n.lineTo(e+g,i+l),n.moveTo(e+y,i-a),n.lineTo(e-y,i+a);break;case"star":g=Math.cos(M)*(r?r/2:v),a=Math.cos(M)*v,l=Math.sin(M)*v,y=Math.sin(M)*(r?r/2:v),n.moveTo(e-g,i-l),n.lineTo(e+g,i+l),n.moveTo(e+y,i-a),n.lineTo(e-y,i+a),M+=kn,g=Math.cos(M)*(r?r/2:v),a=Math.cos(M)*v,l=Math.sin(M)*v,y=Math.sin(M)*(r?r/2:v),n.moveTo(e-g,i-l),n.lineTo(e+g,i+l),n.moveTo(e+y,i-a),n.lineTo(e-y,i+a);break;case"line":a=r?r/2:Math.cos(M)*v,l=Math.sin(M)*v,n.moveTo(e-a,i-l),n.lineTo(e+a,i+l);break;case"dash":n.moveTo(e,i),n.lineTo(e+Math.cos(M)*(r?r/2:v),i+Math.sin(M)*v);break;case!1:n.closePath();break}n.fill(),t.borderWidth>0&&n.stroke()}}function ri(n,t,e){return e=e||.5,!t||n&&n.x>t.left-e&&n.x<t.right+e&&n.y>t.top-e&&n.y<t.bottom+e}function js(n,t){n.save(),n.beginPath(),n.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),n.clip()}function Gs(n){n.restore()}function ck(n,t,e,i,r){if(!t)return n.lineTo(e.x,e.y);if(r==="middle"){const s=(t.x+e.x)/2;n.lineTo(s,t.y),n.lineTo(s,e.y)}else r==="after"!=!!i?n.lineTo(t.x,e.y):n.lineTo(e.x,t.y);n.lineTo(e.x,e.y)}function uk(n,t,e,i){if(!t)return n.lineTo(e.x,e.y);n.bezierCurveTo(i?t.cp1x:t.cp2x,i?t.cp1y:t.cp2y,i?e.cp2x:e.cp1x,i?e.cp2y:e.cp1y,e.x,e.y)}function dk(n,t){t.translation&&n.translate(t.translation[0],t.translation[1]),xt(t.rotation)||n.rotate(t.rotation),t.color&&(n.fillStyle=t.color),t.textAlign&&(n.textAlign=t.textAlign),t.textBaseline&&(n.textBaseline=t.textBaseline)}function fk(n,t,e,i,r){if(r.strikethrough||r.underline){const s=n.measureText(i),a=t-s.actualBoundingBoxLeft,l=t+s.actualBoundingBoxRight,u=e-s.actualBoundingBoxAscent,d=e+s.actualBoundingBoxDescent,h=r.strikethrough?(u+d)/2:d;n.strokeStyle=n.fillStyle,n.beginPath(),n.lineWidth=r.decorationWidth||2,n.moveTo(a,h),n.lineTo(l,h),n.stroke()}}function hk(n,t){const e=n.fillStyle;n.fillStyle=t.color,n.fillRect(t.left,t.top,t.width,t.height),n.fillStyle=e}function ar(n,t,e,i,r,s={}){const a=qt(t)?t:[t],l=s.strokeWidth>0&&s.strokeColor!=="";let u,d;for(n.save(),n.font=r.string,dk(n,s),u=0;u<a.length;++u)d=a[u],s.backdrop&&hk(n,s.backdrop),l&&(s.strokeColor&&(n.strokeStyle=s.strokeColor),xt(s.strokeWidth)||(n.lineWidth=s.strokeWidth),n.strokeText(d,e,i,s.maxWidth)),n.fillText(d,e,i,s.maxWidth),fk(n,e,i,d,s),i+=Number(r.lineHeight);n.restore()}function Hr(n,t){const{x:e,y:i,w:r,h:s,radius:a}=t;n.arc(e+a.topLeft,i+a.topLeft,a.topLeft,1.5*Rt,Rt,!0),n.lineTo(e,i+s-a.bottomLeft),n.arc(e+a.bottomLeft,i+s-a.bottomLeft,a.bottomLeft,Rt,re,!0),n.lineTo(e+r-a.bottomRight,i+s),n.arc(e+r-a.bottomRight,i+s-a.bottomRight,a.bottomRight,re,0,!0),n.lineTo(e+r,i+a.topRight),n.arc(e+r-a.topRight,i+a.topRight,a.topRight,0,-re,!0),n.lineTo(e+a.topLeft,i)}const pk=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,gk=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function mk(n,t){const e=(""+n).match(pk);if(!e||e[1]==="normal")return t*1.2;switch(n=+e[2],e[3]){case"px":return n;case"%":n/=100;break}return t*n}const yk=n=>+n||0;function tu(n,t){const e={},i=Pt(t),r=i?Object.keys(t):t,s=Pt(n)?i?a=>Mt(n[a],n[t[a]]):a=>n[a]:()=>n;for(const a of r)e[a]=yk(s(a));return e}function Gp(n){return tu(n,{top:"y",right:"x",bottom:"y",left:"x"})}function Ci(n){return tu(n,["topLeft","topRight","bottomLeft","bottomRight"])}function we(n){const t=Gp(n);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function le(n,t){n=n||{},t=t||se.font;let e=Mt(n.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let i=Mt(n.style,t.style);i&&!(""+i).match(gk)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:Mt(n.family,t.family),lineHeight:mk(Mt(n.lineHeight,t.lineHeight),e),size:e,style:i,weight:Mt(n.weight,t.weight),string:""};return r.string=ak(r),r}function Ks(n,t,e,i){let r,s,a;for(r=0,s=n.length;r<s;++r)if(a=n[r],a!==void 0&&a!==void 0)return a}function _k(n,t,e){const{min:i,max:r}=n,s=Cp(t,(r-i)/2),a=(l,u)=>e&&l===0?0:l+u;return{min:a(i,-Math.abs(s)),max:a(r,s)}}function Oi(n,t){return Object.assign(Object.create(n),t)}function eu(n,t=[""],e,i,r=()=>n[0]){const s=e||n;typeof i>"u"&&(i=Jp("_fallback",n));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:n,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>eu([l,...n],t,s,i)};return new Proxy(a,{deleteProperty(l,u){return delete l[u],delete l._keys,delete n[0][u],!0},get(l,u){return Xp(l,u,()=>kk(u,t,n,l))},getOwnPropertyDescriptor(l,u){return Reflect.getOwnPropertyDescriptor(l._scopes[0],u)},getPrototypeOf(){return Reflect.getPrototypeOf(n[0])},has(l,u){return tg(l).includes(u)},ownKeys(l){return tg(l)},set(l,u,d){const h=l._storage||(l._storage=r());return l[u]=h[u]=d,delete l._keys,!0}})}function Wr(n,t,e,i){const r={_cacheable:!1,_proxy:n,_context:t,_subProxy:e,_stack:new Set,_descriptors:Kp(n,i),setContext:s=>Wr(n,s,e,i),override:s=>Wr(n.override(s),t,e,i)};return new Proxy(r,{deleteProperty(s,a){return delete s[a],delete n[a],!0},get(s,a,l){return Xp(s,a,()=>xk(s,a,l))},getOwnPropertyDescriptor(s,a){return s._descriptors.allKeys?Reflect.has(n,a)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(n,a)},getPrototypeOf(){return Reflect.getPrototypeOf(n)},has(s,a){return Reflect.has(n,a)},ownKeys(){return Reflect.ownKeys(n)},set(s,a,l){return n[a]=l,delete s[a],!0}})}function Kp(n,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=n;return{allKeys:r,scriptable:e,indexable:i,isScriptable:nn(e)?e:()=>e,isIndexable:nn(i)?i:()=>i}}const bk=(n,t)=>n?n+Yc(t):t,nu=(n,t)=>Pt(t)&&n!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function Xp(n,t,e){if(Object.prototype.hasOwnProperty.call(n,t)||t==="constructor")return n[t];const i=e();return n[t]=i,i}function xk(n,t,e){const{_proxy:i,_context:r,_subProxy:s,_descriptors:a}=n;let l=i[t];return nn(l)&&a.isScriptable(t)&&(l=wk(t,l,n,e)),qt(l)&&l.length&&(l=vk(t,l,n,a.isIndexable)),nu(t,l)&&(l=Wr(l,r,s&&s[t],a)),l}function wk(n,t,e,i){const{_proxy:r,_context:s,_subProxy:a,_stack:l}=e;if(l.has(n))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+n);l.add(n);let u=t(s,a||i);return l.delete(n),nu(n,u)&&(u=iu(r._scopes,r,n,u)),u}function vk(n,t,e,i){const{_proxy:r,_context:s,_subProxy:a,_descriptors:l}=e;if(typeof s.index<"u"&&i(n))return t[s.index%t.length];if(Pt(t[0])){const u=t,d=r._scopes.filter(h=>h!==u);t=[];for(const h of u){const g=iu(d,r,n,h);t.push(Wr(g,s,a&&a[n],l))}}return t}function Zp(n,t,e){return nn(n)?n(t,e):n}const Sk=(n,t)=>n===!0?t:typeof n=="string"?Mi(t,n):void 0;function Tk(n,t,e,i,r){for(const s of t){const a=Sk(e,s);if(a){n.add(a);const l=Zp(a._fallback,e,r);if(typeof l<"u"&&l!==e&&l!==i)return l}else if(a===!1&&typeof i<"u"&&e!==i)return null}return!1}function iu(n,t,e,i){const r=t._rootScopes,s=Zp(t._fallback,e,i),a=[...n,...r],l=new Set;l.add(i);let u=Qp(l,a,e,s||e,i);return u===null||typeof s<"u"&&s!==e&&(u=Qp(l,a,s,u,i),u===null)?!1:eu(Array.from(l),[""],r,s,()=>Mk(t,e,i))}function Qp(n,t,e,i,r){for(;e;)e=Tk(n,t,e,i,r);return e}function Mk(n,t,e){const i=n._getTarget();t in i||(i[t]={});const r=i[t];return qt(r)&&Pt(e)?e:r||{}}function kk(n,t,e,i){let r;for(const s of t)if(r=Jp(bk(s,n),e),typeof r<"u")return nu(n,r)?iu(e,i,n,r):r}function Jp(n,t){for(const e of t){if(!e)continue;const i=e[n];if(typeof i<"u")return i}}function tg(n){let t=n._keys;return t||(t=n._keys=Dk(n._scopes)),t}function Dk(n){const t=new Set;for(const e of n)for(const i of Object.keys(e).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function eg(n,t,e,i){const{iScale:r}=n,{key:s="r"}=this._parsing,a=new Array(i);let l,u,d,h;for(l=0,u=i;l<u;++l)d=l+e,h=t[d],a[l]={r:r.parse(Mi(h,s),d)};return a}const Ck=Number.EPSILON||1e-14,Vr=(n,t)=>t<n.length&&!n[t].skip&&n[t],ng=n=>n==="x"?"y":"x";function Ok(n,t,e,i){const r=n.skip?t:n,s=t,a=e.skip?t:e,l=Ur(s,r),u=Ur(a,s);let d=l/(l+u),h=u/(l+u);d=isNaN(d)?0:d,h=isNaN(h)?0:h;const g=i*d,y=i*h;return{previous:{x:s.x-g*(a.x-r.x),y:s.y-g*(a.y-r.y)},next:{x:s.x+y*(a.x-r.x),y:s.y+y*(a.y-r.y)}}}function Ak(n,t,e){const i=n.length;let r,s,a,l,u,d=Vr(n,0);for(let h=0;h<i-1;++h)if(u=d,d=Vr(n,h+1),!(!u||!d)){if(Ws(t[h],0,Ck)){e[h]=e[h+1]=0;continue}r=e[h]/t[h],s=e[h+1]/t[h],l=Math.pow(r,2)+Math.pow(s,2),!(l<=9)&&(a=3/Math.sqrt(l),e[h]=r*a*t[h],e[h+1]=s*a*t[h])}}function Rk(n,t,e="x"){const i=ng(e),r=n.length;let s,a,l,u=Vr(n,0);for(let d=0;d<r;++d){if(a=l,l=u,u=Vr(n,d+1),!l)continue;const h=l[e],g=l[i];a&&(s=(h-a[e])/3,l[`cp1${e}`]=h-s,l[`cp1${i}`]=g-s*t[d]),u&&(s=(u[e]-h)/3,l[`cp2${e}`]=h+s,l[`cp2${i}`]=g+s*t[d])}}function Ek(n,t="x"){const e=ng(t),i=n.length,r=Array(i).fill(0),s=Array(i);let a,l,u,d=Vr(n,0);for(a=0;a<i;++a)if(l=u,u=d,d=Vr(n,a+1),!!u){if(d){const h=d[t]-u[t];r[a]=h!==0?(d[e]-u[e])/h:0}s[a]=l?d?Yn(r[a-1])!==Yn(r[a])?0:(r[a-1]+r[a])/2:r[a-1]:r[a]}Ak(n,r,s),Rk(n,s,t)}function Da(n,t,e){return Math.max(Math.min(n,e),t)}function Pk(n,t){let e,i,r,s,a,l=ri(n[0],t);for(e=0,i=n.length;e<i;++e)a=s,s=l,l=e<i-1&&ri(n[e+1],t),s&&(r=n[e],a&&(r.cp1x=Da(r.cp1x,t.left,t.right),r.cp1y=Da(r.cp1y,t.top,t.bottom)),l&&(r.cp2x=Da(r.cp2x,t.left,t.right),r.cp2y=Da(r.cp2y,t.top,t.bottom)))}function Ik(n,t,e,i,r){let s,a,l,u;if(t.spanGaps&&(n=n.filter(d=>!d.skip)),t.cubicInterpolationMode==="monotone")Ek(n,r);else{let d=i?n[n.length-1]:n[0];for(s=0,a=n.length;s<a;++s)l=n[s],u=Ok(d,l,n[Math.min(s+1,a-(i?0:1))%a],t.tension),l.cp1x=u.previous.x,l.cp1y=u.previous.y,l.cp2x=u.next.x,l.cp2y=u.next.y,d=l}t.capBezierPoints&&Pk(n,e)}function ru(){return typeof window<"u"&&typeof document<"u"}function su(n){let t=n.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Ca(n,t,e){let i;return typeof n=="string"?(i=parseInt(n,10),n.indexOf("%")!==-1&&(i=i/100*t.parentNode[e])):i=n,i}const Oa=n=>n.ownerDocument.defaultView.getComputedStyle(n,null);function Lk(n,t){return Oa(n).getPropertyValue(t)}const Nk=["top","right","bottom","left"];function lr(n,t,e){const i={};e=e?"-"+e:"";for(let r=0;r<4;r++){const s=Nk[r];i[s]=parseFloat(n[t+"-"+s+e])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Bk=(n,t,e)=>(n>0||t>0)&&(!e||!e.shadowRoot);function Fk(n,t){const e=n.touches,i=e&&e.length?e[0]:n,{offsetX:r,offsetY:s}=i;let a=!1,l,u;if(Bk(r,s,n.target))l=r,u=s;else{const d=t.getBoundingClientRect();l=i.clientX-d.left,u=i.clientY-d.top,a=!0}return{x:l,y:u,box:a}}function Ai(n,t){if("native"in n)return n;const{canvas:e,currentDevicePixelRatio:i}=t,r=Oa(e),s=r.boxSizing==="border-box",a=lr(r,"padding"),l=lr(r,"border","width"),{x:u,y:d,box:h}=Fk(n,e),g=a.left+(h&&l.left),y=a.top+(h&&l.top);let{width:_,height:x}=t;return s&&(_-=a.width+l.width,x-=a.height+l.height),{x:Math.round((u-g)/_*e.width/i),y:Math.round((d-y)/x*e.height/i)}}function zk(n,t,e){let i,r;if(t===void 0||e===void 0){const s=n&&su(n);if(!s)t=n.clientWidth,e=n.clientHeight;else{const a=s.getBoundingClientRect(),l=Oa(s),u=lr(l,"border","width"),d=lr(l,"padding");t=a.width-d.width-u.width,e=a.height-d.height-u.height,i=Ca(l.maxWidth,s,"clientWidth"),r=Ca(l.maxHeight,s,"clientHeight")}}return{width:t,height:e,maxWidth:i||ba,maxHeight:r||ba}}const Ri=n=>Math.round(n*10)/10;function Uk(n,t,e,i){const r=Oa(n),s=lr(r,"margin"),a=Ca(r.maxWidth,n,"clientWidth")||ba,l=Ca(r.maxHeight,n,"clientHeight")||ba,u=zk(n,t,e);let{width:d,height:h}=u;if(r.boxSizing==="content-box"){const y=lr(r,"border","width"),_=lr(r,"padding");d-=_.width+y.width,h-=_.height+y.height}return d=Math.max(0,d-s.width),h=Math.max(0,i?d/i:h-s.height),d=Ri(Math.min(d,a,u.maxWidth)),h=Ri(Math.min(h,l,u.maxHeight)),d&&!h&&(h=Ri(d/2)),(t!==void 0||e!==void 0)&&i&&u.height&&h>u.height&&(h=u.height,d=Ri(Math.floor(h*i))),{width:d,height:h}}function ig(n,t,e){const i=t||1,r=Ri(n.height*i),s=Ri(n.width*i);n.height=Ri(n.height),n.width=Ri(n.width);const a=n.canvas;return a.style&&(e||!a.style.height&&!a.style.width)&&(a.style.height=`${n.height}px`,a.style.width=`${n.width}px`),n.currentDevicePixelRatio!==i||a.height!==r||a.width!==s?(n.currentDevicePixelRatio=i,a.height=r,a.width=s,n.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Hk=(function(){let n=!1;try{const t={get passive(){return n=!0,!1}};ru()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return n})();function rg(n,t){const e=Lk(n,t),i=e&&e.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function cr(n,t,e,i){return{x:n.x+e*(t.x-n.x),y:n.y+e*(t.y-n.y)}}function Wk(n,t,e,i){return{x:n.x+e*(t.x-n.x),y:i==="middle"?e<.5?n.y:t.y:i==="after"?e<1?n.y:t.y:e>0?t.y:n.y}}function Vk(n,t,e,i){const r={x:n.cp2x,y:n.cp2y},s={x:t.cp1x,y:t.cp1y},a=cr(n,r,e),l=cr(r,s,e),u=cr(s,t,e),d=cr(a,l,e),h=cr(l,u,e);return cr(d,h,e)}const $k=function(n,t){return{x(e){return n+n+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,i){return e-i},leftForLtr(e,i){return e-i}}},Yk=function(){return{x(n){return n},setWidth(n){},textAlign(n){return n},xPlus(n,t){return n+t},leftForLtr(n,t){return n}}};function $r(n,t,e){return n?$k(t,e):Yk()}function sg(n,t){let e,i;(t==="ltr"||t==="rtl")&&(e=n.canvas.style,i=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),n.prevTextDirection=i)}function og(n,t){t!==void 0&&(delete n.prevTextDirection,n.canvas.style.setProperty("direction",t[0],t[1]))}function ag(n){return n==="angle"?{between:Vs,compare:qM,normalize:Ue}:{between:ni,compare:(t,e)=>t-e,normalize:t=>t}}function lg({start:n,end:t,count:e,loop:i,style:r}){return{start:n%e,end:t%e,loop:i&&(t-n+1)%e===0,style:r}}function qk(n,t,e){const{property:i,start:r,end:s}=e,{between:a,normalize:l}=ag(i),u=t.length;let{start:d,end:h,loop:g}=n,y,_;if(g){for(d+=u,h+=u,y=0,_=u;y<_&&a(l(t[d%u][i]),r,s);++y)d--,h--;d%=u,h%=u}return h<d&&(h+=u),{start:d,end:h,loop:g,style:n.style}}function cg(n,t,e){if(!e)return[n];const{property:i,start:r,end:s}=e,a=t.length,{compare:l,between:u,normalize:d}=ag(i),{start:h,end:g,loop:y,style:_}=qk(n,t,e),x=[];let v=!1,M=null,C,R,F;const I=()=>u(r,F,C)&&l(r,F)!==0,L=()=>l(s,C)===0||u(s,F,C),N=()=>v||I(),B=()=>!v||L();for(let T=h,S=h;T<=g;++T)R=t[T%a],!R.skip&&(C=d(R[i]),C!==F&&(v=u(C,r,s),M===null&&N()&&(M=l(C,r)===0?T:S),M!==null&&B()&&(x.push(lg({start:M,end:T,loop:y,count:a,style:_})),M=null),S=T,F=C));return M!==null&&x.push(lg({start:M,end:g,loop:y,count:a,style:_})),x}function ug(n,t){const e=[],i=n.segments;for(let r=0;r<i.length;r++){const s=cg(i[r],n.points,t);s.length&&e.push(...s)}return e}function jk(n,t,e,i){let r=0,s=t-1;if(e&&!i)for(;r<t&&!n[r].skip;)r++;for(;r<t&&n[r].skip;)r++;for(r%=t,e&&(s+=r);s>r&&n[s%t].skip;)s--;return s%=t,{start:r,end:s}}function Gk(n,t,e,i){const r=n.length,s=[];let a=t,l=n[t],u;for(u=t+1;u<=e;++u){const d=n[u%r];d.skip||d.stop?l.skip||(i=!1,s.push({start:t%r,end:(u-1)%r,loop:i}),t=a=d.stop?u:null):(a=u,l.skip&&(t=u)),l=d}return a!==null&&s.push({start:t%r,end:a%r,loop:i}),s}function Kk(n,t){const e=n.points,i=n.options.spanGaps,r=e.length;if(!r)return[];const s=!!n._loop,{start:a,end:l}=jk(e,r,s,i);if(i===!0)return dg(n,[{start:a,end:l,loop:s}],e,t);const u=l<a?l+r:l,d=!!n._fullLoop&&a===0&&l===r-1;return dg(n,Gk(e,a,u,d),e,t)}function dg(n,t,e,i){return!i||!i.setContext||!e?t:Xk(n,t,e,i)}function Xk(n,t,e,i){const r=n._chart.getContext(),s=fg(n.options),{_datasetIndex:a,options:{spanGaps:l}}=n,u=e.length,d=[];let h=s,g=t[0].start,y=g;function _(x,v,M,C){const R=l?-1:1;if(x!==v){for(x+=u;e[x%u].skip;)x-=R;for(;e[v%u].skip;)v+=R;x%u!==v%u&&(d.push({start:x%u,end:v%u,loop:M,style:C}),h=C,g=v%u)}}for(const x of t){g=l?g:x.start;let v=e[g%u],M;for(y=g+1;y<=x.end;y++){const C=e[y%u];M=fg(i.setContext(Oi(r,{type:"segment",p0:v,p1:C,p0DataIndex:(y-1)%u,p1DataIndex:y%u,datasetIndex:a}))),Zk(M,h)&&_(g,y-1,x.loop,h),v=C,h=M}g<y-1&&_(g,y-1,x.loop,h)}return d}function fg(n){return{backgroundColor:n.backgroundColor,borderCapStyle:n.borderCapStyle,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderJoinStyle:n.borderJoinStyle,borderWidth:n.borderWidth,borderColor:n.borderColor}}function Zk(n,t){if(!t)return!1;const e=[],i=function(r,s){return Kc(s)?(e.includes(s)||e.push(s),e.indexOf(s)):s};return JSON.stringify(n,i)!==JSON.stringify(t,i)}function Aa(n,t,e){return n.options.clip?n[e]:t[e]}function Qk(n,t){const{xScale:e,yScale:i}=n;return e&&i?{left:Aa(e,t,"left"),right:Aa(e,t,"right"),top:Aa(i,t,"top"),bottom:Aa(i,t,"bottom")}:t}function hg(n,t){const e=t._clip;if(e.disabled)return!1;const i=Qk(t,n.chartArea);return{left:e.left===!1?0:i.left-(e.left===!0?0:e.left),right:e.right===!1?n.width:i.right+(e.right===!0?0:e.right),top:e.top===!1?0:i.top-(e.top===!0?0:e.top),bottom:e.bottom===!1?n.height:i.bottom+(e.bottom===!0?0:e.bottom)}}class Jk{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,r){const s=e.listeners[r],a=e.duration;s.forEach(l=>l({chart:t,initial:e.initial,numSteps:a,currentStep:Math.min(i-e.start,a)}))}_refresh(){this._request||(this._running=!0,this._request=Fp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let a=s.length-1,l=!1,u;for(;a>=0;--a)u=s[a],u._active?(u._total>i.duration&&(i.duration=u._total),u.tick(t),l=!0):(s[a]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),e+=s.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var si=new Jk;const pg="transparent",tD={boolean(n,t,e){return e>.5?t:n},color(n,t,e){const i=Ta(n||pg),r=i.valid&&Ta(t||pg);return r&&r.valid?r.mix(i,e).hexString():t},number(n,t,e){return n+(t-n)*e}};class eD{constructor(t,e,i,r){const s=e[i];r=Ks([t.to,r,s,t.from]);const a=Ks([t.from,s,r]);this._active=!0,this._fn=t.fn||tD[t.type||typeof a],this._easing=$s[t.easing]||$s.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=a,this._to=r,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,a=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Ks([t.to,e,r,t.from]),this._from=Ks([t.from,r,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,r=this._prop,s=this._from,a=this._loop,l=this._to;let u;if(this._active=s!==l&&(a||e<i),!this._active){this._target[r]=l,this._notify(!0);return}if(e<0){this._target[r]=s;return}u=e/i%2,u=a&&u>1?2-u:u,u=this._easing(Math.min(1,Math.max(0,u))),this._target[r]=this._fn(s,l,u)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let r=0;r<i.length;r++)i[r][e]()}}class ou{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!Pt(t))return;const e=Object.keys(se.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach(r=>{const s=t[r];if(!Pt(s))return;const a={};for(const l of e)a[l]=s[l];(qt(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,a)})})}_animateOptions(t,e){const i=e.options,r=iD(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&nD(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,e){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),a=Object.keys(e),l=Date.now();let u;for(u=a.length-1;u>=0;--u){const d=a[u];if(d.charAt(0)==="$")continue;if(d==="options"){r.push(...this._animateOptions(t,e));continue}const h=e[d];let g=s[d];const y=i.get(d);if(g)if(y&&g.active()){g.update(y,h,l);continue}else g.cancel();if(!y||!y.duration){t[d]=h;continue}s[d]=g=new eD(y,t,d,h),r.push(g)}return r}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const i=this._createAnimations(t,e);if(i.length)return si.add(this._chart,i),!0}}function nD(n,t){const e=[],i=Object.keys(t);for(let r=0;r<i.length;r++){const s=n[i[r]];s&&s.active()&&e.push(s.wait())}return Promise.all(e)}function iD(n,t){if(!t)return;let e=n.options;if(!e){n.options=t;return}return e.$shared&&(n.options=e=Object.assign({},e,{$shared:!1,$animations:{}})),e}function gg(n,t){const e=n&&n.options||{},i=e.reverse,r=e.min===void 0?t:0,s=e.max===void 0?t:0;return{start:i?s:r,end:i?r:s}}function rD(n,t,e){if(e===!1)return!1;const i=gg(n,e),r=gg(t,e);return{top:r.end,right:i.end,bottom:r.start,left:i.start}}function sD(n){let t,e,i,r;return Pt(n)?(t=n.top,e=n.right,i=n.bottom,r=n.left):t=e=i=r=n,{top:t,right:e,bottom:i,left:r,disabled:n===!1}}function mg(n,t){const e=[],i=n._getSortedDatasetMetas(t);let r,s;for(r=0,s=i.length;r<s;++r)e.push(i[r].index);return e}function yg(n,t,e,i={}){const r=n.keys,s=i.mode==="single";let a,l,u,d;if(t===null)return;let h=!1;for(a=0,l=r.length;a<l;++a){if(u=+r[a],u===e){if(h=!0,i.all)continue;break}d=n.values[u],ae(d)&&(s||t===0||Yn(t)===Yn(d))&&(t+=d)}return!h&&!i.all?0:t}function oD(n,t){const{iScale:e,vScale:i}=t,r=e.axis==="x"?"x":"y",s=i.axis==="x"?"x":"y",a=Object.keys(n),l=new Array(a.length);let u,d,h;for(u=0,d=a.length;u<d;++u)h=a[u],l[u]={[r]:h,[s]:n[h]};return l}function au(n,t){const e=n&&n.options.stacked;return e||e===void 0&&t.stack!==void 0}function aD(n,t,e){return`${n.id}.${t.id}.${e.stack||e.type}`}function lD(n){const{min:t,max:e,minDefined:i,maxDefined:r}=n.getUserBounds();return{min:i?t:Number.NEGATIVE_INFINITY,max:r?e:Number.POSITIVE_INFINITY}}function cD(n,t,e){const i=n[t]||(n[t]={});return i[e]||(i[e]={})}function _g(n,t,e,i){for(const r of t.getMatchingVisibleMetas(i).reverse()){const s=n[r.index];if(e&&s>0||!e&&s<0)return r.index}return null}function bg(n,t){const{chart:e,_cachedMeta:i}=n,r=e._stacks||(e._stacks={}),{iScale:s,vScale:a,index:l}=i,u=s.axis,d=a.axis,h=aD(s,a,i),g=t.length;let y;for(let _=0;_<g;++_){const x=t[_],{[u]:v,[d]:M}=x,C=x._stacks||(x._stacks={});y=C[d]=cD(r,h,v),y[l]=M,y._top=_g(y,a,!0,i.type),y._bottom=_g(y,a,!1,i.type);const R=y._visualValues||(y._visualValues={});R[l]=M}}function lu(n,t){const e=n.scales;return Object.keys(e).filter(i=>e[i].axis===t).shift()}function uD(n,t){return Oi(n,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function dD(n,t,e){return Oi(n,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Xs(n,t){const e=n.controller.index,i=n.vScale&&n.vScale.axis;if(i){t=t||n._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][e]===void 0)return;delete s[i][e],s[i]._visualValues!==void 0&&s[i]._visualValues[e]!==void 0&&delete s[i]._visualValues[e]}}}const cu=n=>n==="reset"||n==="none",xg=(n,t)=>t?n:Object.assign({},n),fD=(n,t,e)=>n&&!t.hidden&&t._stacked&&{keys:mg(e,!0),values:null};class Ei{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=au(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Xs(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),r=(g,y,_,x)=>g==="x"?y:g==="r"?x:_,s=e.xAxisID=Mt(i.xAxisID,lu(t,"x")),a=e.yAxisID=Mt(i.yAxisID,lu(t,"y")),l=e.rAxisID=Mt(i.rAxisID,lu(t,"r")),u=e.indexAxis,d=e.iAxisID=r(u,s,a,l),h=e.vAxisID=r(u,a,s,l);e.xScale=this.getScaleForId(s),e.yScale=this.getScaleForId(a),e.rScale=this.getScaleForId(l),e.iScale=this.getScaleForId(d),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Np(this._data,this),t._stacked&&Xs(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(Pt(e)){const r=this._cachedMeta;this._data=oD(e,r)}else if(i!==e){if(i){Np(i,this);const r=this._cachedMeta;Xs(r),r._parsed=[]}e&&Object.isExtensible(e)&&XM(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=e._stacked;e._stacked=au(e.vScale,e),e.stack!==i.stack&&(r=!0,Xs(e),e.stack=i.stack),this._resyncElements(t),(r||s!==e._stacked)&&(bg(this,e._parsed),e._stacked=au(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:a}=i,l=s.axis;let u=t===0&&e===r.length?!0:i._sorted,d=t>0&&i._parsed[t-1],h,g,y;if(this._parsing===!1)i._parsed=r,i._sorted=!0,y=r;else{qt(r[t])?y=this.parseArrayData(i,r,t,e):Pt(r[t])?y=this.parseObjectData(i,r,t,e):y=this.parsePrimitiveData(i,r,t,e);const _=()=>g[l]===null||d&&g[l]<d[l];for(h=0;h<e;++h)i._parsed[h+t]=g=y[h],u&&(_()&&(u=!1),d=g);i._sorted=u}a&&bg(this,y)}parsePrimitiveData(t,e,i,r){const{iScale:s,vScale:a}=t,l=s.axis,u=a.axis,d=s.getLabels(),h=s===a,g=new Array(r);let y,_,x;for(y=0,_=r;y<_;++y)x=y+i,g[y]={[l]:h||s.parse(d[x],x),[u]:a.parse(e[x],x)};return g}parseArrayData(t,e,i,r){const{xScale:s,yScale:a}=t,l=new Array(r);let u,d,h,g;for(u=0,d=r;u<d;++u)h=u+i,g=e[h],l[u]={x:s.parse(g[0],h),y:a.parse(g[1],h)};return l}parseObjectData(t,e,i,r){const{xScale:s,yScale:a}=t,{xAxisKey:l="x",yAxisKey:u="y"}=this._parsing,d=new Array(r);let h,g,y,_;for(h=0,g=r;h<g;++h)y=h+i,_=e[y],d[h]={x:s.parse(Mi(_,l),y),y:a.parse(Mi(_,u),y)};return d}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const r=this.chart,s=this._cachedMeta,a=e[t.axis],l={keys:mg(r,!0),values:e._stacks[t.axis]._visualValues};return yg(l,a,s.index,{mode:i})}updateRangeFromParsed(t,e,i,r){const s=i[e.axis];let a=s===null?NaN:s;const l=r&&i._stacks[e.axis];r&&l&&(r.values=l,a=yg(r,s,this._cachedMeta.index)),t.min=Math.min(t.min,a),t.max=Math.max(t.max,a)}getMinMax(t,e){const i=this._cachedMeta,r=i._parsed,s=i._sorted&&t===i.iScale,a=r.length,l=this._getOtherScale(t),u=fD(e,i,this.chart),d={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:h,max:g}=lD(l);let y,_;function x(){_=r[y];const v=_[l.axis];return!ae(_[t.axis])||h>v||g<v}for(y=0;y<a&&!(!x()&&(this.updateRangeFromParsed(d,t,_,u),s));++y);if(s){for(y=a-1;y>=0;--y)if(!x()){this.updateRangeFromParsed(d,t,_,u);break}}return d}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let r,s,a;for(r=0,s=e.length;r<s;++r)a=e[r][t.axis],ae(a)&&i.push(a);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,r=e.vScale,s=this.getParsed(t);return{label:i?""+i.getLabelForValue(s[i.axis]):"",value:r?""+r.getLabelForValue(s[r.axis]):""}}_update(t){const e=this._cachedMeta;this.update(t||"default"),e._clip=sD(Mt(this.options.clip,rD(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,r=i.data||[],s=e.chartArea,a=[],l=this._drawStart||0,u=this._drawCount||r.length-l,d=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(t,s,l,u),h=l;h<l+u;++h){const g=r[h];g.hidden||(g.active&&d?a.push(g):g.draw(t,s))}for(h=0;h<a.length;++h)a[h].draw(t,s)}getStyle(t,e){const i=e?"active":"default";return t===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const r=this.getDataset();let s;if(t>=0&&t<this._cachedMeta.data.length){const a=this._cachedMeta.data[t];s=a.$context||(a.$context=dD(this.getContext(),t,a)),s.parsed=this.getParsed(t),s.raw=r.data[t],s.index=s.dataIndex=t}else s=this.$context||(this.$context=uD(this.chart.getContext(),this.index)),s.dataset=r,s.index=s.datasetIndex=this.index;return s.active=!!e,s.mode=i,s}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const r=e==="active",s=this._cachedDataOpts,a=t+"-"+e,l=s[a],u=this.enableOptionSharing&&en(i);if(l)return xg(l,u);const d=this.chart.config,h=d.datasetElementScopeKeys(this._type,t),g=r?[`${t}Hover`,"hover",t,""]:[t,""],y=d.getOptionScopes(this.getDataset(),h),_=Object.keys(se.elements[t]),x=()=>this.getContext(i,r,e),v=d.resolveNamedOptions(y,_,x,g);return v.$shared&&(v.$shared=u,s[a]=Object.freeze(xg(v,u))),v}_resolveAnimations(t,e,i){const r=this.chart,s=this._cachedDataOpts,a=`animation-${e}`,l=s[a];if(l)return l;let u;if(r.options.animation!==!1){const h=this.chart.config,g=h.datasetAnimationScopeKeys(this._type,e),y=h.getOptionScopes(this.getDataset(),g);u=h.createResolver(y,this.getContext(t,i,e))}const d=new ou(r,u&&u.animations);return u&&u._cacheable&&(s[a]=Object.freeze(d)),d}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||cu(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),r=this._sharedOptions,s=this.getSharedOptions(i),a=this.includeOptions(e,s)||s!==r;return this.updateSharedOptions(s,e,i),{sharedOptions:s,includeOptions:a}}updateElement(t,e,i,r){cu(r)?Object.assign(t,i):this._resolveAnimations(e,r).update(t,i)}updateSharedOptions(t,e,i){t&&!cu(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,r){t.active=r;const s=this.getStyle(e,r);this._resolveAnimations(e,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[l,u,d]of this._syncList)this[l](u,d);this._syncList=[];const r=i.length,s=e.length,a=Math.min(s,r);a&&this.parse(0,a),s>r?this._insertElements(r,s-r,t):s<r&&this._removeElements(s,r-s)}_insertElements(t,e,i=!0){const r=this._cachedMeta,s=r.data,a=t+e;let l;const u=d=>{for(d.length+=e,l=d.length-1;l>=a;l--)d[l]=d[l-e]};for(u(s),l=t;l<a;++l)s[l]=new this.dataElementType;this._parsing&&u(r._parsed),this.parse(t,e),i&&this.updateElements(s,t,e,"reset")}updateElements(t,e,i,r){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const r=i._parsed.splice(t,e);i._stacked&&Xs(i,r)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,r]=t;this[e](i,r)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}function hD(n,t){if(!n._cache.$bar){const e=n.getMatchingVisibleMetas(t);let i=[];for(let r=0,s=e.length;r<s;r++)i=i.concat(e[r].controller.getAllParsedValues(n));n._cache.$bar=Bp(i.sort((r,s)=>r-s))}return n._cache.$bar}function pD(n){const t=n.iScale,e=hD(t,n.type);let i=t._length,r,s,a,l;const u=()=>{a===32767||a===-32768||(en(l)&&(i=Math.min(i,Math.abs(a-l)||i)),l=a)};for(r=0,s=e.length;r<s;++r)a=t.getPixelForValue(e[r]),u();for(l=void 0,r=0,s=t.ticks.length;r<s;++r)a=t.getPixelForTick(r),u();return i}function gD(n,t,e,i){const r=e.barThickness;let s,a;return xt(r)?(s=t.min*e.categoryPercentage,a=e.barPercentage):(s=r*i,a=1),{chunk:s/i,ratio:a,start:t.pixels[n]-s/2}}function mD(n,t,e,i){const r=t.pixels,s=r[n];let a=n>0?r[n-1]:null,l=n<r.length-1?r[n+1]:null;const u=e.categoryPercentage;a===null&&(a=s-(l===null?t.end-t.start:l-s)),l===null&&(l=s+s-a);const d=s-(s-Math.min(a,l))/2*u;return{chunk:Math.abs(l-a)/2*u/i,ratio:e.barPercentage,start:d}}function yD(n,t,e,i){const r=e.parse(n[0],i),s=e.parse(n[1],i),a=Math.min(r,s),l=Math.max(r,s);let u=a,d=l;Math.abs(a)>Math.abs(l)&&(u=l,d=a),t[e.axis]=d,t._custom={barStart:u,barEnd:d,start:r,end:s,min:a,max:l}}function wg(n,t,e,i){return qt(n)?yD(n,t,e,i):t[e.axis]=e.parse(n,i),t}function vg(n,t,e,i){const r=n.iScale,s=n.vScale,a=r.getLabels(),l=r===s,u=[];let d,h,g,y;for(d=e,h=e+i;d<h;++d)y=t[d],g={},g[r.axis]=l||r.parse(a[d],d),u.push(wg(y,g,s,d));return u}function uu(n){return n&&n.barStart!==void 0&&n.barEnd!==void 0}function _D(n,t,e){return n!==0?Yn(n):(t.isHorizontal()?1:-1)*(t.min>=e?1:-1)}function bD(n){let t,e,i,r,s;return n.horizontal?(t=n.base>n.x,e="left",i="right"):(t=n.base<n.y,e="bottom",i="top"),t?(r="end",s="start"):(r="start",s="end"),{start:e,end:i,reverse:t,top:r,bottom:s}}function xD(n,t,e,i){let r=t.borderSkipped;const s={};if(!r){n.borderSkipped=s;return}if(r===!0){n.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}const{start:a,end:l,reverse:u,top:d,bottom:h}=bD(n);r==="middle"&&e&&(n.enableBorderRadius=!0,(e._top||0)===i?r=d:(e._bottom||0)===i?r=h:(s[Sg(h,a,l,u)]=!0,r=d)),s[Sg(r,a,l,u)]=!0,n.borderSkipped=s}function Sg(n,t,e,i){return i?(n=wD(n,t,e),n=Tg(n,e,t)):n=Tg(n,t,e),n}function wD(n,t,e){return n===t?e:n===e?t:n}function Tg(n,t,e){return n==="start"?t:n==="end"?e:n}function vD(n,{inflateAmount:t},e){n.inflateAmount=t==="auto"?e===1?.33:0:t}class Mg extends Ei{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,r){return vg(t,e,i,r)}parseArrayData(t,e,i,r){return vg(t,e,i,r)}parseObjectData(t,e,i,r){const{iScale:s,vScale:a}=t,{xAxisKey:l="x",yAxisKey:u="y"}=this._parsing,d=s.axis==="x"?l:u,h=a.axis==="x"?l:u,g=[];let y,_,x,v;for(y=i,_=i+r;y<_;++y)v=e[y],x={},x[s.axis]=s.parse(Mi(v,d),y),g.push(wg(Mi(v,h),x,a,y));return g}updateRangeFromParsed(t,e,i,r){super.updateRangeFromParsed(t,e,i,r);const s=i._custom;s&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,s.min),t.max=Math.max(t.max,s.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:r}=e,s=this.getParsed(t),a=s._custom,l=uu(a)?"["+a.start+", "+a.end+"]":""+r.getLabelForValue(s[r.axis]);return{label:""+i.getLabelForValue(s[i.axis]),value:l}}initialize(){this.enableOptionSharing=!0,super.initialize();const t=this._cachedMeta;t.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,r){const s=r==="reset",{index:a,_cachedMeta:{vScale:l}}=this,u=l.getBasePixel(),d=l.isHorizontal(),h=this._getRuler(),{sharedOptions:g,includeOptions:y}=this._getSharedOptions(e,r);for(let _=e;_<e+i;_++){const x=this.getParsed(_),v=s||xt(x[l.axis])?{base:u,head:u}:this._calculateBarValuePixels(_),M=this._calculateBarIndexPixels(_,h),C=(x._stacks||{})[l.axis],R={horizontal:d,base:v.base,enableBorderRadius:!C||uu(x._custom)||a===C._top||a===C._bottom,x:d?v.head:M.center,y:d?M.center:v.head,height:d?M.size:Math.abs(v.size),width:d?Math.abs(v.size):M.size};y&&(R.options=g||this.resolveDataElementOptions(_,t[_].active?"active":r));const F=R.options||t[_].options;xD(R,F,C,a),vD(R,F,h.ratio),this.updateElement(t[_],_,R,r)}}_getStacks(t,e){const{iScale:i}=this._cachedMeta,r=i.getMatchingVisibleMetas(this._type).filter(h=>h.controller.options.grouped),s=i.options.stacked,a=[],l=this._cachedMeta.controller.getParsed(e),u=l&&l[i.axis],d=h=>{const g=h._parsed.find(_=>_[i.axis]===u),y=g&&g[h.vScale.axis];if(xt(y)||isNaN(y))return!0};for(const h of r)if(!(e!==void 0&&d(h))&&((s===!1||a.indexOf(h.stack)===-1||s===void 0&&h.stack===void 0)&&a.push(h.stack),h.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter(i=>t[i].axis===e).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const i of this.chart.data.datasets)t[Mt(this.chart.options.indexAxis==="x"?i.xAxisID:i.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,i){const r=this._getStacks(t,i),s=e!==void 0?r.indexOf(e):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,r=[];let s,a;for(s=0,a=e.data.length;s<a;++s)r.push(i.getPixelForValue(this.getParsed(s)[i.axis],s));const l=t.barThickness;return{min:l||pD(e),pixels:r,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:l?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i,index:r},options:{base:s,minBarLength:a}}=this,l=s||0,u=this.getParsed(t),d=u._custom,h=uu(d);let g=u[e.axis],y=0,_=i?this.applyStack(e,u,i):g,x,v;_!==g&&(y=_-g,_=g),h&&(g=d.barStart,_=d.barEnd-d.barStart,g!==0&&Yn(g)!==Yn(d.barEnd)&&(y=0),y+=g);const M=!xt(s)&&!h?s:y;let C=e.getPixelForValue(M);if(this.chart.getDataVisibility(t)?x=e.getPixelForValue(y+_):x=C,v=x-C,Math.abs(v)<a){v=_D(v,e,l)*a,g===l&&(C-=v/2);const R=e.getPixelForDecimal(0),F=e.getPixelForDecimal(1),I=Math.min(R,F),L=Math.max(R,F);C=Math.max(Math.min(C,L),I),x=C+v,i&&!h&&(u._stacks[e.axis]._visualValues[r]=e.getValueForPixel(x)-e.getValueForPixel(C))}if(C===e.getPixelForValue(l)){const R=Yn(v)*e.getLineWidthForValue(l)/2;C+=R,v-=R}return{size:v,base:C,head:x,center:x+v/2}}_calculateBarIndexPixels(t,e){const i=e.scale,r=this.options,s=r.skipNull,a=Mt(r.maxBarThickness,1/0);let l,u;const d=this._getAxisCount();if(e.grouped){const h=s?this._getStackCount(t):e.stackCount,g=r.barThickness==="flex"?mD(t,e,r,h*d):gD(t,e,r,h*d),y=this.chart.options.indexAxis==="x"?this.getDataset().xAxisID:this.getDataset().yAxisID,_=this._getAxis().indexOf(Mt(y,this.getFirstScaleIdForIndexAxis())),x=this._getStackIndex(this.index,this._cachedMeta.stack,s?t:void 0)+_;l=g.start+g.chunk*x+g.chunk/2,u=Math.min(a,g.chunk*g.ratio)}else l=i.getPixelForValue(this.getParsed(t)[i.axis],t),u=Math.min(a,e.min*e.ratio);return{base:l-u/2,head:l+u/2,center:l,size:u}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,r=i.length;let s=0;for(;s<r;++s)this.getParsed(s)[e.axis]!==null&&!i[s].hidden&&i[s].draw(this._ctx)}}class SD extends Ei{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,r){const s=super.parsePrimitiveData(t,e,i,r);for(let a=0;a<s.length;a++)s[a]._custom=this.resolveDataElementOptions(a+i).radius;return s}parseArrayData(t,e,i,r){const s=super.parseArrayData(t,e,i,r);for(let a=0;a<s.length;a++){const l=e[i+a];s[a]._custom=Mt(l[2],this.resolveDataElementOptions(a+i).radius)}return s}parseObjectData(t,e,i,r){const s=super.parseObjectData(t,e,i,r);for(let a=0;a<s.length;a++){const l=e[i+a];s[a]._custom=Mt(l&&l.r&&+l.r,this.resolveDataElementOptions(a+i).radius)}return s}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:r,yScale:s}=e,a=this.getParsed(t),l=r.getLabelForValue(a.x),u=s.getLabelForValue(a.y),d=a._custom;return{label:i[t]||"",value:"("+l+", "+u+(d?", "+d:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,r){const s=r==="reset",{iScale:a,vScale:l}=this._cachedMeta,{sharedOptions:u,includeOptions:d}=this._getSharedOptions(e,r),h=a.axis,g=l.axis;for(let y=e;y<e+i;y++){const _=t[y],x=!s&&this.getParsed(y),v={},M=v[h]=s?a.getPixelForDecimal(.5):a.getPixelForValue(x[h]),C=v[g]=s?l.getBasePixel():l.getPixelForValue(x[g]);v.skip=isNaN(M)||isNaN(C),d&&(v.options=u||this.resolveDataElementOptions(y,_.active?"active":r),s&&(v.options.radius=0)),this.updateElement(_,y,v,r)}}resolveDataElementOptions(t,e){const i=this.getParsed(t);let r=super.resolveDataElementOptions(t,e);r.$shared&&(r=Object.assign({},r,{$shared:!1}));const s=r.radius;return e!=="active"&&(r.radius=0),r.radius+=Mt(i&&i._custom,s),r}}function TD(n,t,e){let i=1,r=1,s=0,a=0;if(t<te){const l=n,u=l+t,d=Math.cos(l),h=Math.sin(l),g=Math.cos(u),y=Math.sin(u),_=(F,I,L)=>Vs(F,l,u,!0)?1:Math.max(I,I*e,L,L*e),x=(F,I,L)=>Vs(F,l,u,!0)?-1:Math.min(I,I*e,L,L*e),v=_(0,d,g),M=_(re,h,y),C=x(Rt,d,g),R=x(Rt+re,h,y);i=(v-C)/2,r=(M-R)/2,s=-(v+C)/2,a=-(M+R)/2}return{ratioX:i,ratioY:r,offsetX:s,offsetY:a}}class Zs extends Ei{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:t=>t!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data,{labels:{pointStyle:i,textAlign:r,color:s,useBorderRadius:a,borderRadius:l}}=t.legend.options;return e.labels.length&&e.datasets.length?e.labels.map((u,d)=>{const g=t.getDatasetMeta(0).controller.getStyle(d);return{text:u,fillStyle:g.backgroundColor,fontColor:s,hidden:!t.getDataVisibility(d),lineDash:g.borderDash,lineDashOffset:g.borderDashOffset,lineJoin:g.borderJoinStyle,lineWidth:g.borderWidth,strokeStyle:g.borderColor,textAlign:r,pointStyle:i,borderRadius:a&&(l||g.borderRadius),index:d}}):[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,r=this._cachedMeta;if(this._parsing===!1)r._parsed=i;else{let s=u=>+i[u];if(Pt(i[t])){const{key:u="value"}=this._parsing;s=d=>+Mi(i[d],u)}let a,l;for(a=t,l=t+e;a<l;++a)r._parsed[a]=s(a)}}_getRotation(){return xe(this.options.rotation-90)}_getCircumference(){return xe(this.options.circumference)}_getRotationExtents(){let t=te,e=-te;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){const r=this.chart.getDatasetMeta(i).controller,s=r._getRotation(),a=r._getCircumference();t=Math.min(t,s),e=Math.max(e,s+a)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,r=this._cachedMeta,s=r.data,a=this.getMaxBorderWidth()+this.getMaxOffset(s)+this.options.spacing,l=Math.max((Math.min(i.width,i.height)-a)/2,0),u=Math.min(NM(this.options.cutout,l),1),d=this._getRingWeight(this.index),{circumference:h,rotation:g}=this._getRotationExtents(),{ratioX:y,ratioY:_,offsetX:x,offsetY:v}=TD(g,h,u),M=(i.width-a)/y,C=(i.height-a)/_,R=Math.max(Math.min(M,C)/2,0),F=Cp(this.options.radius,R),I=Math.max(F*u,0),L=(F-I)/this._getVisibleDatasetWeightTotal();this.offsetX=x*F,this.offsetY=v*F,r.total=this.calculateTotal(),this.outerRadius=F-L*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-L*d,0),this.updateElements(s,0,s.length,t)}_circumference(t,e){const i=this.options,r=this._cachedMeta,s=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||r._parsed[t]===null||r.data[t].hidden?0:this.calculateCircumference(r._parsed[t]*s/te)}updateElements(t,e,i,r){const s=r==="reset",a=this.chart,l=a.chartArea,d=a.options.animation,h=(l.left+l.right)/2,g=(l.top+l.bottom)/2,y=s&&d.animateScale,_=y?0:this.innerRadius,x=y?0:this.outerRadius,{sharedOptions:v,includeOptions:M}=this._getSharedOptions(e,r);let C=this._getRotation(),R;for(R=0;R<e;++R)C+=this._circumference(R,s);for(R=e;R<e+i;++R){const F=this._circumference(R,s),I=t[R],L={x:h+this.offsetX,y:g+this.offsetY,startAngle:C,endAngle:C+F,circumference:F,outerRadius:x,innerRadius:_};M&&(L.options=v||this.resolveDataElementOptions(R,I.active?"active":r)),C+=F,this.updateElement(I,R,L,r)}}calculateTotal(){const t=this._cachedMeta,e=t.data;let i=0,r;for(r=0;r<e.length;r++){const s=t._parsed[r];s!==null&&!isNaN(s)&&this.chart.getDataVisibility(r)&&!e[r].hidden&&(i+=Math.abs(s))}return i}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?te*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,r=i.data.labels||[],s=Ys(e._parsed[t],i.options.locale);return{label:r[t]||"",value:s}}getMaxBorderWidth(t){let e=0;const i=this.chart;let r,s,a,l,u;if(!t){for(r=0,s=i.data.datasets.length;r<s;++r)if(i.isDatasetVisible(r)){a=i.getDatasetMeta(r),t=a.data,l=a.controller;break}}if(!t)return 0;for(r=0,s=t.length;r<s;++r)u=l.resolveDataElementOptions(r),u.borderAlign!=="inner"&&(e=Math.max(e,u.borderWidth||0,u.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,r=t.length;i<r;++i){const s=this.resolveDataElementOptions(i);e=Math.max(e,s.offset||0,s.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(Mt(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}class kg extends Ei{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:r=[],_dataset:s}=e,a=this.chart._animationsDisabled;let{start:l,count:u}=Up(e,r,a);this._drawStart=l,this._drawCount=u,Hp(e)&&(l=0,u=r.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!s._decimated,i.points=r;const d=this.resolveDatasetElementOptions(t);this.options.showLine||(d.borderWidth=0),d.segment=this.options.segment,this.updateElement(i,void 0,{animated:!a,options:d},t),this.updateElements(r,l,u,t)}updateElements(t,e,i,r){const s=r==="reset",{iScale:a,vScale:l,_stacked:u,_dataset:d}=this._cachedMeta,{sharedOptions:h,includeOptions:g}=this._getSharedOptions(e,r),y=a.axis,_=l.axis,{spanGaps:x,segment:v}=this.options,M=Di(x)?x:Number.POSITIVE_INFINITY,C=this.chart._animationsDisabled||s||r==="none",R=e+i,F=t.length;let I=e>0&&this.getParsed(e-1);for(let L=0;L<F;++L){const N=t[L],B=C?N:{};if(L<e||L>=R){B.skip=!0;continue}const T=this.getParsed(L),S=xt(T[_]),O=B[y]=a.getPixelForValue(T[y],L),U=B[_]=s||S?l.getBasePixel():l.getPixelForValue(u?this.applyStack(l,T,u):T[_],L);B.skip=isNaN(O)||isNaN(U)||S,B.stop=L>0&&Math.abs(T[y]-I[y])>M,v&&(B.parsed=T,B.raw=d.data[L]),g&&(B.options=h||this.resolveDataElementOptions(L,N.active?"active":r)),C||this.updateElement(N,L,B,r),I=T}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,r=t.data||[];if(!r.length)return i;const s=r[0].size(this.resolveDataElementOptions(0)),a=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(i,s,a)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}class Dg extends Ei{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:r}}=t.legend.options;return e.labels.map((s,a)=>{const u=t.getDatasetMeta(0).controller.getStyle(a);return{text:s,fillStyle:u.backgroundColor,strokeStyle:u.borderColor,fontColor:r,lineWidth:u.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(a),index:a}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,r=i.data.labels||[],s=Ys(e._parsed[t].r,i.options.locale);return{label:r[t]||"",value:s}}parseObjectData(t,e,i,r){return eg.bind(this)(t,e,i,r)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((i,r)=>{const s=this.getParsed(r).r;!isNaN(s)&&this.chart.getDataVisibility(r)&&(s<e.min&&(e.min=s),s>e.max&&(e.max=s))}),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,r=Math.min(e.right-e.left,e.bottom-e.top),s=Math.max(r/2,0),a=Math.max(i.cutoutPercentage?s/100*i.cutoutPercentage:1,0),l=(s-a)/t.getVisibleDatasetCount();this.outerRadius=s-l*this.index,this.innerRadius=this.outerRadius-l}updateElements(t,e,i,r){const s=r==="reset",a=this.chart,u=a.options.animation,d=this._cachedMeta.rScale,h=d.xCenter,g=d.yCenter,y=d.getIndexAngle(0)-.5*Rt;let _=y,x;const v=360/this.countVisibleElements();for(x=0;x<e;++x)_+=this._computeAngle(x,r,v);for(x=e;x<e+i;x++){const M=t[x];let C=_,R=_+this._computeAngle(x,r,v),F=a.getDataVisibility(x)?d.getDistanceFromCenterForValue(this.getParsed(x).r):0;_=R,s&&(u.animateScale&&(F=0),u.animateRotate&&(C=R=y));const I={x:h,y:g,innerRadius:0,outerRadius:F,startAngle:C,endAngle:R,options:this.resolveDataElementOptions(x,M.active?"active":r)};this.updateElement(M,x,I,r)}}countVisibleElements(){const t=this._cachedMeta;let e=0;return t.data.forEach((i,r)=>{!isNaN(this.getParsed(r).r)&&this.chart.getDataVisibility(r)&&e++}),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?xe(this.resolveDataElementOptions(t,e).angle||i):0}}class MD extends Zs{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}}class kD extends Ei{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,r){return eg.bind(this)(t,e,i,r)}update(t){const e=this._cachedMeta,i=e.dataset,r=e.data||[],s=e.iScale.getLabels();if(i.points=r,t!=="resize"){const a=this.resolveDatasetElementOptions(t);this.options.showLine||(a.borderWidth=0);const l={_loop:!0,_fullLoop:s.length===r.length,options:a};this.updateElement(i,void 0,l,t)}this.updateElements(r,0,r.length,t)}updateElements(t,e,i,r){const s=this._cachedMeta.rScale,a=r==="reset";for(let l=e;l<e+i;l++){const u=t[l],d=this.resolveDataElementOptions(l,u.active?"active":r),h=s.getPointPositionForValue(l,this.getParsed(l).r),g=a?s.xCenter:h.x,y=a?s.yCenter:h.y,_={x:g,y,angle:h.angle,skip:isNaN(g)||isNaN(y),options:d};this.updateElement(u,l,_,r)}}}class Cg extends Ei{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:r,yScale:s}=e,a=this.getParsed(t),l=r.getLabelForValue(a.x),u=s.getLabelForValue(a.y);return{label:i[t]||"",value:"("+l+", "+u+")"}}update(t){const e=this._cachedMeta,{data:i=[]}=e,r=this.chart._animationsDisabled;let{start:s,count:a}=Up(e,i,r);if(this._drawStart=s,this._drawCount=a,Hp(e)&&(s=0,a=i.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:l,_dataset:u}=e;l._chart=this.chart,l._datasetIndex=this.index,l._decimated=!!u._decimated,l.points=i;const d=this.resolveDatasetElementOptions(t);d.segment=this.options.segment,this.updateElement(l,void 0,{animated:!r,options:d},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(i,s,a,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,i,r){const s=r==="reset",{iScale:a,vScale:l,_stacked:u,_dataset:d}=this._cachedMeta,h=this.resolveDataElementOptions(e,r),g=this.getSharedOptions(h),y=this.includeOptions(r,g),_=a.axis,x=l.axis,{spanGaps:v,segment:M}=this.options,C=Di(v)?v:Number.POSITIVE_INFINITY,R=this.chart._animationsDisabled||s||r==="none";let F=e>0&&this.getParsed(e-1);for(let I=e;I<e+i;++I){const L=t[I],N=this.getParsed(I),B=R?L:{},T=xt(N[x]),S=B[_]=a.getPixelForValue(N[_],I),O=B[x]=s||T?l.getBasePixel():l.getPixelForValue(u?this.applyStack(l,N,u):N[x],I);B.skip=isNaN(S)||isNaN(O)||T,B.stop=I>0&&Math.abs(N[_]-F[_])>C,M&&(B.parsed=N,B.raw=d.data[I]),y&&(B.options=g||this.resolveDataElementOptions(I,L.active?"active":r)),R||this.updateElement(L,I,B,r),F=N}this.updateSharedOptions(g,r,h)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let l=0;for(let u=e.length-1;u>=0;--u)l=Math.max(l,e[u].size(this.resolveDataElementOptions(u))/2);return l>0&&l}const i=t.dataset,r=i.options&&i.options.borderWidth||0;if(!e.length)return r;const s=e[0].size(this.resolveDataElementOptions(0)),a=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(r,s,a)/2}}var DD=Object.freeze({__proto__:null,BarController:Mg,BubbleController:SD,DoughnutController:Zs,LineController:kg,PieController:MD,PolarAreaController:Dg,RadarController:kD,ScatterController:Cg});function ur(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class du{static override(t){Object.assign(du.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return ur()}parse(){return ur()}format(){return ur()}add(){return ur()}diff(){return ur()}startOf(){return ur()}endOf(){return ur()}}var Og={_date:du};function CD(n,t,e,i){const{controller:r,data:s,_sorted:a}=n,l=r._cachedMeta.iScale,u=n.dataset&&n.dataset.options?n.dataset.options.spanGaps:null;if(l&&t===l.axis&&t!=="r"&&a&&s.length){const d=l._reversePixels?GM:ii;if(i){if(r._sharedOptions){const h=s[0],g=typeof h.getRange=="function"&&h.getRange(t);if(g){const y=d(s,t,e-g),_=d(s,t,e+g);return{lo:y.lo,hi:_.hi}}}}else{const h=d(s,t,e);if(u){const{vScale:g}=r._cachedMeta,{_parsed:y}=n,_=y.slice(0,h.lo+1).reverse().findIndex(v=>!xt(v[g.axis]));h.lo-=Math.max(0,_);const x=y.slice(h.hi).findIndex(v=>!xt(v[g.axis]));h.hi+=Math.max(0,x)}return h}}return{lo:0,hi:s.length-1}}function Qs(n,t,e,i,r){const s=n.getSortedVisibleDatasetMetas(),a=e[t];for(let l=0,u=s.length;l<u;++l){const{index:d,data:h}=s[l],{lo:g,hi:y}=CD(s[l],t,a,r);for(let _=g;_<=y;++_){const x=h[_];x.skip||i(x,d,_)}}}function OD(n){const t=n.indexOf("x")!==-1,e=n.indexOf("y")!==-1;return function(i,r){const s=t?Math.abs(i.x-r.x):0,a=e?Math.abs(i.y-r.y):0;return Math.sqrt(Math.pow(s,2)+Math.pow(a,2))}}function fu(n,t,e,i,r){const s=[];return!r&&!n.isPointInArea(t)||Qs(n,e,t,function(l,u,d){!r&&!ri(l,n.chartArea,0)||l.inRange(t.x,t.y,i)&&s.push({element:l,datasetIndex:u,index:d})},!0),s}function AD(n,t,e,i){let r=[];function s(a,l,u){const{startAngle:d,endAngle:h}=a.getProps(["startAngle","endAngle"],i),{angle:g}=va(a,{x:t.x,y:t.y});Vs(g,d,h)&&r.push({element:a,datasetIndex:l,index:u})}return Qs(n,e,t,s),r}function RD(n,t,e,i,r,s){let a=[];const l=OD(e);let u=Number.POSITIVE_INFINITY;function d(h,g,y){const _=h.inRange(t.x,t.y,r);if(i&&!_)return;const x=h.getCenterPoint(r);if(!(!!s||n.isPointInArea(x))&&!_)return;const M=l(t,x);M<u?(a=[{element:h,datasetIndex:g,index:y}],u=M):M===u&&a.push({element:h,datasetIndex:g,index:y})}return Qs(n,e,t,d),a}function hu(n,t,e,i,r,s){return!s&&!n.isPointInArea(t)?[]:e==="r"&&!i?AD(n,t,e,r):RD(n,t,e,i,r,s)}function Ag(n,t,e,i,r){const s=[],a=e==="x"?"inXRange":"inYRange";let l=!1;return Qs(n,e,t,(u,d,h)=>{u[a]&&u[a](t[e],r)&&(s.push({element:u,datasetIndex:d,index:h}),l=l||u.inRange(t.x,t.y,r))}),i&&!l?[]:s}var pu={evaluateInteractionItems:Qs,modes:{index(n,t,e,i){const r=Ai(t,n),s=e.axis||"x",a=e.includeInvisible||!1,l=e.intersect?fu(n,r,s,i,a):hu(n,r,s,!1,i,a),u=[];return l.length?(n.getSortedVisibleDatasetMetas().forEach(d=>{const h=l[0].index,g=d.data[h];g&&!g.skip&&u.push({element:g,datasetIndex:d.index,index:h})}),u):[]},dataset(n,t,e,i){const r=Ai(t,n),s=e.axis||"xy",a=e.includeInvisible||!1;let l=e.intersect?fu(n,r,s,i,a):hu(n,r,s,!1,i,a);if(l.length>0){const u=l[0].datasetIndex,d=n.getDatasetMeta(u).data;l=[];for(let h=0;h<d.length;++h)l.push({element:d[h],datasetIndex:u,index:h})}return l},point(n,t,e,i){const r=Ai(t,n),s=e.axis||"xy",a=e.includeInvisible||!1;return fu(n,r,s,i,a)},nearest(n,t,e,i){const r=Ai(t,n),s=e.axis||"xy",a=e.includeInvisible||!1;return hu(n,r,s,e.intersect,i,a)},x(n,t,e,i){const r=Ai(t,n);return Ag(n,r,"x",e.intersect,i)},y(n,t,e,i){const r=Ai(t,n);return Ag(n,r,"y",e.intersect,i)}}};const Rg=["left","top","right","bottom"];function Js(n,t){return n.filter(e=>e.pos===t)}function Eg(n,t){return n.filter(e=>Rg.indexOf(e.pos)===-1&&e.box.axis===t)}function to(n,t){return n.sort((e,i)=>{const r=t?i:e,s=t?e:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function ED(n){const t=[];let e,i,r,s,a,l;for(e=0,i=(n||[]).length;e<i;++e)r=n[e],{position:s,options:{stack:a,stackWeight:l=1}}=r,t.push({index:e,box:r,pos:s,horizontal:r.isHorizontal(),weight:r.weight,stack:a&&s+a,stackWeight:l});return t}function PD(n){const t={};for(const e of n){const{stack:i,pos:r,stackWeight:s}=e;if(!i||!Rg.includes(r))continue;const a=t[i]||(t[i]={count:0,placed:0,weight:0,size:0});a.count++,a.weight+=s}return t}function ID(n,t){const e=PD(n),{vBoxMaxWidth:i,hBoxMaxHeight:r}=t;let s,a,l;for(s=0,a=n.length;s<a;++s){l=n[s];const{fullSize:u}=l.box,d=e[l.stack],h=d&&l.stackWeight/d.weight;l.horizontal?(l.width=h?h*i:u&&t.availableWidth,l.height=r):(l.width=i,l.height=h?h*r:u&&t.availableHeight)}return e}function LD(n){const t=ED(n),e=to(t.filter(d=>d.box.fullSize),!0),i=to(Js(t,"left"),!0),r=to(Js(t,"right")),s=to(Js(t,"top"),!0),a=to(Js(t,"bottom")),l=Eg(t,"x"),u=Eg(t,"y");return{fullSize:e,leftAndTop:i.concat(s),rightAndBottom:r.concat(u).concat(a).concat(l),chartArea:Js(t,"chartArea"),vertical:i.concat(r).concat(u),horizontal:s.concat(a).concat(l)}}function Pg(n,t,e,i){return Math.max(n[e],t[e])+Math.max(n[i],t[i])}function Ig(n,t){n.top=Math.max(n.top,t.top),n.left=Math.max(n.left,t.left),n.bottom=Math.max(n.bottom,t.bottom),n.right=Math.max(n.right,t.right)}function ND(n,t,e,i){const{pos:r,box:s}=e,a=n.maxPadding;if(!Pt(r)){e.size&&(n[r]-=e.size);const g=i[e.stack]||{size:0,count:1};g.size=Math.max(g.size,e.horizontal?s.height:s.width),e.size=g.size/g.count,n[r]+=e.size}s.getPadding&&Ig(a,s.getPadding());const l=Math.max(0,t.outerWidth-Pg(a,n,"left","right")),u=Math.max(0,t.outerHeight-Pg(a,n,"top","bottom")),d=l!==n.w,h=u!==n.h;return n.w=l,n.h=u,e.horizontal?{same:d,other:h}:{same:h,other:d}}function BD(n){const t=n.maxPadding;function e(i){const r=Math.max(t[i]-n[i],0);return n[i]+=r,r}n.y+=e("top"),n.x+=e("left"),e("right"),e("bottom")}function FD(n,t){const e=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(a=>{s[a]=Math.max(t[a],e[a])}),s}return i(n?["left","right"]:["top","bottom"])}function eo(n,t,e,i){const r=[];let s,a,l,u,d,h;for(s=0,a=n.length,d=0;s<a;++s){l=n[s],u=l.box,u.update(l.width||t.w,l.height||t.h,FD(l.horizontal,t));const{same:g,other:y}=ND(t,e,l,i);d|=g&&r.length,h=h||y,u.fullSize||r.push(l)}return d&&eo(r,t,e,i)||h}function Ra(n,t,e,i,r){n.top=e,n.left=t,n.right=t+i,n.bottom=e+r,n.width=i,n.height=r}function Lg(n,t,e,i){const r=e.padding;let{x:s,y:a}=t;for(const l of n){const u=l.box,d=i[l.stack]||{placed:0,weight:1},h=l.stackWeight/d.weight||1;if(l.horizontal){const g=t.w*h,y=d.size||u.height;en(d.start)&&(a=d.start),u.fullSize?Ra(u,r.left,a,e.outerWidth-r.right-r.left,y):Ra(u,t.left+d.placed,a,g,y),d.start=a,d.placed+=g,a=u.bottom}else{const g=t.h*h,y=d.size||u.width;en(d.start)&&(s=d.start),u.fullSize?Ra(u,s,r.top,y,e.outerHeight-r.bottom-r.top):Ra(u,s,t.top+d.placed,y,g),d.start=s,d.placed+=g,s=u.right}}t.x=s,t.y=a}var We={addBox(n,t){n.boxes||(n.boxes=[]),t.fullSize=t.fullSize||!1,t.position=t.position||"top",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(e){t.draw(e)}}]},n.boxes.push(t)},removeBox(n,t){const e=n.boxes?n.boxes.indexOf(t):-1;e!==-1&&n.boxes.splice(e,1)},configure(n,t,e){t.fullSize=e.fullSize,t.position=e.position,t.weight=e.weight},update(n,t,e,i){if(!n)return;const r=we(n.options.layout.padding),s=Math.max(t-r.width,0),a=Math.max(e-r.height,0),l=LD(n.boxes),u=l.vertical,d=l.horizontal;Jt(n.boxes,v=>{typeof v.beforeLayout=="function"&&v.beforeLayout()});const h=u.reduce((v,M)=>M.box.options&&M.box.options.display===!1?v:v+1,0)||1,g=Object.freeze({outerWidth:t,outerHeight:e,padding:r,availableWidth:s,availableHeight:a,vBoxMaxWidth:s/2/h,hBoxMaxHeight:a/2}),y=Object.assign({},r);Ig(y,we(i));const _=Object.assign({maxPadding:y,w:s,h:a,x:r.left,y:r.top},r),x=ID(u.concat(d),g);eo(l.fullSize,_,g,x),eo(u,_,g,x),eo(d,_,g,x)&&eo(u,_,g,x),BD(_),Lg(l.leftAndTop,_,g,x),_.x+=_.w,_.y+=_.h,Lg(l.rightAndBottom,_,g,x),n.chartArea={left:_.left,top:_.top,right:_.left+_.w,bottom:_.top+_.h,height:_.h,width:_.w},Jt(l.chartArea,v=>{const M=v.box;Object.assign(M,n.chartArea),M.update(_.w,_.h,{left:0,top:0,right:0,bottom:0})})}};class Ng{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,r){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,r?Math.floor(e/r):i)}}isAttached(t){return!0}updateConfig(t){}}class zD extends Ng{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Ea="$chartjs",UD={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Bg=n=>n===null||n==="";function HD(n,t){const e=n.style,i=n.getAttribute("height"),r=n.getAttribute("width");if(n[Ea]={initial:{height:i,width:r,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",Bg(r)){const s=rg(n,"width");s!==void 0&&(n.width=s)}if(Bg(i))if(n.style.height==="")n.height=n.width/(t||2);else{const s=rg(n,"height");s!==void 0&&(n.height=s)}return n}const Fg=Hk?{passive:!0}:!1;function WD(n,t,e){n&&n.addEventListener(t,e,Fg)}function VD(n,t,e){n&&n.canvas&&n.canvas.removeEventListener(t,e,Fg)}function $D(n,t){const e=UD[n.type]||n.type,{x:i,y:r}=Ai(n,t);return{type:e,chart:t,native:n,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Pa(n,t){for(const e of n)if(e===t||e.contains(t))return!0}function YD(n,t,e){const i=n.canvas,r=new MutationObserver(s=>{let a=!1;for(const l of s)a=a||Pa(l.addedNodes,i),a=a&&!Pa(l.removedNodes,i);a&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}function qD(n,t,e){const i=n.canvas,r=new MutationObserver(s=>{let a=!1;for(const l of s)a=a||Pa(l.removedNodes,i),a=a&&!Pa(l.addedNodes,i);a&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}const no=new Map;let zg=0;function Ug(){const n=window.devicePixelRatio;n!==zg&&(zg=n,no.forEach((t,e)=>{e.currentDevicePixelRatio!==n&&t()}))}function jD(n,t){no.size||window.addEventListener("resize",Ug),no.set(n,t)}function GD(n){no.delete(n),no.size||window.removeEventListener("resize",Ug)}function KD(n,t,e){const i=n.canvas,r=i&&su(i);if(!r)return;const s=zp((l,u)=>{const d=r.clientWidth;e(l,u),d<r.clientWidth&&e()},window),a=new ResizeObserver(l=>{const u=l[0],d=u.contentRect.width,h=u.contentRect.height;d===0&&h===0||s(d,h)});return a.observe(r),jD(n,s),a}function gu(n,t,e){e&&e.disconnect(),t==="resize"&&GD(n)}function XD(n,t,e){const i=n.canvas,r=zp(s=>{n.ctx!==null&&e($D(s,n))},n);return WD(i,t,r),r}class ZD extends Ng{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(HD(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[Ea])return!1;const i=e[Ea].initial;["height","width"].forEach(s=>{const a=i[s];xt(a)?e.removeAttribute(s):e.setAttribute(s,a)});const r=i.style||{};return Object.keys(r).forEach(s=>{e.style[s]=r[s]}),e.width=e.width,delete e[Ea],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const r=t.$proxies||(t.$proxies={}),a={attach:YD,detach:qD,resize:KD}[e]||XD;r[e]=a(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),r=i[e];if(!r)return;({attach:gu,detach:gu,resize:gu}[e]||VD)(t,e,r),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,r){return Uk(t,e,i,r)}isAttached(t){const e=t&&su(t);return!!(e&&e.isConnected)}}function QD(n){return!ru()||typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas?zD:ZD}class Ve{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return Di(this.x)&&Di(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}function JD(n,t){const e=n.options.ticks,i=tC(n),r=Math.min(e.maxTicksLimit||i,i),s=e.major.enabled?nC(t):[],a=s.length,l=s[0],u=s[a-1],d=[];if(a>r)return iC(t,d,s,a/r),d;const h=eC(s,t,r);if(a>0){let g,y;const _=a>1?Math.round((u-l)/(a-1)):null;for(Ia(t,d,h,xt(_)?0:l-_,l),g=0,y=a-1;g<y;g++)Ia(t,d,h,s[g],s[g+1]);return Ia(t,d,h,u,xt(_)?t.length:u+_),d}return Ia(t,d,h),d}function tC(n){const t=n.options.offset,e=n._tickSize(),i=n._length/e+(t?0:1),r=n._maxLength/e;return Math.floor(Math.min(i,r))}function eC(n,t,e){const i=rC(n),r=t.length/e;if(!i)return Math.max(r,1);const s=VM(i);for(let a=0,l=s.length-1;a<l;a++){const u=s[a];if(u>r)return u}return Math.max(r,1)}function nC(n){const t=[];let e,i;for(e=0,i=n.length;e<i;e++)n[e].major&&t.push(e);return t}function iC(n,t,e,i){let r=0,s=e[0],a;for(i=Math.ceil(i),a=0;a<n.length;a++)a===s&&(t.push(n[a]),r++,s=e[r*i])}function Ia(n,t,e,i,r){const s=Mt(i,0),a=Math.min(Mt(r,n.length),n.length);let l=0,u,d,h;for(e=Math.ceil(e),r&&(u=r-i,e=u/Math.floor(u/e)),h=s;h<0;)l++,h=Math.round(s+l*e);for(d=Math.max(s,0);d<a;d++)d===h&&(t.push(n[d]),l++,h=Math.round(s+l*e))}function rC(n){const t=n.length;let e,i;if(t<2)return!1;for(i=n[0],e=1;e<t;++e)if(n[e]-n[e-1]!==i)return!1;return i}const sC=n=>n==="left"?"right":n==="right"?"left":n,Hg=(n,t,e)=>t==="top"||t==="left"?n[t]+e:n[t]-e,Wg=(n,t)=>Math.min(t||n,n);function Vg(n,t){const e=[],i=n.length/t,r=n.length;let s=0;for(;s<r;s+=i)e.push(n[Math.floor(s)]);return e}function oC(n,t,e){const i=n.ticks.length,r=Math.min(t,i-1),s=n._startPixel,a=n._endPixel,l=1e-6;let u=n.getPixelForTick(r),d;if(!(e&&(i===1?d=Math.max(u-s,a-u):t===0?d=(n.getPixelForTick(1)-u)/2:d=(u-n.getPixelForTick(r-1))/2,u+=r<t?d:-d,u<s-l||u>a+l)))return u}function aC(n,t){Jt(n,e=>{const i=e.gc,r=i.length/2;let s;if(r>t){for(s=0;s<r;++s)delete e.data[i[s]];i.splice(0,r)}})}function io(n){return n.drawTicks?n.tickLength:0}function $g(n,t){if(!n.display)return 0;const e=le(n.font,t),i=we(n.padding);return(qt(n.text)?n.text.length:1)*e.lineHeight+i.height}function lC(n,t){return Oi(n,{scale:t,type:"scale"})}function cC(n,t,e){return Oi(n,{tick:e,index:t,type:"tick"})}function uC(n,t,e){let i=Gc(n);return(e&&t!=="right"||!e&&t==="right")&&(i=sC(i)),i}function dC(n,t,e,i){const{top:r,left:s,bottom:a,right:l,chart:u}=n,{chartArea:d,scales:h}=u;let g=0,y,_,x;const v=a-r,M=l-s;if(n.isHorizontal()){if(_=He(i,s,l),Pt(e)){const C=Object.keys(e)[0],R=e[C];x=h[C].getPixelForValue(R)+v-t}else e==="center"?x=(d.bottom+d.top)/2+v-t:x=Hg(n,e,t);y=l-s}else{if(Pt(e)){const C=Object.keys(e)[0],R=e[C];_=h[C].getPixelForValue(R)-M+t}else e==="center"?_=(d.left+d.right)/2-M+t:_=Hg(n,e,t);x=He(i,a,r),g=e==="left"?-re:re}return{titleX:_,titleY:x,maxWidth:y,rotation:g}}class dr extends Ve{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:r}=this;return t=pn(t,Number.POSITIVE_INFINITY),e=pn(e,Number.NEGATIVE_INFINITY),i=pn(i,Number.POSITIVE_INFINITY),r=pn(r,Number.NEGATIVE_INFINITY),{min:pn(t,i),max:pn(e,r),minDefined:ae(t),maxDefined:ae(e)}}getMinMax(t){let{min:e,max:i,minDefined:r,maxDefined:s}=this.getUserBounds(),a;if(r&&s)return{min:e,max:i};const l=this.getMatchingVisibleMetas();for(let u=0,d=l.length;u<d;++u)a=l[u].controller.getMinMax(this,t),r||(e=Math.min(e,a.min)),s||(i=Math.max(i,a.max));return e=s&&e>i?i:e,i=r&&e>i?e:i,{min:pn(e,pn(i,e)),max:pn(i,pn(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Qt(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:r,grace:s,ticks:a}=this.options,l=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_k(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const u=l<this.ticks.length;this._convertTicksToLabels(u?Vg(this.ticks,l):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),a.display&&(a.autoSkip||a.source==="auto")&&(this.ticks=JD(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),u&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,e,i;this.isHorizontal()?(e=this.left,i=this.right):(e=this.top,i=this.bottom,t=!t),this._startPixel=e,this._endPixel=i,this._reversePixels=t,this._length=i-e,this._alignToPixels=this.options.alignToPixels}afterUpdate(){Qt(this.options.afterUpdate,[this])}beforeSetDimensions(){Qt(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){Qt(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),Qt(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){Qt(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,r,s;for(i=0,r=t.length;i<r;i++)s=t[i],s.label=Qt(e.callback,[s.value,i,t],this)}afterTickToLabelConversion(){Qt(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){Qt(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=Wg(this.ticks.length,t.ticks.maxTicksLimit),r=e.minRotation||0,s=e.maxRotation;let a=r,l,u,d;if(!this._isVisible()||!e.display||r>=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const h=this._getLabelSizes(),g=h.widest.width,y=h.highest.height,_=Ce(this.chart.width-g,0,this.maxWidth);l=t.offset?this.maxWidth/i:_/(i-1),g+6>l&&(l=_/(i-(t.offset?.5:1)),u=this.maxHeight-io(t.grid)-e.padding-$g(t.title,this.chart.options.font),d=Math.sqrt(g*g+y*y),a=wa(Math.min(Math.asin(Ce((h.highest.height+6)/l,-1,1)),Math.asin(Ce(u/d,-1,1))-Math.asin(Ce(y/d,-1,1)))),a=Math.max(r,Math.min(s,a))),this.labelRotation=a}afterCalculateLabelRotation(){Qt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Qt(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:r,grid:s}}=this,a=this._isVisible(),l=this.isHorizontal();if(a){const u=$g(r,e.options.font);if(l?(t.width=this.maxWidth,t.height=io(s)+u):(t.height=this.maxHeight,t.width=io(s)+u),i.display&&this.ticks.length){const{first:d,last:h,widest:g,highest:y}=this._getLabelSizes(),_=i.padding*2,x=xe(this.labelRotation),v=Math.cos(x),M=Math.sin(x);if(l){const C=i.mirror?0:M*g.width+v*y.height;t.height=Math.min(this.maxHeight,t.height+C+_)}else{const C=i.mirror?0:v*g.width+M*y.height;t.width=Math.min(this.maxWidth,t.width+C+_)}this._calculatePadding(d,h,M,v)}}this._handleMargins(),l?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,r){const{ticks:{align:s,padding:a},position:l}=this.options,u=this.labelRotation!==0,d=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,g=this.right-this.getPixelForTick(this.ticks.length-1);let y=0,_=0;u?d?(y=r*t.width,_=i*e.height):(y=i*t.height,_=r*e.width):s==="start"?_=e.width:s==="end"?y=t.width:s!=="inner"&&(y=t.width/2,_=e.width/2),this.paddingLeft=Math.max((y-h+a)*this.width/(this.width-h),0),this.paddingRight=Math.max((_-g+a)*this.width/(this.width-g),0)}else{let h=e.height/2,g=t.height/2;s==="start"?(h=0,g=t.height):s==="end"&&(h=e.height,g=0),this.paddingTop=h+a,this.paddingBottom=g+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Qt(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,i;for(e=0,i=t.length;e<i;e++)xt(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=Vg(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,e,i){const{ctx:r,_longestTextCache:s}=this,a=[],l=[],u=Math.floor(e/Wg(e,i));let d=0,h=0,g,y,_,x,v,M,C,R,F,I,L;for(g=0;g<e;g+=u){if(x=t[g].label,v=this._resolveTickFontOptions(g),r.font=M=v.string,C=s[M]=s[M]||{data:{},gc:[]},R=v.lineHeight,F=I=0,!xt(x)&&!qt(x))F=ka(r,C.data,C.gc,F,x),I=R;else if(qt(x))for(y=0,_=x.length;y<_;++y)L=x[y],!xt(L)&&!qt(L)&&(F=ka(r,C.data,C.gc,F,L),I+=R);a.push(F),l.push(I),d=Math.max(F,d),h=Math.max(I,h)}aC(s,e);const N=a.indexOf(d),B=l.indexOf(h),T=S=>({width:a[S]||0,height:l[S]||0});return{first:T(0),last:T(e-1),widest:T(N),highest:T(B),widths:a,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return jM(this._alignToPixels?or(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=cC(this.getContext(),t,i))}return this.$context||(this.$context=lC(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,e=xe(this.labelRotation),i=Math.abs(Math.cos(e)),r=Math.abs(Math.sin(e)),s=this._getLabelSizes(),a=t.autoSkipPadding||0,l=s?s.widest.width+a:0,u=s?s.highest.height+a:0;return this.isHorizontal()?u*i>l*r?l/i:u/r:u*r<l*i?u/i:l/r}_isVisible(){const t=this.options.display;return t!=="auto"?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,r=this.options,{grid:s,position:a,border:l}=r,u=s.offset,d=this.isHorizontal(),g=this.ticks.length+(u?1:0),y=io(s),_=[],x=l.setContext(this.getContext()),v=x.display?x.width:0,M=v/2,C=function(q){return or(i,q,v)};let R,F,I,L,N,B,T,S,O,U,$,it;if(a==="top")R=C(this.bottom),B=this.bottom-y,S=R-M,U=C(t.top)+M,it=t.bottom;else if(a==="bottom")R=C(this.top),U=t.top,it=C(t.bottom)-M,B=R+M,S=this.top+y;else if(a==="left")R=C(this.right),N=this.right-y,T=R-M,O=C(t.left)+M,$=t.right;else if(a==="right")R=C(this.left),O=t.left,$=C(t.right)-M,N=R+M,T=this.left+y;else if(e==="x"){if(a==="center")R=C((t.top+t.bottom)/2+.5);else if(Pt(a)){const q=Object.keys(a)[0],J=a[q];R=C(this.chart.scales[q].getPixelForValue(J))}U=t.top,it=t.bottom,B=R+M,S=B+y}else if(e==="y"){if(a==="center")R=C((t.left+t.right)/2);else if(Pt(a)){const q=Object.keys(a)[0],J=a[q];R=C(this.chart.scales[q].getPixelForValue(J))}N=R-M,T=N-y,O=t.left,$=t.right}const at=Mt(r.ticks.maxTicksLimit,g),ot=Math.max(1,Math.ceil(g/at));for(F=0;F<g;F+=ot){const q=this.getContext(F),J=s.setContext(q),rt=l.setContext(q),tt=J.lineWidth,G=J.color,P=rt.dash||[],W=rt.dashOffset,j=J.tickWidth,pt=J.tickColor,lt=J.tickBorderDash||[],et=J.tickBorderDashOffset;I=oC(this,F,u),I!==void 0&&(L=or(i,I,tt),d?N=T=O=$=L:B=S=U=it=L,_.push({tx1:N,ty1:B,tx2:T,ty2:S,x1:O,y1:U,x2:$,y2:it,width:tt,color:G,borderDash:P,borderDashOffset:W,tickWidth:j,tickColor:pt,tickBorderDash:lt,tickBorderDashOffset:et}))}return this._ticksLength=g,this._borderValue=R,_}_computeLabelItems(t){const e=this.axis,i=this.options,{position:r,ticks:s}=i,a=this.isHorizontal(),l=this.ticks,{align:u,crossAlign:d,padding:h,mirror:g}=s,y=io(i.grid),_=y+h,x=g?-h:_,v=-xe(this.labelRotation),M=[];let C,R,F,I,L,N,B,T,S,O,U,$,it="middle";if(r==="top")N=this.bottom-x,B=this._getXAxisLabelAlignment();else if(r==="bottom")N=this.top+x,B=this._getXAxisLabelAlignment();else if(r==="left"){const ot=this._getYAxisLabelAlignment(y);B=ot.textAlign,L=ot.x}else if(r==="right"){const ot=this._getYAxisLabelAlignment(y);B=ot.textAlign,L=ot.x}else if(e==="x"){if(r==="center")N=(t.top+t.bottom)/2+_;else if(Pt(r)){const ot=Object.keys(r)[0],q=r[ot];N=this.chart.scales[ot].getPixelForValue(q)+_}B=this._getXAxisLabelAlignment()}else if(e==="y"){if(r==="center")L=(t.left+t.right)/2-_;else if(Pt(r)){const ot=Object.keys(r)[0],q=r[ot];L=this.chart.scales[ot].getPixelForValue(q)}B=this._getYAxisLabelAlignment(y).textAlign}e==="y"&&(u==="start"?it="top":u==="end"&&(it="bottom"));const at=this._getLabelSizes();for(C=0,R=l.length;C<R;++C){F=l[C],I=F.label;const ot=s.setContext(this.getContext(C));T=this.getPixelForTick(C)+s.labelOffset,S=this._resolveTickFontOptions(C),O=S.lineHeight,U=qt(I)?I.length:1;const q=U/2,J=ot.color,rt=ot.textStrokeColor,tt=ot.textStrokeWidth;let G=B;a?(L=T,B==="inner"&&(C===R-1?G=this.options.reverse?"left":"right":C===0?G=this.options.reverse?"right":"left":G="center"),r==="top"?d==="near"||v!==0?$=-U*O+O/2:d==="center"?$=-at.highest.height/2-q*O+O:$=-at.highest.height+O/2:d==="near"||v!==0?$=O/2:d==="center"?$=at.highest.height/2-q*O:$=at.highest.height-U*O,g&&($*=-1),v!==0&&!ot.showLabelBackdrop&&(L+=O/2*Math.sin(v))):(N=T,$=(1-U)*O/2);let P;if(ot.showLabelBackdrop){const W=we(ot.backdropPadding),j=at.heights[C],pt=at.widths[C];let lt=$-W.top,et=0-W.left;switch(it){case"middle":lt-=j/2;break;case"bottom":lt-=j;break}switch(B){case"center":et-=pt/2;break;case"right":et-=pt;break;case"inner":C===R-1?et-=pt:C>0&&(et-=pt/2);break}P={left:et,top:lt,width:pt+W.width,height:j+W.height,color:ot.backdropColor}}M.push({label:I,font:S,textOffset:$,options:{rotation:v,color:J,strokeColor:rt,strokeWidth:tt,textAlign:G,textBaseline:it,translation:[L,N],backdrop:P}})}return M}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-xe(this.labelRotation))return t==="top"?"left":"right";let r="center";return e.align==="start"?r="left":e.align==="end"?r="right":e.align==="inner"&&(r="inner"),r}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:r,padding:s}}=this.options,a=this._getLabelSizes(),l=t+s,u=a.widest.width;let d,h;return e==="left"?r?(h=this.right+s,i==="near"?d="left":i==="center"?(d="center",h+=u/2):(d="right",h+=u)):(h=this.right-l,i==="near"?d="right":i==="center"?(d="center",h-=u/2):(d="left",h=this.left)):e==="right"?r?(h=this.left+s,i==="near"?d="right":i==="center"?(d="center",h-=u/2):(d="left",h-=u)):(h=this.left+l,i==="near"?d="left":i==="center"?(d="center",h+=u/2):(d="right",h=this.right)):d="right",{textAlign:d,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:r,width:s,height:a}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,r,s,a),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const r=this.ticks.findIndex(s=>s.value===t);return r>=0?e.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const e=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,a;const l=(u,d,h)=>{!h.width||!h.color||(i.save(),i.lineWidth=h.width,i.strokeStyle=h.color,i.setLineDash(h.borderDash||[]),i.lineDashOffset=h.borderDashOffset,i.beginPath(),i.moveTo(u.x,u.y),i.lineTo(d.x,d.y),i.stroke(),i.restore())};if(e.display)for(s=0,a=r.length;s<a;++s){const u=r[s];e.drawOnChartArea&&l({x:u.x1,y:u.y1},{x:u.x2,y:u.y2},u),e.drawTicks&&l({x:u.tx1,y:u.ty1},{x:u.tx2,y:u.ty2},{color:u.tickColor,width:u.tickWidth,borderDash:u.tickBorderDash,borderDashOffset:u.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{border:i,grid:r}}=this,s=i.setContext(this.getContext()),a=i.display?s.width:0;if(!a)return;const l=r.setContext(this.getContext(0)).lineWidth,u=this._borderValue;let d,h,g,y;this.isHorizontal()?(d=or(t,this.left,a)-a/2,h=or(t,this.right,l)+l/2,g=y=u):(g=or(t,this.top,a)-a/2,y=or(t,this.bottom,l)+l/2,d=h=u),e.save(),e.lineWidth=s.width,e.strokeStyle=s.color,e.beginPath(),e.moveTo(d,g),e.lineTo(h,y),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const i=this.ctx,r=this._computeLabelArea();r&&js(i,r);const s=this.getLabelItems(t);for(const a of s){const l=a.options,u=a.font,d=a.label,h=a.textOffset;ar(i,d,0,h,u,l)}r&&Gs(i)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:r}}=this;if(!i.display)return;const s=le(i.font),a=we(i.padding),l=i.align;let u=s.lineHeight/2;e==="bottom"||e==="center"||Pt(e)?(u+=a.bottom,qt(i.text)&&(u+=s.lineHeight*(i.text.length-1))):u+=a.top;const{titleX:d,titleY:h,maxWidth:g,rotation:y}=dC(this,u,e,l);ar(t,i.text,0,0,s,{color:i.color,maxWidth:g,rotation:y,textAlign:uC(l,e,r),textBaseline:"middle",translation:[d,h]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=Mt(t.grid&&t.grid.z,-1),r=Mt(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==dr.prototype.draw?[{z:e,draw:s=>{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:e,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,a;for(s=0,a=e.length;s<a;++s){const l=e[s];l[i]===this.id&&(!t||l.type===t)&&r.push(l)}return r}_resolveTickFontOptions(t){const e=this.options.ticks.setContext(this.getContext(t));return le(e.font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class La{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;pC(e)&&(i=this.register(e));const r=this.items,s=t.id,a=this.scope+"."+s;if(!s)throw new Error("class does not have id: "+t);return s in r||(r[s]=t,fC(t,a,i),this.override&&se.override(t.id,t.overrides)),a}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,r=this.scope;i in e&&delete e[i],r&&i in se[r]&&(delete se[r][i],this.override&&delete sr[i])}}function fC(n,t,e){const i=Us(Object.create(null),[e?se.get(e):{},se.get(t),n.defaults]);se.set(t,i),n.defaultRoutes&&hC(t,n.defaultRoutes),n.descriptors&&se.describe(t,n.descriptors)}function hC(n,t){Object.keys(t).forEach(e=>{const i=e.split("."),r=i.pop(),s=[n].concat(i).join("."),a=t[e].split("."),l=a.pop(),u=a.join(".");se.route(s,r,u,l)})}function pC(n){return"id"in n&&"defaults"in n}class gC{constructor(){this.controllers=new La(Ei,"datasets",!0),this.elements=new La(Ve,"elements"),this.plugins=new La(Object,"plugins"),this.scales=new La(dr,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):Jt(r,a=>{const l=i||this._getRegistryForType(a);this._exec(t,l,a)})})}_exec(t,e,i){const r=Yc(t);Qt(i["before"+r],[],i),e[t](i),Qt(i["after"+r],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const r=e.get(t);if(r===void 0)throw new Error('"'+t+'" is not a registered '+i+".");return r}}var qn=new gC;class mC{constructor(){this._init=void 0}notify(t,e,i,r){if(e==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install")),this._init===void 0)return;const s=r?this._descriptors(t).filter(r):this._descriptors(t),a=this._notify(s,t,e,i);return e==="afterDestroy"&&(this._notify(s,t,"stop"),this._notify(this._init,t,"uninstall"),this._init=void 0),a}_notify(t,e,i,r){r=r||{};for(const s of t){const a=s.plugin,l=a[i],u=[e,r,s.options];if(Qt(l,u,a)===!1&&r.cancelable)return!1}return!0}invalidate(){xt(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,r=Mt(i.options&&i.options.plugins,{}),s=yC(i);return r===!1&&!e?[]:bC(t,s,r,e)}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,r=(s,a)=>s.filter(l=>!a.some(u=>l.plugin.id===u.plugin.id));this._notify(r(e,i),t,"stop"),this._notify(r(i,e),t,"start")}}function yC(n){const t={},e=[],i=Object.keys(qn.plugins.items);for(let s=0;s<i.length;s++)e.push(qn.getPlugin(i[s]));const r=n.plugins||[];for(let s=0;s<r.length;s++){const a=r[s];e.indexOf(a)===-1&&(e.push(a),t[a.id]=!0)}return{plugins:e,localIds:t}}function _C(n,t){return!t&&n===!1?null:n===!0?{}:n}function bC(n,{plugins:t,localIds:e},i,r){const s=[],a=n.getContext();for(const l of t){const u=l.id,d=_C(i[u],r);d!==null&&s.push({plugin:l,options:xC(n.config,{plugin:l,local:e[u]},d,a)})}return s}function xC(n,{plugin:t,local:e},i,r){const s=n.pluginScopeKeys(t),a=n.getOptionScopes(i,s);return e&&t.defaults&&a.push(t.defaults),n.createResolver(a,r,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function mu(n,t){const e=se.datasets[n]||{};return((t.datasets||{})[n]||{}).indexAxis||t.indexAxis||e.indexAxis||"x"}function wC(n,t){let e=n;return n==="_index_"?e=t:n==="_value_"&&(e=t==="x"?"y":"x"),e}function vC(n,t){return n===t?"_index_":"_value_"}function Yg(n){if(n==="x"||n==="y"||n==="r")return n}function SC(n){if(n==="top"||n==="bottom")return"x";if(n==="left"||n==="right")return"y"}function yu(n,...t){if(Yg(n))return n;for(const e of t){const i=e.axis||SC(e.position)||n.length>1&&Yg(n[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${n}' axis. Please provide 'axis' or 'position' option.`)}function qg(n,t,e){if(e[t+"AxisID"]===n)return{axis:t}}function TC(n,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(i=>i.xAxisID===n||i.yAxisID===n);if(e.length)return qg(n,"x",e[0])||qg(n,"y",e[0])}return{}}function MC(n,t){const e=sr[n.type]||{scales:{}},i=t.scales||{},r=mu(n.type,t),s=Object.create(null);return Object.keys(i).forEach(a=>{const l=i[a];if(!Pt(l))return console.error(`Invalid scale configuration for scale: ${a}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const u=yu(a,l,TC(a,n),se.scales[l.type]),d=vC(u,r),h=e.scales||{};s[a]=Hs(Object.create(null),[{axis:u},l,h[u],h[d]])}),n.data.datasets.forEach(a=>{const l=a.type||n.type,u=a.indexAxis||mu(l,t),h=(sr[l]||{}).scales||{};Object.keys(h).forEach(g=>{const y=wC(g,u),_=a[y+"AxisID"]||y;s[_]=s[_]||Object.create(null),Hs(s[_],[{axis:y},i[_],h[g]])})}),Object.keys(s).forEach(a=>{const l=s[a];Hs(l,[se.scales[l.type],se.scale])}),s}function jg(n){const t=n.options||(n.options={});t.plugins=Mt(t.plugins,{}),t.scales=MC(n,t)}function Gg(n){return n=n||{},n.datasets=n.datasets||[],n.labels=n.labels||[],n}function kC(n){return n=n||{},n.data=Gg(n.data),jg(n),n}const Kg=new Map,Xg=new Set;function Na(n,t){let e=Kg.get(n);return e||(e=t(),Kg.set(n,e),Xg.add(e)),e}const ro=(n,t,e)=>{const i=Mi(t,e);i!==void 0&&n.add(i)};class DC{constructor(t){this._config=kC(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Gg(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),jg(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Na(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return Na(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return Na(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,i=this.type;return Na(`${i}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const i=this._scopeCache;let r=i.get(t);return(!r||e)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,e,i){const{options:r,type:s}=this,a=this._cachedScopes(t,i),l=a.get(e);if(l)return l;const u=new Set;e.forEach(h=>{t&&(u.add(t),h.forEach(g=>ro(u,t,g))),h.forEach(g=>ro(u,r,g)),h.forEach(g=>ro(u,sr[s]||{},g)),h.forEach(g=>ro(u,se,g)),h.forEach(g=>ro(u,Zc,g))});const d=Array.from(u);return d.length===0&&d.push(Object.create(null)),Xg.has(e)&&a.set(e,d),d}chartOptionScopes(){const{options:t,type:e}=this;return[t,sr[e]||{},se.datasets[e]||{},{type:e},se,Zc]}resolveNamedOptions(t,e,i,r=[""]){const s={$shared:!0},{resolver:a,subPrefixes:l}=Zg(this._resolverCache,t,r);let u=a;if(OC(a,e)){s.$shared=!1,i=nn(i)?i():i;const d=this.createResolver(t,i,l);u=Wr(a,i,d)}for(const d of e)s[d]=u[d];return s}createResolver(t,e,i=[""],r){const{resolver:s}=Zg(this._resolverCache,t,i);return Pt(e)?Wr(s,e,void 0,r):s}}function Zg(n,t,e){let i=n.get(t);i||(i=new Map,n.set(t,i));const r=e.join();let s=i.get(r);return s||(s={resolver:eu(t,e),subPrefixes:e.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const CC=n=>Pt(n)&&Object.getOwnPropertyNames(n).some(t=>nn(n[t]));function OC(n,t){const{isScriptable:e,isIndexable:i}=Kp(n);for(const r of t){const s=e(r),a=i(r),l=(a||s)&&n[r];if(s&&(nn(l)||CC(l))||a&&qt(l))return!0}return!1}var AC="4.5.1";const RC=["top","bottom","left","right","chartArea"];function Qg(n,t){return n==="top"||n==="bottom"||RC.indexOf(n)===-1&&t==="x"}function Jg(n,t){return function(e,i){return e[n]===i[n]?e[t]-i[t]:e[n]-i[n]}}function tm(n){const t=n.chart,e=t.options.animation;t.notifyPlugins("afterRender"),Qt(e&&e.onComplete,[n],t)}function EC(n){const t=n.chart,e=t.options.animation;Qt(e&&e.onProgress,[n],t)}function em(n){return ru()&&typeof n=="string"?n=document.getElementById(n):n&&n.length&&(n=n[0]),n&&n.canvas&&(n=n.canvas),n}const Ba={},nm=n=>{const t=em(n);return Object.values(Ba).filter(e=>e.canvas===t).pop()};function PC(n,t,e){const i=Object.keys(n);for(const r of i){const s=+r;if(s>=t){const a=n[r];delete n[r],(e>0||s>t)&&(n[s+e]=a)}}}function IC(n,t,e,i){return!e||n.type==="mouseout"?null:i?t:n}let rn=class{static defaults=se;static instances=Ba;static overrides=sr;static registry=qn;static version=AC;static getChart=nm;static register(...t){qn.add(...t),im()}static unregister(...t){qn.remove(...t),im()}constructor(t,e){const i=this.config=new DC(e),r=em(t),s=nm(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const a=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||QD(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,a.aspectRatio),u=l&&l.canvas,d=u&&u.height,h=u&&u.width;if(this.id=LM(),this.ctx=l,this.canvas=u,this.width=h,this.height=d,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new mC,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ZM(g=>this.update(g),a.resizeDelay||0),this._dataChanges=[],Ba[this.id]=this,!l||!u){console.error("Failed to create chart: can't acquire context from the given item");return}si.listen(this,"complete",tm),si.listen(this,"progress",EC),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:r,_aspectRatio:s}=this;return xt(t)?e&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return qn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ig(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return qp(this.canvas,this.ctx),this}stop(){return si.stop(this),this}resize(t,e){si.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(r,t,e,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),u=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,ig(this,l,!0)&&(this.notifyPlugins("resize",{size:a}),Qt(i.onResize,[this,a],this),this.attached&&this._doResize(u)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};Jt(e,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,r=Object.keys(i).reduce((a,l)=>(a[l]=!1,a),{});let s=[];e&&(s=s.concat(Object.keys(e).map(a=>{const l=e[a],u=yu(a,l),d=u==="r",h=u==="x";return{options:l,dposition:d?"chartArea":h?"bottom":"left",dtype:d?"radialLinear":h?"category":"linear"}}))),Jt(s,a=>{const l=a.options,u=l.id,d=yu(u,l),h=Mt(l.type,a.dtype);(l.position===void 0||Qg(l.position,d)!==Qg(a.dposition))&&(l.position=a.dposition),r[u]=!0;let g=null;if(u in i&&i[u].type===h)g=i[u];else{const y=qn.getScale(h);g=new y({id:u,type:h,ctx:this.ctx,chart:this}),i[g.id]=g}g.init(l,t)}),Jt(r,(a,l)=>{a||delete i[l]}),Jt(i,a=>{We.configure(this,a,a.options),We.addBox(this,a)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>e){for(let r=e;r<i;++r)this._destroyDatasetMeta(r);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(Jg("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach((i,r)=>{e.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=e.length;i<r;i++){const s=e[i];let a=this.getDatasetMeta(i);const l=s.type||this.config.type;if(a.type&&a.type!==l&&(this._destroyDatasetMeta(i),a=this.getDatasetMeta(i)),a.type=l,a.indexAxis=s.indexAxis||mu(l,this.options),a.order=s.order||0,a.index=i,a.label=""+s.label,a.visible=this.isDatasetVisible(i),a.controller)a.controller.updateIndex(i),a.controller.linkScales();else{const u=qn.getController(l),{datasetElementType:d,dataElementType:h}=se.datasets[l];Object.assign(u,{dataElementType:qn.getElement(h),datasetElementType:d&&qn.getElement(d)}),a.controller=new u(this,i),t.push(a.controller)}}return this._updateMetasets(),t}_resetElements(){Jt(this.data.datasets,(t,e)=>{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let d=0,h=this.data.datasets.length;d<h;d++){const{controller:g}=this.getDatasetMeta(d),y=!r&&s.indexOf(g)===-1;g.buildOrUpdateElements(y),a=Math.max(+g.getMaxOverflow(),a)}a=this._minPadding=i.layout.autoPadding?a:0,this._updateLayout(a),r||Jt(s,d=>{d.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Jg("z","_idx"));const{_active:l,_lastEvent:u}=this;u?this._eventHandler(u,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){Jt(this.scales,t=>{We.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Rp(e,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of e){const a=i==="_removeElements"?-s:s;PC(t,r,a)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=s=>new Set(t.filter(a=>a[0]===s).map((a,l)=>l+","+a.splice(1).join(","))),r=i(0);for(let s=1;s<e;s++)if(!Rp(r,i(s)))return;return Array.from(r).map(s=>s.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;We.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],Jt(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,i=this.data.datasets.length;e<i;++e)this.getDatasetMeta(e).controller.configure();for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,nn(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),r={meta:i,index:t,mode:e,cancelable:!0};this.notifyPlugins("beforeDatasetUpdate",r)!==!1&&(i.controller._update(e),r.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",r))}render(){this.notifyPlugins("beforeRender",{cancelable:!0})!==!1&&(si.has(this)?this.attached&&!si.running(this)&&si.start(this):(this.draw(),tm({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:i,height:r}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(i,r)}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins("beforeDraw",{cancelable:!0})===!1)return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let r,s;for(r=0,s=e.length;r<s;++r){const a=e[r];(!t||a.visible)&&i.push(a)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0})===!1)return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i={meta:t,index:t.index,cancelable:!0},r=hg(this,t);this.notifyPlugins("beforeDatasetDraw",i)!==!1&&(r&&js(e,r),t.controller.draw(),r&&Gs(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return ri(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,r){const s=pu.modes[e];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===e).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=Oi(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!e.hidden}setDatasetVisibility(t,e){const i=this.getDatasetMeta(t);i.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),a=s.controller._resolveAnimations(void 0,r);en(e)?(s.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),a.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),si.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),qp(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),delete Ba[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(s,a)=>{e.addEventListener(this,s,a),t[s]=a},r=(s,a,l)=>{s.offsetX=a,s.offsetY=l,this._eventHandler(s)};Jt(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(u,d)=>{e.addEventListener(this,u,d),t[u]=d},r=(u,d)=>{t[u]&&(e.removeEventListener(this,u,d),delete t[u])},s=(u,d)=>{this.canvas&&this.resize(u,d)};let a;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",a)};a=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},e.isAttached(this.canvas)?l():a()}unbindEvents(){Jt(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},Jt(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const r=i?"set":"remove";let s,a,l,u;for(e==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,u=t.length;l<u;++l){a=t[l];const d=a&&this.getDatasetMeta(a.datasetIndex).controller;d&&d[r+"HoverStyle"](a.element,a.datasetIndex,a.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map(({datasetIndex:s,index:a})=>{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[a],index:a}});!ya(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,i){const r=this.options.hover,s=(u,d)=>u.filter(h=>!d.some(g=>h.datasetIndex===g.datasetIndex&&h.index===g.index)),a=s(e,t),l=i?t:s(t,e);a.length&&this.updateHoverStyle(a,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},r=a=>(a.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:r=[],options:s}=this,a=e,l=this._getActiveElements(t,r,i,a),u=HM(t),d=IC(t,this._lastEvent,i,u);i&&(this._lastEvent=null,Qt(s.onHover,[t,l,this],this),u&&Qt(s.onClick,[t,l,this],this));const h=!ya(l,r);return(h||e)&&(this._active=l,this._updateHoverStyles(l,r,e)),this._lastEvent=d,h}_getActiveElements(t,e,i,r){if(t.type==="mouseout")return[];if(!i)return e;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}};function im(){return Jt(rn.instances,n=>n._plugins.invalidate())}function LC(n,t,e){const{startAngle:i,x:r,y:s,outerRadius:a,innerRadius:l,options:u}=t,{borderWidth:d,borderJoinStyle:h}=u,g=Math.min(d/a,Ue(i-e));if(n.beginPath(),n.arc(r,s,a-d/2,i+g/2,e-g/2),l>0){const y=Math.min(d/l,Ue(i-e));n.arc(r,s,l+d/2,e-y/2,i+y/2,!0)}else{const y=Math.min(d/2,a*Ue(i-e));if(h==="round")n.arc(r,s,y,e-Rt/2,i+Rt/2,!0);else if(h==="bevel"){const _=2*y*y,x=-_*Math.cos(e+Rt/2)+r,v=-_*Math.sin(e+Rt/2)+s,M=_*Math.cos(i+Rt/2)+r,C=_*Math.sin(i+Rt/2)+s;n.lineTo(x,v),n.lineTo(M,C)}}n.closePath(),n.moveTo(0,0),n.rect(0,0,n.canvas.width,n.canvas.height),n.clip("evenodd")}function NC(n,t,e){const{startAngle:i,pixelMargin:r,x:s,y:a,outerRadius:l,innerRadius:u}=t;let d=r/l;n.beginPath(),n.arc(s,a,l,i-d,e+d),u>r?(d=r/u,n.arc(s,a,u,e+d,i-d,!0)):n.arc(s,a,r,e+re,i-re),n.closePath(),n.clip()}function BC(n){return tu(n,["outerStart","outerEnd","innerStart","innerEnd"])}function FC(n,t,e,i){const r=BC(n.options.borderRadius),s=(e-t)/2,a=Math.min(s,i*t/2),l=u=>{const d=(e-Math.min(s,u))*i/2;return Ce(u,0,Math.min(s,d))};return{outerStart:l(r.outerStart),outerEnd:l(r.outerEnd),innerStart:Ce(r.innerStart,0,a),innerEnd:Ce(r.innerEnd,0,a)}}function Yr(n,t,e,i){return{x:e+n*Math.cos(t),y:i+n*Math.sin(t)}}function Fa(n,t,e,i,r,s){const{x:a,y:l,startAngle:u,pixelMargin:d,innerRadius:h}=t,g=Math.max(t.outerRadius+i+e-d,0),y=h>0?h+i+e+d:0;let _=0;const x=r-u;if(i){const ot=h>0?h-i:0,q=g>0?g-i:0,J=(ot+q)/2,rt=J!==0?x*J/(J+i):x;_=(x-rt)/2}const v=Math.max(.001,x*g-e/Rt)/g,M=(x-v)/2,C=u+M+_,R=r-M-_,{outerStart:F,outerEnd:I,innerStart:L,innerEnd:N}=FC(t,y,g,R-C),B=g-F,T=g-I,S=C+F/B,O=R-I/T,U=y+L,$=y+N,it=C+L/U,at=R-N/$;if(n.beginPath(),s){const ot=(S+O)/2;if(n.arc(a,l,g,S,ot),n.arc(a,l,g,ot,O),I>0){const tt=Yr(T,O,a,l);n.arc(tt.x,tt.y,I,O,R+re)}const q=Yr($,R,a,l);if(n.lineTo(q.x,q.y),N>0){const tt=Yr($,at,a,l);n.arc(tt.x,tt.y,N,R+re,at+Math.PI)}const J=(R-N/y+(C+L/y))/2;if(n.arc(a,l,y,R-N/y,J,!0),n.arc(a,l,y,J,C+L/y,!0),L>0){const tt=Yr(U,it,a,l);n.arc(tt.x,tt.y,L,it+Math.PI,C-re)}const rt=Yr(B,C,a,l);if(n.lineTo(rt.x,rt.y),F>0){const tt=Yr(B,S,a,l);n.arc(tt.x,tt.y,F,C-re,S)}}else{n.moveTo(a,l);const ot=Math.cos(S)*g+a,q=Math.sin(S)*g+l;n.lineTo(ot,q);const J=Math.cos(O)*g+a,rt=Math.sin(O)*g+l;n.lineTo(J,rt)}n.closePath()}function zC(n,t,e,i,r){const{fullCircles:s,startAngle:a,circumference:l}=t;let u=t.endAngle;if(s){Fa(n,t,e,i,u,r);for(let d=0;d<s;++d)n.fill();isNaN(l)||(u=a+(l%te||te))}return Fa(n,t,e,i,u,r),n.fill(),u}function UC(n,t,e,i,r){const{fullCircles:s,startAngle:a,circumference:l,options:u}=t,{borderWidth:d,borderJoinStyle:h,borderDash:g,borderDashOffset:y,borderRadius:_}=u,x=u.borderAlign==="inner";if(!d)return;n.setLineDash(g||[]),n.lineDashOffset=y,x?(n.lineWidth=d*2,n.lineJoin=h||"round"):(n.lineWidth=d,n.lineJoin=h||"bevel");let v=t.endAngle;if(s){Fa(n,t,e,i,v,r);for(let M=0;M<s;++M)n.stroke();isNaN(l)||(v=a+(l%te||te))}x&&NC(n,t,v),u.selfJoin&&v-a>=Rt&&_===0&&h!=="miter"&&LC(n,t,v),s||(Fa(n,t,e,i,v,r),n.stroke())}class HC extends Ve{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const r=this.getProps(["x","y"],i),{angle:s,distance:a}=va(r,{x:t,y:e}),{startAngle:l,endAngle:u,innerRadius:d,outerRadius:h,circumference:g}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),y=(this.options.spacing+this.options.borderWidth)/2,_=Mt(g,u-l),x=Vs(s,l,u)&&l!==u,v=_>=te||x,M=ni(a,d+y,h+y);return v&&M}getCenterPoint(t){const{x:e,y:i,startAngle:r,endAngle:s,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:u,spacing:d}=this.options,h=(r+s)/2,g=(a+l+d+u)/2;return{x:e+Math.cos(h)*g,y:i+Math.sin(h)*g}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,r=(e.offset||0)/4,s=(e.spacing||0)/2,a=e.circular;if(this.pixelMargin=e.borderAlign==="inner"?.33:0,this.fullCircles=i>te?Math.floor(i/te):0,i===0||this.innerRadius<0||this.outerRadius<0)return;t.save();const l=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(l)*r,Math.sin(l)*r);const u=1-Math.sin(Math.min(Rt,i||0)),d=r*u;t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,zC(t,this,d,s,a),UC(t,this,d,s,a),t.restore()}}function rm(n,t,e=t){n.lineCap=Mt(e.borderCapStyle,t.borderCapStyle),n.setLineDash(Mt(e.borderDash,t.borderDash)),n.lineDashOffset=Mt(e.borderDashOffset,t.borderDashOffset),n.lineJoin=Mt(e.borderJoinStyle,t.borderJoinStyle),n.lineWidth=Mt(e.borderWidth,t.borderWidth),n.strokeStyle=Mt(e.borderColor,t.borderColor)}function WC(n,t,e){n.lineTo(e.x,e.y)}function VC(n){return n.stepped?ck:n.tension||n.cubicInterpolationMode==="monotone"?uk:WC}function sm(n,t,e={}){const i=n.length,{start:r=0,end:s=i-1}=e,{start:a,end:l}=t,u=Math.max(r,a),d=Math.min(s,l),h=r<a&&s<a||r>l&&s>l;return{count:i,start:u,loop:t.loop,ilen:d<u&&!h?i+d-u:d-u}}function $C(n,t,e,i){const{points:r,options:s}=t,{count:a,start:l,loop:u,ilen:d}=sm(r,e,i),h=VC(s);let{move:g=!0,reverse:y}=i||{},_,x,v;for(_=0;_<=d;++_)x=r[(l+(y?d-_:_))%a],!x.skip&&(g?(n.moveTo(x.x,x.y),g=!1):h(n,v,x,y,s.stepped),v=x);return u&&(x=r[(l+(y?d:0))%a],h(n,v,x,y,s.stepped)),!!u}function YC(n,t,e,i){const r=t.points,{count:s,start:a,ilen:l}=sm(r,e,i),{move:u=!0,reverse:d}=i||{};let h=0,g=0,y,_,x,v,M,C;const R=I=>(a+(d?l-I:I))%s,F=()=>{v!==M&&(n.lineTo(h,M),n.lineTo(h,v),n.lineTo(h,C))};for(u&&(_=r[R(0)],n.moveTo(_.x,_.y)),y=0;y<=l;++y){if(_=r[R(y)],_.skip)continue;const I=_.x,L=_.y,N=I|0;N===x?(L<v?v=L:L>M&&(M=L),h=(g*h+I)/++g):(F(),n.lineTo(I,L),x=N,g=0,v=M=L),C=L}F()}function _u(n){const t=n.options,e=t.borderDash&&t.borderDash.length;return!n._decimated&&!n._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?YC:$C}function qC(n){return n.stepped?Wk:n.tension||n.cubicInterpolationMode==="monotone"?Vk:cr}function jC(n,t,e,i){let r=t._path;r||(r=t._path=new Path2D,t.path(r,e,i)&&r.closePath()),rm(n,t.options),n.stroke(r)}function GC(n,t,e,i){const{segments:r,options:s}=t,a=_u(t);for(const l of r)rm(n,s,l.style),n.beginPath(),a(n,t,l,{start:e,end:e+i-1})&&n.closePath(),n.stroke()}const KC=typeof Path2D=="function";function XC(n,t,e,i){KC&&!t.options.segment?jC(n,t,e,i):GC(n,t,e,i)}class za extends Ve{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){const r=i.spanGaps?this._loop:this._fullLoop;Ik(this._points,i,t,r,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Kk(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,r=t[e],s=this.points,a=ug(this,{property:e,start:r,end:r});if(!a.length)return;const l=[],u=qC(i);let d,h;for(d=0,h=a.length;d<h;++d){const{start:g,end:y}=a[d],_=s[g],x=s[y];if(_===x){l.push(_);continue}const v=Math.abs((r-_[e])/(x[e]-_[e])),M=u(_,x,v,i.stepped);M[e]=t[e],l.push(M)}return l.length===1?l[0]:l}pathSegment(t,e,i){return _u(this)(t,this,e,i)}path(t,e,i){const r=this.segments,s=_u(this);let a=this._loop;e=e||0,i=i||this.points.length-e;for(const l of r)a&=s(t,this,l,{start:e,end:e+i-1});return!!a}draw(t,e,i,r){const s=this.options||{};(this.points||[]).length&&s.borderWidth&&(t.save(),XC(t,this,i,r),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function om(n,t,e,i){const r=n.options,{[e]:s}=n.getProps([e],i);return Math.abs(t-s)<r.radius+r.hitRadius}class ZC extends Ve{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const r=this.options,{x:s,y:a}=this.getProps(["x","y"],i);return Math.pow(t-s,2)+Math.pow(e-a,2)<Math.pow(r.hitRadius+r.radius,2)}inXRange(t,e){return om(this,t,"x",e)}inYRange(t,e){return om(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){t=t||this.options||{};let e=t.radius||0;e=Math.max(e,e&&t.hoverRadius||0);const i=e&&t.borderWidth||0;return(e+i)*2}draw(t,e){const i=this.options;this.skip||i.radius<.1||!ri(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,Jc(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}function am(n,t){const{x:e,y:i,base:r,width:s,height:a}=n.getProps(["x","y","base","width","height"],t);let l,u,d,h,g;return n.horizontal?(g=a/2,l=Math.min(e,r),u=Math.max(e,r),d=i-g,h=i+g):(g=s/2,l=e-g,u=e+g,d=Math.min(i,r),h=Math.max(i,r)),{left:l,top:d,right:u,bottom:h}}function Pi(n,t,e,i){return n?0:Ce(t,e,i)}function QC(n,t,e){const i=n.options.borderWidth,r=n.borderSkipped,s=Gp(i);return{t:Pi(r.top,s.top,0,e),r:Pi(r.right,s.right,0,t),b:Pi(r.bottom,s.bottom,0,e),l:Pi(r.left,s.left,0,t)}}function JC(n,t,e){const{enableBorderRadius:i}=n.getProps(["enableBorderRadius"]),r=n.options.borderRadius,s=Ci(r),a=Math.min(t,e),l=n.borderSkipped,u=i||Pt(r);return{topLeft:Pi(!u||l.top||l.left,s.topLeft,0,a),topRight:Pi(!u||l.top||l.right,s.topRight,0,a),bottomLeft:Pi(!u||l.bottom||l.left,s.bottomLeft,0,a),bottomRight:Pi(!u||l.bottom||l.right,s.bottomRight,0,a)}}function tO(n){const t=am(n),e=t.right-t.left,i=t.bottom-t.top,r=QC(n,e/2,i/2),s=JC(n,e/2,i/2);return{outer:{x:t.left,y:t.top,w:e,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:e-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function bu(n,t,e,i){const r=t===null,s=e===null,l=n&&!(r&&s)&&am(n,i);return l&&(r||ni(t,l.left,l.right))&&(s||ni(e,l.top,l.bottom))}function eO(n){return n.topLeft||n.topRight||n.bottomLeft||n.bottomRight}function nO(n,t){n.rect(t.x,t.y,t.w,t.h)}function xu(n,t,e={}){const i=n.x!==e.x?-t:0,r=n.y!==e.y?-t:0,s=(n.x+n.w!==e.x+e.w?t:0)-i,a=(n.y+n.h!==e.y+e.h?t:0)-r;return{x:n.x+i,y:n.y+r,w:n.w+s,h:n.h+a,radius:n.radius}}class iO extends Ve{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:a}=tO(this),l=eO(a.radius)?Hr:nO;t.save(),(a.w!==s.w||a.h!==s.h)&&(t.beginPath(),l(t,xu(a,e,s)),t.clip(),l(t,xu(s,-e,a)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,xu(s,e)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,e,i){return bu(this,t,e,i)}inXRange(t,e){return bu(this,t,null,e)}inYRange(t,e){return bu(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(e+r)/2:e,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}var rO=Object.freeze({__proto__:null,ArcElement:HC,BarElement:iO,LineElement:za,PointElement:ZC});const wu=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],lm=wu.map(n=>n.replace("rgb(","rgba(").replace(")",", 0.5)"));function cm(n){return wu[n%wu.length]}function um(n){return lm[n%lm.length]}function sO(n,t){return n.borderColor=cm(t),n.backgroundColor=um(t),++t}function oO(n,t){return n.backgroundColor=n.data.map(()=>cm(t++)),t}function aO(n,t){return n.backgroundColor=n.data.map(()=>um(t++)),t}function lO(n){let t=0;return(e,i)=>{const r=n.getDatasetMeta(i).controller;r instanceof Zs?t=oO(e,t):r instanceof Dg?t=aO(e,t):r&&(t=sO(e,t))}}function dm(n){let t;for(t in n)if(n[t].borderColor||n[t].backgroundColor)return!0;return!1}function cO(n){return n&&(n.borderColor||n.backgroundColor)}function uO(){return se.borderColor!=="rgba(0,0,0,0.1)"||se.backgroundColor!=="rgba(0,0,0,0.1)"}var dO={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(n,t,e){if(!e.enabled)return;const{data:{datasets:i},options:r}=n.config,{elements:s}=r,a=dm(i)||cO(r)||s&&dm(s)||uO();if(!e.forceOverride&&a)return;const l=lO(n);i.forEach(l)}};function fO(n,t,e,i,r){const s=r.samples||i;if(s>=e)return n.slice(t,t+e);const a=[],l=(e-2)/(s-2);let u=0;const d=t+e-1;let h=t,g,y,_,x,v;for(a[u++]=n[h],g=0;g<s-2;g++){let M=0,C=0,R;const F=Math.floor((g+1)*l)+1+t,I=Math.min(Math.floor((g+2)*l)+1,e)+t,L=I-F;for(R=F;R<I;R++)M+=n[R].x,C+=n[R].y;M/=L,C/=L;const N=Math.floor(g*l)+1+t,B=Math.min(Math.floor((g+1)*l)+1,e)+t,{x:T,y:S}=n[h];for(_=x=-1,R=N;R<B;R++)x=.5*Math.abs((T-M)*(n[R].y-S)-(T-n[R].x)*(C-S)),x>_&&(_=x,y=n[R],v=R);a[u++]=y,h=v}return a[u++]=n[d],a}function hO(n,t,e,i){let r=0,s=0,a,l,u,d,h,g,y,_,x,v;const M=[],C=t+e-1,R=n[t].x,I=n[C].x-R;for(a=t;a<t+e;++a){l=n[a],u=(l.x-R)/I*i,d=l.y;const L=u|0;if(L===h)d<x?(x=d,g=a):d>v&&(v=d,y=a),r=(s*r+l.x)/++s;else{const N=a-1;if(!xt(g)&&!xt(y)){const B=Math.min(g,y),T=Math.max(g,y);B!==_&&B!==N&&M.push({...n[B],x:r}),T!==_&&T!==N&&M.push({...n[T],x:r})}a>0&&N!==_&&M.push(n[N]),M.push(l),h=L,s=0,x=v=d,g=y=_=a}}return M}function fm(n){if(n._decimated){const t=n._data;delete n._decimated,delete n._data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function hm(n){n.data.datasets.forEach(t=>{fm(t)})}function pO(n,t){const e=t.length;let i=0,r;const{iScale:s}=n,{min:a,max:l,minDefined:u,maxDefined:d}=s.getUserBounds();return u&&(i=Ce(ii(t,s.axis,a).lo,0,e-1)),d?r=Ce(ii(t,s.axis,l).hi+1,i,e)-i:r=e-i,{start:i,count:r}}var gO={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(n,t,e)=>{if(!e.enabled){hm(n);return}const i=n.width;n.data.datasets.forEach((r,s)=>{const{_data:a,indexAxis:l}=r,u=n.getDatasetMeta(s),d=a||r.data;if(Ks([l,n.options.indexAxis])==="y"||!u.controller.supportsDecimation)return;const h=n.scales[u.xAxisID];if(h.type!=="linear"&&h.type!=="time"||n.options.parsing)return;let{start:g,count:y}=pO(u,d);const _=e.threshold||4*i;if(y<=_){fm(r);return}xt(a)&&(r._data=d,delete r.data,Object.defineProperty(r,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(v){this._data=v}}));let x;switch(e.algorithm){case"lttb":x=fO(d,g,y,i,e);break;case"min-max":x=hO(d,g,y,i);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}r._decimated=x})},destroy(n){hm(n)}};function mO(n,t,e){const i=n.segments,r=n.points,s=t.points,a=[];for(const l of i){let{start:u,end:d}=l;d=Ua(u,d,r);const h=vu(e,r[u],r[d],l.loop);if(!t.segments){a.push({source:l,target:h,start:r[u],end:r[d]});continue}const g=ug(t,h);for(const y of g){const _=vu(e,s[y.start],s[y.end],y.loop),x=cg(l,r,_);for(const v of x)a.push({source:v,target:y,start:{[e]:pm(h,_,"start",Math.max)},end:{[e]:pm(h,_,"end",Math.min)}})}}return a}function vu(n,t,e,i){if(i)return;let r=t[n],s=e[n];return n==="angle"&&(r=Ue(r),s=Ue(s)),{property:n,start:r,end:s}}function yO(n,t){const{x:e=null,y:i=null}=n||{},r=t.points,s=[];return t.segments.forEach(({start:a,end:l})=>{l=Ua(a,l,r);const u=r[a],d=r[l];i!==null?(s.push({x:u.x,y:i}),s.push({x:d.x,y:i})):e!==null&&(s.push({x:e,y:u.y}),s.push({x:e,y:d.y}))}),s}function Ua(n,t,e){for(;t>n;t--){const i=e[t];if(!isNaN(i.x)&&!isNaN(i.y))break}return t}function pm(n,t,e,i){return n&&t?i(n[e],t[e]):n?n[e]:t?t[e]:0}function gm(n,t){let e=[],i=!1;return qt(n)?(i=!0,e=n):e=yO(n,t),e.length?new za({points:e,options:{tension:0},_loop:i,_fullLoop:i}):null}function mm(n){return n&&n.fill!==!1}function _O(n,t,e){let r=n[t].fill;const s=[t];let a;if(!e)return r;for(;r!==!1&&s.indexOf(r)===-1;){if(!ae(r))return r;if(a=n[r],!a)return!1;if(a.visible)return r;s.push(r),r=a.fill}return!1}function bO(n,t,e){const i=SO(n);if(Pt(i))return isNaN(i.value)?!1:i;let r=parseFloat(i);return ae(r)&&Math.floor(r)===r?xO(i[0],t,r,e):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function xO(n,t,e,i){return(n==="-"||n==="+")&&(e=t+e),e===t||e<0||e>=i?!1:e}function wO(n,t){let e=null;return n==="start"?e=t.bottom:n==="end"?e=t.top:Pt(n)?e=t.getPixelForValue(n.value):t.getBasePixel&&(e=t.getBasePixel()),e}function vO(n,t,e){let i;return n==="start"?i=e:n==="end"?i=t.options.reverse?t.min:t.max:Pt(n)?i=n.value:i=t.getBaseValue(),i}function SO(n){const t=n.options,e=t.fill;let i=Mt(e&&e.target,e);return i===void 0&&(i=!!t.backgroundColor),i===!1||i===null?!1:i===!0?"origin":i}function TO(n){const{scale:t,index:e,line:i}=n,r=[],s=i.segments,a=i.points,l=MO(t,e);l.push(gm({x:null,y:t.bottom},i));for(let u=0;u<s.length;u++){const d=s[u];for(let h=d.start;h<=d.end;h++)kO(r,a[h],l)}return new za({points:r,options:{}})}function MO(n,t){const e=[],i=n.getMatchingVisibleMetas("line");for(let r=0;r<i.length;r++){const s=i[r];if(s.index===t)break;s.hidden||e.unshift(s.dataset)}return e}function kO(n,t,e){const i=[];for(let r=0;r<e.length;r++){const s=e[r],{first:a,last:l,point:u}=DO(s,t,"x");if(!(!u||a&&l)){if(a)i.unshift(u);else if(n.push(u),!l)break}}n.push(...i)}function DO(n,t,e){const i=n.interpolate(t,e);if(!i)return{};const r=i[e],s=n.segments,a=n.points;let l=!1,u=!1;for(let d=0;d<s.length;d++){const h=s[d],g=a[h.start][e],y=a[h.end][e];if(ni(r,g,y)){l=r===g,u=r===y;break}}return{first:l,last:u,point:i}}class ym{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:r,y:s,radius:a}=this;return e=e||{start:0,end:te},t.arc(r,s,a,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:r}=this,s=t.angle;return{x:e+Math.cos(s)*r,y:i+Math.sin(s)*r,angle:s}}}function CO(n){const{chart:t,fill:e,line:i}=n;if(ae(e))return OO(t,e);if(e==="stack")return TO(n);if(e==="shape")return!0;const r=AO(n);return r instanceof ym?r:gm(r,i)}function OO(n,t){const e=n.getDatasetMeta(t);return e&&n.isDatasetVisible(t)?e.dataset:null}function AO(n){return(n.scale||{}).getPointPositionForValue?EO(n):RO(n)}function RO(n){const{scale:t={},fill:e}=n,i=wO(e,t);if(ae(i)){const r=t.isHorizontal();return{x:r?i:null,y:r?null:i}}return null}function EO(n){const{scale:t,fill:e}=n,i=t.options,r=t.getLabels().length,s=i.reverse?t.max:t.min,a=vO(e,t,s),l=[];if(i.grid.circular){const u=t.getPointPositionForValue(0,s);return new ym({x:u.x,y:u.y,radius:t.getDistanceFromCenterForValue(a)})}for(let u=0;u<r;++u)l.push(t.getPointPositionForValue(u,a));return l}function Su(n,t,e){const i=CO(t),{chart:r,index:s,line:a,scale:l,axis:u}=t,d=a.options,h=d.fill,g=d.backgroundColor,{above:y=g,below:_=g}=h||{},x=r.getDatasetMeta(s),v=hg(r,x);i&&a.points.length&&(js(n,e),PO(n,{line:a,target:i,above:y,below:_,area:e,scale:l,axis:u,clip:v}),Gs(n))}function PO(n,t){const{line:e,target:i,above:r,below:s,area:a,scale:l,clip:u}=t,d=e._loop?"angle":t.axis;n.save();let h=s;s!==r&&(d==="x"?(_m(n,i,a.top),Tu(n,{line:e,target:i,color:r,scale:l,property:d,clip:u}),n.restore(),n.save(),_m(n,i,a.bottom)):d==="y"&&(bm(n,i,a.left),Tu(n,{line:e,target:i,color:s,scale:l,property:d,clip:u}),n.restore(),n.save(),bm(n,i,a.right),h=r)),Tu(n,{line:e,target:i,color:h,scale:l,property:d,clip:u}),n.restore()}function _m(n,t,e){const{segments:i,points:r}=t;let s=!0,a=!1;n.beginPath();for(const l of i){const{start:u,end:d}=l,h=r[u],g=r[Ua(u,d,r)];s?(n.moveTo(h.x,h.y),s=!1):(n.lineTo(h.x,e),n.lineTo(h.x,h.y)),a=!!t.pathSegment(n,l,{move:a}),a?n.closePath():n.lineTo(g.x,e)}n.lineTo(t.first().x,e),n.closePath(),n.clip()}function bm(n,t,e){const{segments:i,points:r}=t;let s=!0,a=!1;n.beginPath();for(const l of i){const{start:u,end:d}=l,h=r[u],g=r[Ua(u,d,r)];s?(n.moveTo(h.x,h.y),s=!1):(n.lineTo(e,h.y),n.lineTo(h.x,h.y)),a=!!t.pathSegment(n,l,{move:a}),a?n.closePath():n.lineTo(e,g.y)}n.lineTo(e,t.first().y),n.closePath(),n.clip()}function Tu(n,t){const{line:e,target:i,property:r,color:s,scale:a,clip:l}=t,u=mO(e,i,r);for(const{source:d,target:h,start:g,end:y}of u){const{style:{backgroundColor:_=s}={}}=d,x=i!==!0;n.save(),n.fillStyle=_,IO(n,a,l,x&&vu(r,g,y)),n.beginPath();const v=!!e.pathSegment(n,d);let M;if(x){v?n.closePath():xm(n,i,y,r);const C=!!i.pathSegment(n,h,{move:v,reverse:!0});M=v&&C,M||xm(n,i,g,r)}n.closePath(),n.fill(M?"evenodd":"nonzero"),n.restore()}}function IO(n,t,e,i){const r=t.chart.chartArea,{property:s,start:a,end:l}=i||{};if(s==="x"||s==="y"){let u,d,h,g;s==="x"?(u=a,d=r.top,h=l,g=r.bottom):(u=r.left,d=a,h=r.right,g=l),n.beginPath(),e&&(u=Math.max(u,e.left),h=Math.min(h,e.right),d=Math.max(d,e.top),g=Math.min(g,e.bottom)),n.rect(u,d,h-u,g-d),n.clip()}}function xm(n,t,e,i){const r=t.interpolate(e,i);r&&n.lineTo(r.x,r.y)}var LO={id:"filler",afterDatasetsUpdate(n,t,e){const i=(n.data.datasets||[]).length,r=[];let s,a,l,u;for(a=0;a<i;++a)s=n.getDatasetMeta(a),l=s.dataset,u=null,l&&l.options&&l instanceof za&&(u={visible:n.isDatasetVisible(a),index:a,fill:bO(l,a,i),chart:n,axis:s.controller.options.indexAxis,scale:s.vScale,line:l}),s.$filler=u,r.push(u);for(a=0;a<i;++a)u=r[a],!(!u||u.fill===!1)&&(u.fill=_O(r,a,e.propagate))},beforeDraw(n,t,e){const i=e.drawTime==="beforeDraw",r=n.getSortedVisibleDatasetMetas(),s=n.chartArea;for(let a=r.length-1;a>=0;--a){const l=r[a].$filler;l&&(l.line.updateControlPoints(s,l.axis),i&&l.fill&&Su(n.ctx,l,s))}},beforeDatasetsDraw(n,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const i=n.getSortedVisibleDatasetMetas();for(let r=i.length-1;r>=0;--r){const s=i[r].$filler;mm(s)&&Su(n.ctx,s,n.chartArea)}},beforeDatasetDraw(n,t,e){const i=t.meta.$filler;!mm(i)||e.drawTime!=="beforeDatasetDraw"||Su(n.ctx,i,n.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const wm=(n,t)=>{let{boxHeight:e=t,boxWidth:i=t}=n;return n.usePointStyle&&(e=Math.min(e,t),i=n.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:e,itemHeight:Math.max(t,e)}},NO=(n,t)=>n!==null&&t!==null&&n.datasetIndex===t.datasetIndex&&n.index===t.index;class vm extends Ve{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=Qt(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(i=>t.filter(i,this.chart.data))),t.sort&&(e=e.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=le(i.font),s=r.size,a=this._computeTitleHeight(),{boxWidth:l,itemHeight:u}=wm(i,s);let d,h;e.font=r.string,this.isHorizontal()?(d=this.maxWidth,h=this._fitRows(a,s,l,u)+10):(h=this.maxHeight,d=this._fitCols(a,r,l,u)+10),this.width=Math.min(d,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,r){const{ctx:s,maxWidth:a,options:{labels:{padding:l}}}=this,u=this.legendHitBoxes=[],d=this.lineWidths=[0],h=r+l;let g=t;s.textAlign="left",s.textBaseline="middle";let y=-1,_=-h;return this.legendItems.forEach((x,v)=>{const M=i+e/2+s.measureText(x.text).width;(v===0||d[d.length-1]+M+2*l>a)&&(g+=h,d[d.length-(v>0?0:1)]=0,_+=h,y++),u[v]={left:0,top:_,row:y,width:M,height:r},d[d.length-1]+=M+l}),g}_fitCols(t,e,i,r){const{ctx:s,maxHeight:a,options:{labels:{padding:l}}}=this,u=this.legendHitBoxes=[],d=this.columnSizes=[],h=a-t;let g=l,y=0,_=0,x=0,v=0;return this.legendItems.forEach((M,C)=>{const{itemWidth:R,itemHeight:F}=BO(i,e,s,M,r);C>0&&_+F+2*l>h&&(g+=y+l,d.push({width:y,height:_}),x+=y+l,v++,y=_=0),u[C]={left:x,top:_,col:v,width:R,height:F},y=Math.max(y,R),_+=F+l}),g+=y,d.push({width:y,height:_}),g}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:r},rtl:s}}=this,a=$r(s,this.left,this.width);if(this.isHorizontal()){let l=0,u=He(i,this.left+r,this.right-this.lineWidths[l]);for(const d of e)l!==d.row&&(l=d.row,u=He(i,this.left+r,this.right-this.lineWidths[l])),d.top+=this.top+t+r,d.left=a.leftForLtr(a.x(u),d.width),u+=d.width+r}else{let l=0,u=He(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const d of e)d.col!==l&&(l=d.col,u=He(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),d.top=u,d.left+=this.left+r,d.left=a.leftForLtr(a.x(d.left),d.width),u+=d.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;js(t,this),this._draw(),Gs(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:r}=this,{align:s,labels:a}=t,l=se.color,u=$r(t.rtl,this.left,this.width),d=le(a.font),{padding:h}=a,g=d.size,y=g/2;let _;this.drawTitle(),r.textAlign=u.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=d.string;const{boxWidth:x,boxHeight:v,itemHeight:M}=wm(a,g),C=function(N,B,T){if(isNaN(x)||x<=0||isNaN(v)||v<0)return;r.save();const S=Mt(T.lineWidth,1);if(r.fillStyle=Mt(T.fillStyle,l),r.lineCap=Mt(T.lineCap,"butt"),r.lineDashOffset=Mt(T.lineDashOffset,0),r.lineJoin=Mt(T.lineJoin,"miter"),r.lineWidth=S,r.strokeStyle=Mt(T.strokeStyle,l),r.setLineDash(Mt(T.lineDash,[])),a.usePointStyle){const O={radius:v*Math.SQRT2/2,pointStyle:T.pointStyle,rotation:T.rotation,borderWidth:S},U=u.xPlus(N,x/2),$=B+y;jp(r,O,U,$,a.pointStyleWidth&&x)}else{const O=B+Math.max((g-v)/2,0),U=u.leftForLtr(N,x),$=Ci(T.borderRadius);r.beginPath(),Object.values($).some(it=>it!==0)?Hr(r,{x:U,y:O,w:x,h:v,radius:$}):r.rect(U,O,x,v),r.fill(),S!==0&&r.stroke()}r.restore()},R=function(N,B,T){ar(r,T.text,N,B+M/2,d,{strikethrough:T.hidden,textAlign:u.textAlign(T.textAlign)})},F=this.isHorizontal(),I=this._computeTitleHeight();F?_={x:He(s,this.left+h,this.right-i[0]),y:this.top+h+I,line:0}:_={x:this.left+h,y:He(s,this.top+I+h,this.bottom-e[0].height),line:0},sg(this.ctx,t.textDirection);const L=M+h;this.legendItems.forEach((N,B)=>{r.strokeStyle=N.fontColor,r.fillStyle=N.fontColor;const T=r.measureText(N.text).width,S=u.textAlign(N.textAlign||(N.textAlign=a.textAlign)),O=x+y+T;let U=_.x,$=_.y;u.setWidth(this.width),F?B>0&&U+O+h>this.right&&($=_.y+=L,_.line++,U=_.x=He(s,this.left+h,this.right-i[_.line])):B>0&&$+L>this.bottom&&(U=_.x=U+e[_.line].width+h,_.line++,$=_.y=He(s,this.top+I+h,this.bottom-e[_.line].height));const it=u.x(U);if(C(it,$,N),U=QM(S,U+x+y,F?U+O:this.right,t.rtl),R(u.x(U),$,N),F)_.x+=O+h;else if(typeof N.text!="string"){const at=d.lineHeight;_.y+=Sm(N,at)+h}else _.y+=L}),og(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=le(e.font),r=we(e.padding);if(!e.display)return;const s=$r(t.rtl,this.left,this.width),a=this.ctx,l=e.position,u=i.size/2,d=r.top+u;let h,g=this.left,y=this.width;if(this.isHorizontal())y=Math.max(...this.lineWidths),h=this.top+d,g=He(t.align,g,this.right-y);else{const x=this.columnSizes.reduce((v,M)=>Math.max(v,M.height),0);h=d+He(t.align,this.top,this.bottom-x-t.labels.padding-this._computeTitleHeight())}const _=He(l,g,g+y);a.textAlign=s.textAlign(Gc(l)),a.textBaseline="middle",a.strokeStyle=e.color,a.fillStyle=e.color,a.font=i.string,ar(a,e.text,_,h,i)}_computeTitleHeight(){const t=this.options.title,e=le(t.font),i=we(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,r,s;if(ni(t,this.left,this.right)&&ni(e,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;i<s.length;++i)if(r=s[i],ni(t,r.left,r.left+r.width)&&ni(e,r.top,r.top+r.height))return this.legendItems[i]}return null}handleEvent(t){const e=this.options;if(!UO(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if(t.type==="mousemove"||t.type==="mouseout"){const r=this._hoveredItem,s=NO(r,i);r&&!s&&Qt(e.onLeave,[t,r,this],this),this._hoveredItem=i,i&&!s&&Qt(e.onHover,[t,i,this],this)}else i&&Qt(e.onClick,[t,i,this],this)}}function BO(n,t,e,i,r){const s=FO(i,n,t,e),a=zO(r,i,t.lineHeight);return{itemWidth:s,itemHeight:a}}function FO(n,t,e,i){let r=n.text;return r&&typeof r!="string"&&(r=r.reduce((s,a)=>s.length>a.length?s:a)),t+e.size/2+i.measureText(r).width}function zO(n,t,e){let i=n;return typeof t.text!="string"&&(i=Sm(t,e)),i}function Sm(n,t){const e=n.text?n.text.length:0;return t*e}function UO(n,t){return!!((n==="mousemove"||n==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(n==="click"||n==="mouseup"))}var HO={id:"legend",_element:vm,start(n,t,e){const i=n.legend=new vm({ctx:n.ctx,options:e,chart:n});We.configure(n,i,e),We.addBox(n,i)},stop(n){We.removeBox(n,n.legend),delete n.legend},beforeUpdate(n,t,e){const i=n.legend;We.configure(n,i,e),i.options=e},afterUpdate(n){const t=n.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(n,t){t.replay||n.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(n,t,e){const i=t.datasetIndex,r=e.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:n=>n.chart.options.color,boxWidth:40,padding:10,generateLabels(n){const t=n.data.datasets,{labels:{usePointStyle:e,pointStyle:i,textAlign:r,color:s,useBorderRadius:a,borderRadius:l}}=n.legend.options;return n._getSortedDatasetMetas().map(u=>{const d=u.controller.getStyle(e?0:void 0),h=we(d.borderWidth);return{text:t[u.index].label,fillStyle:d.backgroundColor,fontColor:s,hidden:!u.visible,lineCap:d.borderCapStyle,lineDash:d.borderDash,lineDashOffset:d.borderDashOffset,lineJoin:d.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:d.borderColor,pointStyle:i||d.pointStyle,rotation:d.rotation,textAlign:r||d.textAlign,borderRadius:a&&(l||d.borderRadius),datasetIndex:u.index}},this)}},title:{color:n=>n.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:n=>!n.startsWith("on"),labels:{_scriptable:n=>!["generateLabels","filter","sort"].includes(n)}}};class Mu extends Ve{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;const r=qt(i.text)?i.text.length:1;this._padding=we(i.padding);const s=r*le(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:e,left:i,bottom:r,right:s,options:a}=this,l=a.align;let u=0,d,h,g;return this.isHorizontal()?(h=He(l,i,s),g=e+t,d=s-i):(a.position==="left"?(h=i+t,g=He(l,r,e),u=Rt*-.5):(h=s-t,g=He(l,e,r),u=Rt*.5),d=r-e),{titleX:h,titleY:g,maxWidth:d,rotation:u}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=le(e.font),s=i.lineHeight/2+this._padding.top,{titleX:a,titleY:l,maxWidth:u,rotation:d}=this._drawArgs(s);ar(t,e.text,0,0,i,{color:e.color,maxWidth:u,rotation:d,textAlign:Gc(e.align),textBaseline:"middle",translation:[a,l]})}}function WO(n,t){const e=new Mu({ctx:n.ctx,options:t,chart:n});We.configure(n,e,t),We.addBox(n,e),n.titleBlock=e}var VO={id:"title",_element:Mu,start(n,t,e){WO(n,e)},stop(n){const t=n.titleBlock;We.removeBox(n,t),delete n.titleBlock},beforeUpdate(n,t,e){const i=n.titleBlock;We.configure(n,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Ha=new WeakMap;var $O={id:"subtitle",start(n,t,e){const i=new Mu({ctx:n.ctx,options:e,chart:n});We.configure(n,i,e),We.addBox(n,i),Ha.set(n,i)},stop(n){We.removeBox(n,Ha.get(n)),Ha.delete(n)},beforeUpdate(n,t,e){const i=Ha.get(n);We.configure(n,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const so={average(n){if(!n.length)return!1;let t,e,i=new Set,r=0,s=0;for(t=0,e=n.length;t<e;++t){const l=n[t].element;if(l&&l.hasValue()){const u=l.tooltipPosition();i.add(u.x),r+=u.y,++s}}return s===0||i.size===0?!1:{x:[...i].reduce((l,u)=>l+u)/i.size,y:r/s}},nearest(n,t){if(!n.length)return!1;let e=t.x,i=t.y,r=Number.POSITIVE_INFINITY,s,a,l;for(s=0,a=n.length;s<a;++s){const u=n[s].element;if(u&&u.hasValue()){const d=u.getCenterPoint(),h=Ur(t,d);h<r&&(r=h,l=u)}}if(l){const u=l.tooltipPosition();e=u.x,i=u.y}return{x:e,y:i}}};function jn(n,t){return t&&(qt(t)?Array.prototype.push.apply(n,t):n.push(t)),n}function oi(n){return(typeof n=="string"||n instanceof String)&&n.indexOf(`
|
|
1
|
+
(function(Yt,p){typeof exports=="object"&&typeof module<"u"?p(exports,require("vue"),require("@kong/icons"),require("@kong-ui-public/i18n"),require("@kong-ui-public/analytics-metric-provider")):typeof define=="function"&&define.amd?define(["exports","vue","@kong/icons","@kong-ui-public/i18n","@kong-ui-public/analytics-metric-provider"],p):(Yt=typeof globalThis<"u"?globalThis:Yt||self,p(Yt["kong-ui-publicvitals-chart"]={},Yt.Vue,Yt.KongIcons,Yt["kong-ui-public-i18n"],Yt["kong-ui-public-analytics-metric-provider"]))})(this,(function(Yt,p,Ts,Xf,Qi){"use strict";var gt=(n=>(n.FIFTEEN_MIN="15m",n.ONE_HOUR="1h",n.SIX_HOUR="6h",n.TWELVE_HOUR="12h",n.ONE_DAY="24h",n.SEVEN_DAY="7d",n.THIRTY_DAY="30d",n.NINETY_DAY="90d",n.ONE_HUNDRED_EIGHTY_DAY="180d",n.ONE_YEAR="365d",n.CURRENT_WEEK="current_week",n.CURRENT_MONTH="current_month",n.CURRENT_QUARTER="current_quarter",n.CURRENT_YEAR="current_year",n.PREVIOUS_WEEK="previous_week",n.PREVIOUS_MONTH="previous_month",n.PREVIOUS_QUARTER="previous_quarter",n.PREVIOUS_YEAR="previous_year",n))(gt||{});const Hb=["in","not_in","selector"],Wb=["empty","not_empty"],Vb=["secondly","tenSecondly","thirtySecondly","minutely","fiveMinutely","tenMinutely","thirtyMinutely","hourly","twoHourly","twelveHourly","daily","weekly","trend"],Ji=n=>n.filter(t=>t!=="time"),Zf=["api","api_package","api_product","api_product_version","control_plane","control_plane_group","data_plane_node","gateway_service","portal","route","status_code","status_code_grouped","time"],Qf=Ji(Zf),$b=["active_services","error_rate","request_count","request_per_minute","response_latency_average"],Jf=[...Zf,"ai_gateway","ai_gateway_consumer","ai_gateway_consumer_group","ai_gateway_data_plane_node","application","bot_info_action","bot_info_detection_reason","bot_info_ban_type","cache_status","consumer","consumer_group","country_code","oidc_credential","upstream_status_code","upstream_status_code_grouped","response_source","data_plane_node_version","realm","portal_api","principal"],th=Ji(Jf),Yb=[...$b,"cache_hit_rate","response_latency_p99","response_latency_p95","response_latency_p50","upstream_latency_p99","upstream_latency_p95","upstream_latency_p50","upstream_latency_average","kong_latency_p99","kong_latency_p95","kong_latency_p50","kong_latency_average","kong_internal_latency_p99","kong_internal_latency_p95","kong_internal_latency_p50","kong_internal_latency_average","response_size_p99","response_size_p95","response_size_p50","response_size_average","response_size_sum","request_size_p99","request_size_p95","request_size_p50","request_size_average","request_size_sum"],qb=["control_plane","control_plane_group","ai_gateway","gateway_service","consumer","ai_gateway_consumer","ai_gateway_consumer_group","application","oidc_credential","route","ai_provider","ai_response_model","ai_request_model","llm_cache_status","llm_embeddings_provider","llm_embeddings_model","time","realm","status_code","status_code_grouped","ai_plugin","principal","cache_status","ai_gateway_mcp_server","ai_gateway_model","ai_gateway_agent","ai_gateway_data_plane_node"],eh=Ji(qb),jb=["a2a_context_id","a2a_error","a2a_method","a2a_task_id","api","api_package","api_product","api_product_version","application","auth_type","bot_info_action","bot_info_detection_reason","bot_info_ja4_fingerprint","bot_info_ban_type","bot_info_header_names","cache_status","client_ip","consumer","ai_gateway_consumer","consumer_group","ai_gateway_consumer_group","control_plane","control_plane_group","ai_gateway","country_code","data_plane_node","data_plane_node_version","ai_gateway_data_plane_node","gateway_service","header_host","header_user_agent","http_method","mcp_error","mcp_method","mcp_session_id","mcp_tool_name","oidc_credential","portal","principal","realm","request_id","request_uri","response_header_content_type","response_source","route","service_port","service_protocol","sse","status_code_grouped","time","trace_id","upstream_uri","upstream_status_code_grouped","websocket"],Gb=Ji(jb),Kb=["auth_type","cache_status","client_ip","data_plane_node_version","header_host","header_user_agent","http_method","oidc_credential","request_id","request_uri","response_header_content_type","response_source","service_port","service_protocol","trace_id","upstream_uri"],Xb=Kb,Zb=["ai_count","latencies_response_ms","latencies_upstream_ms","latencies_kong_gateway_ms","latencies_kong_internal_ms","request_body_size","response_body_size","response_header_content_length","status_code","upstream_status_code"],Qb=Ji(Zb),Jb=["platform","platform_usage"],tx=n=>Jb.includes(n),ex=[...Jf.filter(n=>n!=="consumer_group"),"a2a_context_id","a2a_error","a2a_method","a2a_task_id","ai_gateway_agent","ai_gateway_mcp_server","mcp_error","mcp_method","mcp_session_id","mcp_tool_name"],nh=Ji(ex);[...Yb];const nx=["control_plane","data_plane_group","managed_cache","network","provider","provider_region","time"],ih=Ji(nx);new Set(Qf),new Set(th),new Set(eh),new Set(nh),new Set(ih);const rh=[{code:"AF",name:"Afghanistan"},{code:"AX",name:"Aland Islands"},{code:"AL",name:"Albania"},{code:"DZ",name:"Algeria"},{code:"AS",name:"American Samoa"},{code:"AD",name:"Andorra"},{code:"AO",name:"Angola"},{code:"AI",name:"Anguilla"},{code:"AQ",name:"Antarctica"},{code:"AG",name:"Antigua and Barbuda"},{code:"AR",name:"Argentina"},{code:"AM",name:"Armenia"},{code:"AW",name:"Aruba"},{code:"AU",name:"Australia"},{code:"AT",name:"Austria"},{code:"AZ",name:"Azerbaijan"},{code:"BS",name:"Bahamas"},{code:"BH",name:"Bahrain"},{code:"BD",name:"Bangladesh"},{code:"BB",name:"Barbados"},{code:"BY",name:"Belarus"},{code:"BE",name:"Belgium"},{code:"BZ",name:"Belize"},{code:"BJ",name:"Benin"},{code:"BM",name:"Bermuda"},{code:"BT",name:"Bhutan"},{code:"BO",name:"Bolivia"},{code:"BA",name:"Bosnia and Herzegovina"},{code:"BW",name:"Botswana"},{code:"BV",name:"Bouvet Island"},{code:"BR",name:"Brazil"},{code:"IO",name:"British Indian Ocean Territory"},{code:"BN",name:"Brunei Darussalam"},{code:"BG",name:"Bulgaria"},{code:"BF",name:"Burkina Faso"},{code:"BI",name:"Burundi"},{code:"KH",name:"Cambodia"},{code:"CM",name:"Cameroon"},{code:"CA",name:"Canada"},{code:"CV",name:"Cape Verde"},{code:"KY",name:"Cayman Islands"},{code:"CF",name:"Central African Republic"},{code:"TD",name:"Chad"},{code:"CL",name:"Chile"},{code:"CN",name:"China"},{code:"CX",name:"Christmas Island"},{code:"CC",name:"Cocos (Keeling) Islands"},{code:"CO",name:"Colombia"},{code:"KM",name:"Comoros"},{code:"CG",name:"Congo"},{code:"CD",name:"Democratic Republic of the Congo"},{code:"CK",name:"Cook Islands"},{code:"CR",name:"Costa Rica"},{code:"CI",name:"Cote d'Ivoire"},{code:"HR",name:"Croatia"},{code:"CU",name:"Cuba"},{code:"CY",name:"Cyprus"},{code:"CZ",name:"Czech Republic"},{code:"DK",name:"Denmark"},{code:"DJ",name:"Djibouti"},{code:"DM",name:"Dominica"},{code:"DO",name:"Dominican Republic"},{code:"EC",name:"Ecuador"},{code:"EG",name:"Egypt"},{code:"SV",name:"El Salvador"},{code:"GQ",name:"Equatorial Guinea"},{code:"ER",name:"Eritrea"},{code:"EE",name:"Estonia"},{code:"ET",name:"Ethiopia"},{code:"FK",name:"Falkland Islands (Malvinas)"},{code:"FO",name:"Faroe Islands"},{code:"FJ",name:"Fiji"},{code:"FI",name:"Finland"},{code:"FR",name:"France"},{code:"GF",name:"French Guiana"},{code:"PF",name:"French Polynesia"},{code:"TF",name:"French Southern Territories"},{code:"GA",name:"Gabon"},{code:"GM",name:"Gambia"},{code:"GE",name:"Georgia"},{code:"DE",name:"Germany"},{code:"GH",name:"Ghana"},{code:"GI",name:"Gibraltar"},{code:"GR",name:"Greece"},{code:"GL",name:"Greenland"},{code:"GD",name:"Grenada"},{code:"GP",name:"Guadeloupe"},{code:"GU",name:"Guam"},{code:"GT",name:"Guatemala"},{code:"GG",name:"Guernsey"},{code:"GN",name:"Guinea"},{code:"GW",name:"Guinea-Bissau"},{code:"GY",name:"Guyana"},{code:"HT",name:"Haiti"},{code:"HM",name:"Heard Island and McDonald Islands"},{code:"VA",name:"The Vatican"},{code:"HN",name:"Honduras"},{code:"HK",name:"Hong Kong"},{code:"HU",name:"Hungary"},{code:"IS",name:"Iceland"},{code:"IN",name:"India"},{code:"ID",name:"Indonesia"},{code:"IR",name:"Iran"},{code:"IQ",name:"Iraq"},{code:"IE",name:"Ireland"},{code:"IM",name:"Isle of Man"},{code:"IL",name:"Israel"},{code:"IT",name:"Italy"},{code:"JM",name:"Jamaica"},{code:"JP",name:"Japan"},{code:"JE",name:"Jersey"},{code:"JO",name:"Jordan"},{code:"KZ",name:"Kazakhstan"},{code:"KE",name:"Kenya"},{code:"KI",name:"Kiribati"},{code:"KP",name:"North Korea"},{code:"KR",name:"South Korea"},{code:"KW",name:"Kuwait"},{code:"KG",name:"Kyrgyzstan"},{code:"LA",name:"Laos"},{code:"LV",name:"Latvia"},{code:"LB",name:"Lebanon"},{code:"LS",name:"Lesotho"},{code:"LR",name:"Liberia"},{code:"LY",name:"Libya"},{code:"LI",name:"Liechtenstein"},{code:"LT",name:"Lithuania"},{code:"LU",name:"Luxembourg"},{code:"MO",name:"Macao"},{code:"MK",name:"Macedonia"},{code:"MG",name:"Madagascar"},{code:"MW",name:"Malawi"},{code:"MY",name:"Malaysia"},{code:"MV",name:"Maldives"},{code:"ML",name:"Mali"},{code:"MT",name:"Malta"},{code:"MH",name:"Marshall Islands"},{code:"MQ",name:"Martinique"},{code:"MR",name:"Mauritania"},{code:"MU",name:"Mauritius"},{code:"YT",name:"Mayotte"},{code:"MX",name:"Mexico"},{code:"FM",name:"Micronesia, "},{code:"MD",name:"Moldova,"},{code:"MC",name:"Monaco"},{code:"MN",name:"Mongolia"},{code:"ME",name:"Montenegro"},{code:"MS",name:"Montserrat"},{code:"MA",name:"Morocco"},{code:"MZ",name:"Mozambique"},{code:"MM",name:"Myanmar"},{code:"NA",name:"Namibia"},{code:"NR",name:"Nauru"},{code:"NP",name:"Nepal"},{code:"NL",name:"Netherlands"},{code:"NC",name:"New Caledonia"},{code:"NZ",name:"New Zealand"},{code:"NI",name:"Nicaragua"},{code:"NE",name:"Niger"},{code:"NG",name:"Nigeria"},{code:"NU",name:"Niue"},{code:"NF",name:"Norfolk Island"},{code:"MP",name:"Northern Mariana Islands"},{code:"NO",name:"Norway"},{code:"OM",name:"Oman"},{code:"PK",name:"Pakistan"},{code:"PW",name:"Palau"},{code:"PA",name:"Panama"},{code:"PG",name:"Papua New Guinea"},{code:"PY",name:"Paraguay"},{code:"PE",name:"Peru"},{code:"PH",name:"Philippines"},{code:"PN",name:"Pitcairn"},{code:"PL",name:"Poland"},{code:"PT",name:"Portugal"},{code:"PR",name:"Puerto Rico"},{code:"QA",name:"Qatar"},{code:"RE",name:"Reunion"},{code:"RO",name:"Romania"},{code:"RU",name:"Russia"},{code:"RW",name:"Rwanda"},{code:"BL",name:"Saint Barthelemy"},{code:"SH",name:"Saint Helena"},{code:"KN",name:"Saint Kitts and Nevis"},{code:"LC",name:"Saint Lucia"},{code:"MF",name:"Saint Martin"},{code:"PM",name:"Saint Pierre and Miquelon"},{code:"VC",name:"Saint Vincent and the Grenadines"},{code:"WS",name:"Samoa"},{code:"SM",name:"San Marino"},{code:"ST",name:"Sao Tome and Principe"},{code:"SA",name:"Saudi Arabia"},{code:"SN",name:"Senegal"},{code:"RS",name:"Serbia"},{code:"SC",name:"Seychelles"},{code:"SL",name:"Sierra Leone"},{code:"SG",name:"Singapore"},{code:"SX",name:"Sint Maarten"},{code:"SK",name:"Slovakia"},{code:"SI",name:"Slovenia"},{code:"SB",name:"Solomon Islands"},{code:"SO",name:"Somalia"},{code:"ZA",name:"South Africa"},{code:"GS",name:"South Georgia and the South Sandwich Islands"},{code:"SS",name:"South Sudan"},{code:"ES",name:"Spain"},{code:"LK",name:"Sri Lanka"},{code:"SD",name:"Sudan"},{code:"SR",name:"Suriname"},{code:"SJ",name:"Svalbard and Jan Mayen"},{code:"SZ",name:"Swaziland"},{code:"SE",name:"Sweden"},{code:"CH",name:"Switzerland"},{code:"SY",name:"Syria"},{code:"TW",name:"Taiwan"},{code:"TJ",name:"Tajikistan"},{code:"TZ",name:"Tanzania"},{code:"TH",name:"Thailand"},{code:"TL",name:"Timor-Leste"},{code:"TG",name:"Togo"},{code:"TK",name:"Tokelau"},{code:"TO",name:"Tonga"},{code:"TT",name:"Trinidad and Tobago"},{code:"TN",name:"Tunisia"},{code:"TR",name:"Turkey"},{code:"TM",name:"Turkmenistan"},{code:"TC",name:"Turks and Caicos Islands"},{code:"TV",name:"Tuvalu"},{code:"UG",name:"Uganda"},{code:"UA",name:"Ukraine"},{code:"AE",name:"United Arab Emirates"},{code:"GB",name:"United Kingdom"},{code:"US",name:"United States"},{code:"UM",name:"United States Minor Outlying Islands"},{code:"UY",name:"Uruguay"},{code:"UZ",name:"Uzbekistan"},{code:"VU",name:"Vanuatu"},{code:"VE",name:"Venezuela"},{code:"VN",name:"Vietnam"},{code:"VG",name:"British Virgin Islands"},{code:"VI",name:"U.S. Virgin Islands"},{code:"WF",name:"Wallis and Futuna"},{code:"EH",name:"Western Sahara"},{code:"YE",name:"Yemen"},{code:"ZM",name:"Zambia"},{code:"ZW",name:"Zimbabwe"}];rh.map(n=>n.code);const sh=n=>({type:"array",description:"A list of filters to apply to the query",items:{oneOf:[{type:"object",description:"In filter",properties:{field:{type:"string",...n?{enum:n}:{}},operator:{type:"string",enum:Hb},value:{type:"array",items:{type:["string","number","null"]}}},required:["field","operator","value"],additionalProperties:!1},{type:"object",description:"Empty filter",properties:{field:{type:"string",...n?{enum:n}:{}},operator:{type:"string",enum:Wb}},required:["field","operator"],additionalProperties:!1}]}}),ix=["control_plane","gateway_service","realm","route","plugin","plugin_name","plugin_scope","data_plane_node_version","env","team","region","hostname"];sh(Array.from(new Set([...Gb,...Xb,...Qb]))),sh([...new Set([...th,...Qf,...eh,...nh,...ix,...ih])]);const rx={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},sx=(n,t,e)=>{let i;const r=rx[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e?.addSuffix?e.comparison&&e.comparison>0?"in "+i:i+" ago":i};function _c(n){return(t={})=>{const e=t.width?String(t.width):n.defaultWidth;return n.formats[e]||n.formats[n.defaultWidth]}}const ox={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},ax={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},lx={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},cx={date:_c({formats:ox,defaultWidth:"full"}),time:_c({formats:ax,defaultWidth:"full"}),dateTime:_c({formats:lx,defaultWidth:"full"})},ux={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},dx=(n,t,e,i)=>ux[n];function Ms(n){return(t,e)=>{const i=e?.context?String(e.context):"standalone";let r;if(i==="formatting"&&n.formattingValues){const a=n.defaultFormattingWidth||n.defaultWidth,l=e?.width?String(e.width):a;r=n.formattingValues[l]||n.formattingValues[a]}else{const a=n.defaultWidth,l=e?.width?String(e.width):n.defaultWidth;r=n.values[l]||n.values[a]}const s=n.argumentCallback?n.argumentCallback(t):t;return r[s]}}const fx={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},hx={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},px={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},gx={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},mx={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},yx={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},_x=(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},bx={ordinalNumber:_x,era:Ms({values:fx,defaultWidth:"wide"}),quarter:Ms({values:hx,defaultWidth:"wide",argumentCallback:n=>n-1}),month:Ms({values:px,defaultWidth:"wide"}),day:Ms({values:gx,defaultWidth:"wide"}),dayPeriod:Ms({values:mx,defaultWidth:"wide",formattingValues:yx,defaultFormattingWidth:"wide"})};function ks(n){return(t,e={})=>{const i=e.width,r=i&&n.matchPatterns[i]||n.matchPatterns[n.defaultMatchWidth],s=t.match(r);if(!s)return null;const a=s[0],l=i&&n.parsePatterns[i]||n.parsePatterns[n.defaultParseWidth],u=Array.isArray(l)?wx(l,g=>g.test(a)):xx(l,g=>g.test(a));let d;d=n.valueCallback?n.valueCallback(u):u,d=e.valueCallback?e.valueCallback(d):d;const h=t.slice(a.length);return{value:d,rest:h}}}function xx(n,t){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&t(n[e]))return e}function wx(n,t){for(let e=0;e<n.length;e++)if(t(n[e]))return e}function vx(n){return(t,e={})=>{const i=t.match(n.matchPattern);if(!i)return null;const r=i[0],s=t.match(n.parsePattern);if(!s)return null;let a=n.valueCallback?n.valueCallback(s[0]):s[0];a=e.valueCallback?e.valueCallback(a):a;const l=t.slice(r.length);return{value:a,rest:l}}}const Sx=/^(\d+)(th|st|nd|rd)?/i,Tx=/\d+/i,Mx={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},kx={any:[/^b/i,/^(a|c)/i]},Dx={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Cx={any:[/1/i,/2/i,/3/i,/4/i]},Ox={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Ax={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Rx={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Ex={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Px={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Ix={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Lx={ordinalNumber:vx({matchPattern:Sx,parsePattern:Tx,valueCallback:n=>parseInt(n,10)}),era:ks({matchPatterns:Mx,defaultMatchWidth:"wide",parsePatterns:kx,defaultParseWidth:"any"}),quarter:ks({matchPatterns:Dx,defaultMatchWidth:"wide",parsePatterns:Cx,defaultParseWidth:"any",valueCallback:n=>n+1}),month:ks({matchPatterns:Ox,defaultMatchWidth:"wide",parsePatterns:Ax,defaultParseWidth:"any"}),day:ks({matchPatterns:Rx,defaultMatchWidth:"wide",parsePatterns:Ex,defaultParseWidth:"any"}),dayPeriod:ks({matchPatterns:Px,defaultMatchWidth:"any",parsePatterns:Ix,defaultParseWidth:"any"})},Nx={code:"en-US",formatDistance:sx,formatLong:cx,formatRelative:dx,localize:bx,match:Lx,options:{weekStartsOn:0,firstWeekContainsDate:1}};let Bx={};function Ds(){return Bx}const oh=6048e5,Fx=864e5,zx=60,Ux=3600,ah=Symbol.for("constructDateFrom");function Sn(n,t){return typeof n=="function"?n(t):n&&typeof n=="object"&&ah in n?n[ah](t):n instanceof Date?new n.constructor(t):new Date(t)}function ze(n,t){return Sn(t||n,n)}function lh(n){const t=ze(n),e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),+n-+e}function Hx(n,...t){const e=Sn.bind(null,t.find(i=>typeof i=="object"));return t.map(e)}function Rr(n,t){const e=ze(n,t?.in);return e.setHours(0,0,0,0),e}function Wx(n,t,e){const[i,r]=Hx(e?.in,n,t),s=Rr(i),a=Rr(r),l=+s-lh(s),u=+a-lh(a);return Math.round((l-u)/Fx)}function Vx(n,t){const e=ze(n,t?.in);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e}function $x(n,t){const e=ze(n,t?.in);return Wx(e,Vx(e))+1}function Jn(n,t){const e=Ds(),i=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??e.weekStartsOn??e.locale?.options?.weekStartsOn??0,r=ze(n,t?.in),s=r.getDay(),a=(s<i?7:0)+s-i;return r.setDate(r.getDate()-a),r.setHours(0,0,0,0),r}function Jo(n,t){return Jn(n,{...t,weekStartsOn:1})}function ch(n,t){const e=ze(n,t?.in),i=e.getFullYear(),r=Sn(e,0);r.setFullYear(i+1,0,4),r.setHours(0,0,0,0);const s=Jo(r),a=Sn(e,0);a.setFullYear(i,0,4),a.setHours(0,0,0,0);const l=Jo(a);return e.getTime()>=s.getTime()?i+1:e.getTime()>=l.getTime()?i:i-1}function Yx(n,t){const e=ch(n,t),i=Sn(n,0);return i.setFullYear(e,0,4),i.setHours(0,0,0,0),Jo(i)}function qx(n,t){const e=ze(n,t?.in),i=+Jo(e)-+Yx(e);return Math.round(i/oh)+1}function uh(n,t){const e=ze(n,t?.in),i=e.getFullYear(),r=Ds(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=Sn(t?.in||n,0);a.setFullYear(i+1,0,s),a.setHours(0,0,0,0);const l=Jn(a,t),u=Sn(t?.in||n,0);u.setFullYear(i,0,s),u.setHours(0,0,0,0);const d=Jn(u,t);return+e>=+l?i+1:+e>=+d?i:i-1}function jx(n,t){const e=Ds(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??e.firstWeekContainsDate??e.locale?.options?.firstWeekContainsDate??1,r=uh(n,t),s=Sn(t?.in||n,0);return s.setFullYear(r,0,i),s.setHours(0,0,0,0),Jn(s,t)}function Gx(n,t){const e=ze(n,t?.in),i=+Jn(e,t)-+jx(e,t);return Math.round(i/oh)+1}function Xt(n,t){const e=n<0?"-":"",i=Math.abs(n).toString().padStart(t,"0");return e+i}const wi={y(n,t){const e=n.getFullYear(),i=e>0?e:1-e;return Xt(t==="yy"?i%100:i,t.length)},M(n,t){const e=n.getMonth();return t==="M"?String(e+1):Xt(e+1,2)},d(n,t){return Xt(n.getDate(),t.length)},a(n,t){const e=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];default:return e==="am"?"a.m.":"p.m."}},h(n,t){return Xt(n.getHours()%12||12,t.length)},H(n,t){return Xt(n.getHours(),t.length)},m(n,t){return Xt(n.getMinutes(),t.length)},s(n,t){return Xt(n.getSeconds(),t.length)},S(n,t){const e=t.length,i=n.getMilliseconds(),r=Math.trunc(i*Math.pow(10,e-3));return Xt(r,t.length)}},Er={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},dh={G:function(n,t,e){const i=n.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return e.era(i,{width:"abbreviated"});case"GGGGG":return e.era(i,{width:"narrow"});default:return e.era(i,{width:"wide"})}},y:function(n,t,e){if(t==="yo"){const i=n.getFullYear(),r=i>0?i:1-i;return e.ordinalNumber(r,{unit:"year"})}return wi.y(n,t)},Y:function(n,t,e,i){const r=uh(n,i),s=r>0?r:1-r;if(t==="YY"){const a=s%100;return Xt(a,2)}return t==="Yo"?e.ordinalNumber(s,{unit:"year"}):Xt(s,t.length)},R:function(n,t){const e=ch(n);return Xt(e,t.length)},u:function(n,t){const e=n.getFullYear();return Xt(e,t.length)},Q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return Xt(i,2);case"Qo":return e.ordinalNumber(i,{unit:"quarter"});case"QQQ":return e.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(i,{width:"narrow",context:"formatting"});default:return e.quarter(i,{width:"wide",context:"formatting"})}},q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return Xt(i,2);case"qo":return e.ordinalNumber(i,{unit:"quarter"});case"qqq":return e.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(i,{width:"narrow",context:"standalone"});default:return e.quarter(i,{width:"wide",context:"standalone"})}},M:function(n,t,e){const i=n.getMonth();switch(t){case"M":case"MM":return wi.M(n,t);case"Mo":return e.ordinalNumber(i+1,{unit:"month"});case"MMM":return e.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(i,{width:"narrow",context:"formatting"});default:return e.month(i,{width:"wide",context:"formatting"})}},L:function(n,t,e){const i=n.getMonth();switch(t){case"L":return String(i+1);case"LL":return Xt(i+1,2);case"Lo":return e.ordinalNumber(i+1,{unit:"month"});case"LLL":return e.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(i,{width:"narrow",context:"standalone"});default:return e.month(i,{width:"wide",context:"standalone"})}},w:function(n,t,e,i){const r=Gx(n,i);return t==="wo"?e.ordinalNumber(r,{unit:"week"}):Xt(r,t.length)},I:function(n,t,e){const i=qx(n);return t==="Io"?e.ordinalNumber(i,{unit:"week"}):Xt(i,t.length)},d:function(n,t,e){return t==="do"?e.ordinalNumber(n.getDate(),{unit:"date"}):wi.d(n,t)},D:function(n,t,e){const i=$x(n);return t==="Do"?e.ordinalNumber(i,{unit:"dayOfYear"}):Xt(i,t.length)},E:function(n,t,e){const i=n.getDay();switch(t){case"E":case"EE":case"EEE":return e.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},e:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return Xt(s,2);case"eo":return e.ordinalNumber(s,{unit:"day"});case"eee":return e.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(r,{width:"short",context:"formatting"});default:return e.day(r,{width:"wide",context:"formatting"})}},c:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return Xt(s,t.length);case"co":return e.ordinalNumber(s,{unit:"day"});case"ccc":return e.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(r,{width:"narrow",context:"standalone"});case"cccccc":return e.day(r,{width:"short",context:"standalone"});default:return e.day(r,{width:"wide",context:"standalone"})}},i:function(n,t,e){const i=n.getDay(),r=i===0?7:i;switch(t){case"i":return String(r);case"ii":return Xt(r,t.length);case"io":return e.ordinalNumber(r,{unit:"day"});case"iii":return e.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},a:function(n,t,e){const i=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(i,{width:"narrow",context:"formatting"});default:return e.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(n,t,e){const i=n.getHours();let r;switch(i===12?r=Er.noon:i===0?r=Er.midnight:r=i/12>=1?"pm":"am",t){case"b":case"bb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(n,t,e){const i=n.getHours();let r;switch(i>=17?r=Er.evening:i>=12?r=Er.afternoon:i>=4?r=Er.morning:r=Er.night,t){case"B":case"BB":case"BBB":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(n,t,e){if(t==="ho"){let i=n.getHours()%12;return i===0&&(i=12),e.ordinalNumber(i,{unit:"hour"})}return wi.h(n,t)},H:function(n,t,e){return t==="Ho"?e.ordinalNumber(n.getHours(),{unit:"hour"}):wi.H(n,t)},K:function(n,t,e){const i=n.getHours()%12;return t==="Ko"?e.ordinalNumber(i,{unit:"hour"}):Xt(i,t.length)},k:function(n,t,e){let i=n.getHours();return i===0&&(i=24),t==="ko"?e.ordinalNumber(i,{unit:"hour"}):Xt(i,t.length)},m:function(n,t,e){return t==="mo"?e.ordinalNumber(n.getMinutes(),{unit:"minute"}):wi.m(n,t)},s:function(n,t,e){return t==="so"?e.ordinalNumber(n.getSeconds(),{unit:"second"}):wi.s(n,t)},S:function(n,t){return wi.S(n,t)},X:function(n,t,e){const i=n.getTimezoneOffset();if(i===0)return"Z";switch(t){case"X":return hh(i);case"XXXX":case"XX":return tr(i);default:return tr(i,":")}},x:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"x":return hh(i);case"xxxx":case"xx":return tr(i);default:return tr(i,":")}},O:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+fh(i,":");default:return"GMT"+tr(i,":")}},z:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+fh(i,":");default:return"GMT"+tr(i,":")}},t:function(n,t,e){const i=Math.trunc(+n/1e3);return Xt(i,t.length)},T:function(n,t,e){return Xt(+n,t.length)}};function fh(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.trunc(i/60),s=i%60;return s===0?e+String(r):e+String(r)+t+Xt(s,2)}function hh(n,t){return n%60===0?(n>0?"-":"+")+Xt(Math.abs(n)/60,2):tr(n,t)}function tr(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Xt(Math.trunc(i/60),2),s=Xt(i%60,2);return e+r+t+s}const ph=(n,t)=>{switch(n){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},gh=(n,t)=>{switch(n){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Kx=(n,t)=>{const e=n.match(/(P+)(p+)?/)||[],i=e[1],r=e[2];if(!r)return ph(n,t);let s;switch(i){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",ph(i,t)).replace("{{time}}",gh(r,t))},Xx={p:gh,P:Kx},Zx=/^D+$/,Qx=/^Y+$/,Jx=["D","DD","YY","YYYY"];function tw(n){return Zx.test(n)}function ew(n){return Qx.test(n)}function nw(n,t,e){const i=iw(n,t,e);if(console.warn(i),Jx.includes(n))throw new RangeError(i)}function iw(n,t,e){const i=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${t}\`) for formatting ${i} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}function rw(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function sw(n){return!(!rw(n)&&typeof n!="number"||isNaN(+ze(n)))}const ow=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,aw=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,lw=/^'([^]*?)'?$/,cw=/''/g,uw=/[a-zA-Z]/;function dw(n,t,e){const i=Ds(),r=e?.locale??i.locale??Nx,s=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,l=ze(n,e?.in);if(!sw(l))throw new RangeError("Invalid time value");let u=t.match(aw).map(h=>{const g=h[0];if(g==="p"||g==="P"){const y=Xx[g];return y(h,r.formatLong)}return h}).join("").match(ow).map(h=>{if(h==="''")return{isToken:!1,value:"'"};const g=h[0];if(g==="'")return{isToken:!1,value:fw(h)};if(dh[g])return{isToken:!0,value:h};if(g.match(uw))throw new RangeError("Format string contains an unescaped latin alphabet character `"+g+"`");return{isToken:!1,value:h}});r.localize.preprocessor&&(u=r.localize.preprocessor(l,u));const d={firstWeekContainsDate:s,weekStartsOn:a,locale:r};return u.map(h=>{if(!h.isToken)return h.value;const g=h.value;(!e?.useAdditionalWeekYearTokens&&ew(g)||!e?.useAdditionalDayOfYearTokens&&tw(g))&&nw(g,t,String(n));const y=dh[g[0]];return y(l,g,r.localize,d)}).join("")}function fw(n){const t=n.match(lw);return t?t[1].replace(cw,"'"):n}function ta(n,t,e){const i=ze(n,e?.in);return isNaN(t)?Sn(n,NaN):(i.setDate(i.getDate()+t),i)}function mh(n,t,e){const i=ze(n,e?.in);if(isNaN(t))return Sn(n,NaN);if(!t)return i;const r=i.getDate(),s=Sn(n,i.getTime());s.setMonth(i.getMonth()+t+1,0);const a=s.getDate();return r>=a?s:(i.setFullYear(s.getFullYear(),s.getMonth(),r),i)}function hw(n,t,e){return mh(n,t*3,e)}function Pr(n,t){const e=ze(n,t?.in),i=e.getMonth(),r=i-i%3;return e.setMonth(r,1),e.setHours(0,0,0,0),e}function Ir(n,t){const e=ze(n,t?.in);return e.setDate(1),e.setHours(0,0,0,0),e}function pw(n,t){const e=ze(n,t?.in),i=e.getFullYear(),r=e.getMonth(),s=Sn(e,0);return s.setFullYear(i,r+1,0),s.setHours(0,0,0,0),s.getDate()}function gw(){return Object.assign({},Ds())}function yh(n){return Math.trunc(n*Ux)}function mw(n){const t=n/zx;return Math.trunc(t)}function _h(n,t,e){return mh(n,-1,e)}function bh(n,t,e){return hw(n,-1,e)}function xh(n,t,e){const i=gw(),r=bw(n,e.timeZone,e.locale??i.locale);return"formatToParts"in r?yw(r,t):_w(r,t)}function yw(n,t){const e=n.formatToParts(t);for(let i=e.length-1;i>=0;--i)if(e[i].type==="timeZoneName")return e[i].value}function _w(n,t){const e=n.format(t).replace(/\u200E/g,""),i=/ [\w-+ ]+$/.exec(e);return i?i[0].substr(1):""}function bw(n,t,e){return new Intl.DateTimeFormat(e?[e.code,"en-US"]:void 0,{timeZone:t,timeZoneName:n})}function xw(n,t){const e=Mw(t);return"formatToParts"in e?vw(e,n):Sw(e,n)}const ww={year:0,month:1,day:2,hour:3,minute:4,second:5};function vw(n,t){try{const e=n.formatToParts(t),i=[];for(let r=0;r<e.length;r++){const s=ww[e[r].type];s!==void 0&&(i[s]=parseInt(e[r].value,10))}return i}catch(e){if(e instanceof RangeError)return[NaN];throw e}}function Sw(n,t){const e=n.format(t),i=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(e);return[parseInt(i[3],10),parseInt(i[1],10),parseInt(i[2],10),parseInt(i[4],10),parseInt(i[5],10),parseInt(i[6],10)]}const bc={},wh=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),Tw=wh==="06/25/2014, 00:00:00"||wh==="06/25/2014 00:00:00";function Mw(n){return bc[n]||(bc[n]=Tw?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:n,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})),bc[n]}function xc(n,t,e,i,r,s,a){const l=new Date(0);return l.setUTCFullYear(n,t,e),l.setUTCHours(i,r,s,a),l}const vh=36e5,kw=6e4,wc={timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-])(\d{2}):?(\d{2})$/};function Cs(n,t,e){if(!n)return 0;let i=wc.timezoneZ.exec(n);if(i)return 0;let r,s;if(i=wc.timezoneHH.exec(n),i)return r=parseInt(i[1],10),Sh(r)?-(r*vh):NaN;if(i=wc.timezoneHHMM.exec(n),i){r=parseInt(i[2],10);const a=parseInt(i[3],10);return Sh(r,a)?(s=Math.abs(r)*vh+a*kw,i[1]==="+"?-s:s):NaN}if(Ow(n)){t=new Date(t||Date.now());const a=e?t:Dw(t),l=vc(a,n);return-(e?l:Cw(t,l,n))}return NaN}function Dw(n){return xc(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds())}function vc(n,t){const e=xw(n,t),i=xc(e[0],e[1]-1,e[2],e[3]%24,e[4],e[5],0).getTime();let r=n.getTime();const s=r%1e3;return r-=s>=0?s:1e3+s,i-r}function Cw(n,t,e){let i=n.getTime()-t;const r=vc(new Date(i),e);if(t===r)return t;i-=r-t;const s=vc(new Date(i),e);return r===s?r:Math.max(r,s)}function Sh(n,t){return-23<=n&&n<=23&&(t==null||0<=t&&t<=59)}const Th={};function Ow(n){if(Th[n])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:n}),Th[n]=!0,!0}catch{return!1}}const Aw=60*1e3,Rw={X:function(n,t,e){const i=Sc(e.timeZone,n);if(i===0)return"Z";switch(t){case"X":return Mh(i);case"XXXX":case"XX":return Lr(i);default:return Lr(i,":")}},x:function(n,t,e){const i=Sc(e.timeZone,n);switch(t){case"x":return Mh(i);case"xxxx":case"xx":return Lr(i);default:return Lr(i,":")}},O:function(n,t,e){const i=Sc(e.timeZone,n);switch(t){case"O":case"OO":case"OOO":return"GMT"+Ew(i,":");default:return"GMT"+Lr(i,":")}},z:function(n,t,e){switch(t){case"z":case"zz":case"zzz":return xh("short",n,e);default:return xh("long",n,e)}}};function Sc(n,t){const e=n?Cs(n,t,!0)/Aw:t?.getTimezoneOffset()??0;if(Number.isNaN(e))throw new RangeError("Invalid time zone specified: "+n);return e}function ea(n,t){const e=n<0?"-":"";let i=Math.abs(n).toString();for(;i.length<t;)i="0"+i;return e+i}function Lr(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=ea(Math.floor(i/60),2),s=ea(Math.floor(i%60),2);return e+r+t+s}function Mh(n,t){return n%60===0?(n>0?"-":"+")+ea(Math.abs(n)/60,2):Lr(n,t)}function Ew(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.floor(i/60),s=i%60;return s===0?e+String(r):e+String(r)+t+ea(s,2)}function kh(n){const t=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return t.setUTCFullYear(n.getFullYear()),+n-+t}const Dh=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,Tc=36e5,Ch=6e4,Pw=2,Ke={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:Dh};function na(n,t={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(n===null)return new Date(NaN);const e=t.additionalDigits==null?Pw:Number(t.additionalDigits);if(e!==2&&e!==1&&e!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]")return new Date(n.getTime());if(typeof n=="number"||Object.prototype.toString.call(n)==="[object Number]")return new Date(n);if(Object.prototype.toString.call(n)!=="[object String]")return new Date(NaN);const i=Iw(n),{year:r,restDateString:s}=Lw(i.date,e),a=Nw(s,r);if(a===null||isNaN(a.getTime()))return new Date(NaN);if(a){const l=a.getTime();let u=0,d;if(i.time&&(u=Bw(i.time),u===null||isNaN(u)))return new Date(NaN);if(i.timeZone||t.timeZone){if(d=Cs(i.timeZone||t.timeZone,new Date(l+u)),isNaN(d))return new Date(NaN)}else d=kh(new Date(l+u)),d=kh(new Date(l+u+d));return new Date(l+u+d)}else return new Date(NaN)}function Iw(n){const t={};let e=Ke.dateTimePattern.exec(n),i;if(e?(t.date=e[1],i=e[3]):(e=Ke.datePattern.exec(n),e?(t.date=e[1],i=e[2]):(t.date=null,i=n)),i){const r=Ke.timeZone.exec(i);r?(t.time=i.replace(r[1],""),t.timeZone=r[1].trim()):t.time=i}return t}function Lw(n,t){if(n){const e=Ke.YYY[t],i=Ke.YYYYY[t];let r=Ke.YYYY.exec(n)||i.exec(n);if(r){const s=r[1];return{year:parseInt(s,10),restDateString:n.slice(s.length)}}if(r=Ke.YY.exec(n)||e.exec(n),r){const s=r[1];return{year:parseInt(s,10)*100,restDateString:n.slice(s.length)}}}return{year:null}}function Nw(n,t){if(t===null)return null;let e,i,r;if(!n||!n.length)return e=new Date(0),e.setUTCFullYear(t),e;let s=Ke.MM.exec(n);if(s)return e=new Date(0),i=parseInt(s[1],10)-1,Rh(t,i)?(e.setUTCFullYear(t,i),e):new Date(NaN);if(s=Ke.DDD.exec(n),s){e=new Date(0);const a=parseInt(s[1],10);return Uw(t,a)?(e.setUTCFullYear(t,0,a),e):new Date(NaN)}if(s=Ke.MMDD.exec(n),s){e=new Date(0),i=parseInt(s[1],10)-1;const a=parseInt(s[2],10);return Rh(t,i,a)?(e.setUTCFullYear(t,i,a),e):new Date(NaN)}if(s=Ke.Www.exec(n),s)return r=parseInt(s[1],10)-1,Eh(r)?Oh(t,r):new Date(NaN);if(s=Ke.WwwD.exec(n),s){r=parseInt(s[1],10)-1;const a=parseInt(s[2],10)-1;return Eh(r,a)?Oh(t,r,a):new Date(NaN)}return null}function Bw(n){let t,e,i=Ke.HH.exec(n);if(i)return t=parseFloat(i[1].replace(",",".")),Mc(t)?t%24*Tc:NaN;if(i=Ke.HHMM.exec(n),i)return t=parseInt(i[1],10),e=parseFloat(i[2].replace(",",".")),Mc(t,e)?t%24*Tc+e*Ch:NaN;if(i=Ke.HHMMSS.exec(n),i){t=parseInt(i[1],10),e=parseInt(i[2],10);const r=parseFloat(i[3].replace(",","."));return Mc(t,e,r)?t%24*Tc+e*Ch+r*1e3:NaN}return null}function Oh(n,t,e){t=t||0,e=e||0;const i=new Date(0);i.setUTCFullYear(n,0,4);const r=i.getUTCDay()||7,s=t*7+e+1-r;return i.setUTCDate(i.getUTCDate()+s),i}const Fw=[31,28,31,30,31,30,31,31,30,31,30,31],zw=[31,29,31,30,31,30,31,31,30,31,30,31];function Ah(n){return n%400===0||n%4===0&&n%100!==0}function Rh(n,t,e){if(t<0||t>11)return!1;if(e!=null){if(e<1)return!1;const i=Ah(n);if(i&&e>zw[t]||!i&&e>Fw[t])return!1}return!0}function Uw(n,t){if(t<1)return!1;const e=Ah(n);return!(e&&t>366||!e&&t>365)}function Eh(n,t){return!(n<0||n>52||t!=null&&(t<0||t>6))}function Mc(n,t,e){return!(n<0||n>=25||t!=null&&(t<0||t>=60)||e!=null&&(e<0||e>=60))}const Hw=/([xXOz]+)|''|'(''|[^'])+('|$)/g;function Ww(n,t,e={}){t=String(t);const i=t.match(Hw);if(i){const r=na(e.originalDate||n,e);t=i.reduce(function(s,a){if(a[0]==="'")return s;const l=s.indexOf(a),u=s[l-1]==="'",d=s.replace(a,"'"+Rw[a[0]](r,a,e)+"'");return u?d.substring(0,l-1)+d.substring(l+1):d},t)}return dw(n,t,e)}function Ph(n,t,e){n=na(n,e);const i=Cs(t,n,!0),r=new Date(n.getTime()-i),s=new Date(0);return s.setFullYear(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),s.setHours(r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()),s}function Ih(n,t,e,i){return i={...i,timeZone:t,originalDate:n},Ww(Ph(n,t,{timeZone:i.timeZone}),e,i)}function Vw(n,t,e){if(typeof n=="string"&&!n.match(Dh))return na(n,{...e,timeZone:t});n=na(n,e);const i=xc(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()).getTime(),r=Cs(t,new Date(i));return new Date(i+r)}function $w(n,t){return-Cs(n,t)}function Lh(n,t={}){const e=t?.tz||Intl.DateTimeFormat().resolvedOptions().timeZone;let i="MMM dd, yyy hh:mm a";switch(t.format){case"short":i="MMM dd, yyyy";break;case"default":i="MMM dd, yyyy hh:mm a";break;case"full":i="MMM dd, yyyy hh:mm:ss.SSS a";break}return t.includeTZ&&(i+=" (z)"),Ih(n,e,i)}function Yw(n,t={}){if(!n)return n;const e=t.tz||Intl.DateTimeFormat().resolvedOptions().timeZone;try{let i="MMM dd, yyy hh:mm a";t.short&&(i="MMM dd, yyy"),t.includeTZ&&(i+=" (z)");const r=new Date(n);return Ih(r,e,i)}catch{return console.error("Invalid value passed to formatTime",n),"(invalid date)"}}const qw={secondly:1e3,tenSecondly:10*1e3,thirtySecondly:30*1e3,minutely:60*1e3,fiveMinutely:300*1e3,tenMinutely:600*1e3,thirtyMinutely:1800*1e3,hourly:3600*1e3,twoHourly:7200*1e3,twelveHourly:720*60*1e3,daily:3600*24*1e3,weekly:3600*24*7*1e3,trend:0};function ia(n){return n&&Vb.find(t=>n<=qw[t])||null}var ra=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},sa={exports:{}};sa.exports;var Nh;function jw(){return Nh||(Nh=1,(function(n,t){var e=200,i="__lodash_hash_undefined__",r=9007199254740991,s="[object Arguments]",a="[object Array]",l="[object Boolean]",u="[object Date]",d="[object Error]",h="[object Function]",g="[object GeneratorFunction]",y="[object Map]",_="[object Number]",x="[object Object]",v="[object Promise]",M="[object RegExp]",C="[object Set]",R="[object String]",F="[object Symbol]",I="[object WeakMap]",L="[object ArrayBuffer]",N="[object DataView]",B="[object Float32Array]",T="[object Float64Array]",S="[object Int8Array]",O="[object Int16Array]",U="[object Int32Array]",$="[object Uint8Array]",it="[object Uint8ClampedArray]",at="[object Uint16Array]",ot="[object Uint32Array]",q=/[\\^$.*+?()[\]{}|]/g,J=/\w*$/,rt=/^\[object .+?Constructor\]$/,tt=/^(?:0|[1-9]\d*)$/,G={};G[s]=G[a]=G[L]=G[N]=G[l]=G[u]=G[B]=G[T]=G[S]=G[O]=G[U]=G[y]=G[_]=G[x]=G[M]=G[C]=G[R]=G[F]=G[$]=G[it]=G[at]=G[ot]=!0,G[d]=G[h]=G[I]=!1;var P=typeof ra=="object"&&ra&&ra.Object===Object&&ra,W=typeof self=="object"&&self&&self.Object===Object&&self,j=P||W||Function("return this")(),pt=t&&!t.nodeType&&t,lt=pt&&!0&&n&&!n.nodeType&&n,et=lt&<.exports===pt;function ht(D,V){return D.set(V[0],V[1]),D}function ft(D,V){return D.add(V),D}function ct(D,V){for(var Q=-1,yt=D?D.length:0;++Q<yt&&V(D[Q],Q,D)!==!1;);return D}function mt(D,V){for(var Q=-1,yt=V.length,Te=D.length;++Q<yt;)D[Te+Q]=V[Q];return D}function ut(D,V,Q,yt){for(var Te=-1,qe=D?D.length:0;++Te<qe;)Q=V(Q,D[Te],Te,D);return Q}function Lt(D,V){for(var Q=-1,yt=Array(D);++Q<D;)yt[Q]=V(Q);return yt}function zt(D,V){return D?.[V]}function vt(D){var V=!1;if(D!=null&&typeof D.toString!="function")try{V=!!(D+"")}catch{}return V}function Ct(D){var V=-1,Q=Array(D.size);return D.forEach(function(yt,Te){Q[++V]=[Te,yt]}),Q}function Dt(D,V){return function(Q){return D(V(Q))}}function ve(D){var V=-1,Q=Array(D.size);return D.forEach(function(yt){Q[++V]=yt}),Q}var bt=Array.prototype,jt=Function.prototype,Oe=Object.prototype,Ae=j["__core-js_shared__"],oe=(function(){var D=/[^.]+$/.exec(Ae&&Ae.keys&&Ae.keys.IE_PROTO||"");return D?"Symbol(src)_1."+D:""})(),ln=jt.toString,Vt=Oe.hasOwnProperty,Le=Oe.toString,ie=RegExp("^"+ln.call(Vt).replace(q,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Se=et?j.Buffer:void 0,Re=j.Symbol,gn=j.Uint8Array,zi=Dt(Object.getPrototypeOf,Object),Dn=Object.create,Ye=Oe.propertyIsEnumerable,In=bt.splice,ci=Object.getOwnPropertySymbols,So=Se?Se.isBuffer:void 0,To=Dt(Object.keys,Object),br=Gn(j,"DataView"),ui=Gn(j,"Map"),Mo=Gn(j,"Promise"),ko=Gn(j,"Set"),Do=Gn(j,"WeakMap"),Ui=Gn(Object,"create"),pl=fi(br),fd=fi(ui),hd=fi(Mo),pd=fi(ko),gd=fi(Do),Co=Re?Re.prototype:void 0,gl=Co?Co.valueOf:void 0;function di(D){var V=-1,Q=D?D.length:0;for(this.clear();++V<Q;){var yt=D[V];this.set(yt[0],yt[1])}}function md(){this.__data__=Ui?Ui(null):{}}function Oo(D){return this.has(D)&&delete this.__data__[D]}function yd(D){var V=this.__data__;if(Ui){var Q=V[D];return Q===i?void 0:Q}return Vt.call(V,D)?V[D]:void 0}function Ao(D){var V=this.__data__;return Ui?V[D]!==void 0:Vt.call(V,D)}function _d(D,V){var Q=this.__data__;return Q[D]=Ui&&V===void 0?i:V,this}di.prototype.clear=md,di.prototype.delete=Oo,di.prototype.get=yd,di.prototype.has=Ao,di.prototype.set=_d;function Ln(D){var V=-1,Q=D?D.length:0;for(this.clear();++V<Q;){var yt=D[V];this.set(yt[0],yt[1])}}function bd(){this.__data__=[]}function xd(D){var V=this.__data__,Q=xr(V,D);if(Q<0)return!1;var yt=V.length-1;return Q==yt?V.pop():In.call(V,Q,1),!0}function wd(D){var V=this.__data__,Q=xr(V,D);return Q<0?void 0:V[Q][1]}function ml(D){return xr(this.__data__,D)>-1}function vd(D,V){var Q=this.__data__,yt=xr(Q,D);return yt<0?Q.push([D,V]):Q[yt][1]=V,this}Ln.prototype.clear=bd,Ln.prototype.delete=xd,Ln.prototype.get=wd,Ln.prototype.has=ml,Ln.prototype.set=vd;function Hi(D){var V=-1,Q=D?D.length:0;for(this.clear();++V<Q;){var yt=D[V];this.set(yt[0],yt[1])}}function yl(){this.__data__={hash:new di,map:new(ui||Ln),string:new di}}function Sd(D){return wr(this,D).delete(D)}function Td(D){return wr(this,D).get(D)}function Md(D){return wr(this,D).has(D)}function kd(D,V){return wr(this,D).set(D,V),this}Hi.prototype.clear=yl,Hi.prototype.delete=Sd,Hi.prototype.get=Td,Hi.prototype.has=Md,Hi.prototype.set=kd;function Wi(D){this.__data__=new Ln(D)}function Dd(){this.__data__=new Ln}function ns(D){return this.__data__.delete(D)}function Cd(D){return this.__data__.get(D)}function is(D){return this.__data__.has(D)}function Od(D,V){var Q=this.__data__;if(Q instanceof Ln){var yt=Q.__data__;if(!ui||yt.length<e-1)return yt.push([D,V]),this;Q=this.__data__=new Hi(yt)}return Q.set(D,V),this}Wi.prototype.clear=Dd,Wi.prototype.delete=ns,Wi.prototype.get=Cd,Wi.prototype.has=is,Wi.prototype.set=Od;function Ad(D,V){var Q=Lo(D)||Rl(D)?Lt(D.length,String):[],yt=Q.length,Te=!!yt;for(var qe in D)Vt.call(D,qe)&&!(Te&&(qe=="length"||Dl(qe,yt)))&&Q.push(qe);return Q}function _l(D,V,Q){var yt=D[V];(!(Vt.call(D,V)&&Al(yt,Q))||Q===void 0&&!(V in D))&&(D[V]=Q)}function xr(D,V){for(var Q=D.length;Q--;)if(Al(D[Q][0],V))return Q;return-1}function bl(D,V){return D&&Eo(V,No(V),D)}function rs(D,V,Q,yt,Te,qe,Nn){var Ne;if(yt&&(Ne=qe?yt(D,Te,qe,Nn):yt(D)),Ne!==void 0)return Ne;if(!cs(D))return D;var Pl=Lo(D);if(Pl){if(Ne=Ml(D),!V)return Tl(D,Ne)}else{var ce=cn(D),us=ce==h||ce==g;if(Hd(D))return wl(D,V);if(ce==x||ce==s||us&&!qe){if(vt(D))return qe?D:{};if(Ne=kl(us?{}:D),!V)return Po(D,bl(Ne,D))}else{if(!G[ce])return qe?D:{};Ne=Fd(D,ce,rs,V)}}Nn||(Nn=new Wi);var Kn=Nn.get(D);if(Kn)return Kn;if(Nn.set(D,Ne),!Pl)var Bo=Q?Bd(D):No(D);return ct(Bo||D,function(vr,Be){Bo&&(Be=vr,vr=D[Be]),_l(Ne,Be,rs(vr,V,Q,yt,Be,D,Nn))}),Ne}function Rd(D){return cs(D)?Dn(D):{}}function Ed(D,V,Q){var yt=V(D);return Lo(D)?yt:mt(yt,Q(D))}function Pd(D){return Le.call(D)}function Id(D){if(!cs(D)||Ol(D))return!1;var V=ls(D)||vt(D)?ie:rt;return V.test(fi(D))}function xl(D){if(!Io(D))return To(D);var V=[];for(var Q in Object(D))Vt.call(D,Q)&&Q!="constructor"&&V.push(Q);return V}function wl(D,V){if(V)return D.slice();var Q=new D.constructor(D.length);return D.copy(Q),Q}function ss(D){var V=new D.constructor(D.byteLength);return new gn(V).set(new gn(D)),V}function Ro(D,V){var Q=V?ss(D.buffer):D.buffer;return new D.constructor(Q,D.byteOffset,D.byteLength)}function Ld(D,V,Q){var yt=V?Q(Ct(D),!0):Ct(D);return ut(yt,ht,new D.constructor)}function vl(D){var V=new D.constructor(D.source,J.exec(D));return V.lastIndex=D.lastIndex,V}function os(D,V,Q){var yt=V?Q(ve(D),!0):ve(D);return ut(yt,ft,new D.constructor)}function Sl(D){return gl?Object(gl.call(D)):{}}function Nd(D,V){var Q=V?ss(D.buffer):D.buffer;return new D.constructor(Q,D.byteOffset,D.length)}function Tl(D,V){var Q=-1,yt=D.length;for(V||(V=Array(yt));++Q<yt;)V[Q]=D[Q];return V}function Eo(D,V,Q,yt){Q||(Q={});for(var Te=-1,qe=V.length;++Te<qe;){var Nn=V[Te],Ne=void 0;_l(Q,Nn,Ne===void 0?D[Nn]:Ne)}return Q}function Po(D,V){return Eo(D,as(D),V)}function Bd(D){return Ed(D,No,as)}function wr(D,V){var Q=D.__data__;return Cl(V)?Q[typeof V=="string"?"string":"hash"]:Q.map}function Gn(D,V){var Q=zt(D,V);return Id(Q)?Q:void 0}var as=ci?Dt(ci,Object):$d,cn=Pd;(br&&cn(new br(new ArrayBuffer(1)))!=N||ui&&cn(new ui)!=y||Mo&&cn(Mo.resolve())!=v||ko&&cn(new ko)!=C||Do&&cn(new Do)!=I)&&(cn=function(D){var V=Le.call(D),Q=V==x?D.constructor:void 0,yt=Q?fi(Q):void 0;if(yt)switch(yt){case pl:return N;case fd:return y;case hd:return v;case pd:return C;case gd:return I}return V});function Ml(D){var V=D.length,Q=D.constructor(V);return V&&typeof D[0]=="string"&&Vt.call(D,"index")&&(Q.index=D.index,Q.input=D.input),Q}function kl(D){return typeof D.constructor=="function"&&!Io(D)?Rd(zi(D)):{}}function Fd(D,V,Q,yt){var Te=D.constructor;switch(V){case L:return ss(D);case l:case u:return new Te(+D);case N:return Ro(D,yt);case B:case T:case S:case O:case U:case $:case it:case at:case ot:return Nd(D,yt);case y:return Ld(D,yt,Q);case _:case R:return new Te(D);case M:return vl(D);case C:return os(D,yt,Q);case F:return Sl(D)}}function Dl(D,V){return V=V??r,!!V&&(typeof D=="number"||tt.test(D))&&D>-1&&D%1==0&&D<V}function Cl(D){var V=typeof D;return V=="string"||V=="number"||V=="symbol"||V=="boolean"?D!=="__proto__":D===null}function Ol(D){return!!oe&&oe in D}function Io(D){var V=D&&D.constructor,Q=typeof V=="function"&&V.prototype||Oe;return D===Q}function fi(D){if(D!=null){try{return ln.call(D)}catch{}try{return D+""}catch{}}return""}function zd(D){return rs(D,!0,!0)}function Al(D,V){return D===V||D!==D&&V!==V}function Rl(D){return Ud(D)&&Vt.call(D,"callee")&&(!Ye.call(D,"callee")||Le.call(D)==s)}var Lo=Array.isArray;function El(D){return D!=null&&Wd(D.length)&&!ls(D)}function Ud(D){return Vd(D)&&El(D)}var Hd=So||ee;function ls(D){var V=cs(D)?Le.call(D):"";return V==h||V==g}function Wd(D){return typeof D=="number"&&D>-1&&D%1==0&&D<=r}function cs(D){var V=typeof D;return!!D&&(V=="object"||V=="function")}function Vd(D){return!!D&&typeof D=="object"}function No(D){return El(D)?Ad(D):xl(D)}function $d(){return[]}function ee(){return!1}n.exports=zd})(sa,sa.exports)),sa.exports}jw();const Tn=(n,t)=>new Date(n.getTime()-$w(t,n));class De{timeframeText;key;display;timeframeLength;allowedTiers;defaultResponseGranularity;dataGranularity;isRelative;fineGrainedDefaultGranularity;_startCustom;_endCustom;_allowedGranularitiesOverride;constructor(t){this.display=t.display,this.timeframeText=t.timeframeText,this.key=t.key,this.timeframeLength=t.timeframeLength,this.allowedTiers=t.allowedTiers,this.defaultResponseGranularity=t.defaultResponseGranularity,this.dataGranularity=t.dataGranularity,this.isRelative=t.isRelative,this._startCustom=t.startCustom,this._endCustom=t.endCustom,this._allowedGranularitiesOverride=t.allowedGranularitiesOverride,this.fineGrainedDefaultGranularity=t.fineGrainedDefaultGranularity}rawEnd(t){return this._endCustom||new Date}rawStart(t){return this._startCustom||new Date(this.rawEnd().getTime()-this.timeframeLengthMs())}timeframeLengthMs(){return this.timeframeLength()*1e3}maximumTimeframeLength(){return this.timeframeLength()}allowedGranularities(t){if(this._allowedGranularitiesOverride&&t)return new Set(this._allowedGranularitiesOverride);const e=new Set,i=this.maximumTimeframeLength()/3600;return i<=6&&e.add("minutely"),i>=2&&i<=168&&e.add("hourly"),i>=48&&e.add("daily"),i>=672&&e.add("weekly"),e}cacheKey(){return this.key!=="custom"?this.key:`${this.rawStart().toISOString()}-${this.rawEnd().toISOString()}`}v4Query(t){return this.key==="custom"?{type:"absolute",start:this.rawStart(),end:this.rawEnd(),tz:t}:{type:"relative",time_range:this.key,tz:t}}tzAdjustedDate(t){if(!t)return new Date;const e=Vw(new Date,new Intl.DateTimeFormat().resolvedOptions().timeZone);return Ph(e,t)}}class Gw extends De{rawStart(t){let e=Jn(this.tzAdjustedDate(t),{weekStartsOn:1});return t&&(e=Tn(e,t)),e}maximumTimeframeLength(){return 3600*24*7}}class Kw extends De{rawStart(t){let e=Ir(this.tzAdjustedDate(t));return t&&(e=Tn(e,t)),e}maximumTimeframeLength(){return 3600*24*31}}class Xw extends De{rawStart(t){let e=Pr(this.tzAdjustedDate(t));return t&&(e=Tn(e,t)),e}maximumTimeframeLength(){return 3600*24*92}}class Zw extends De{rawStart(t){let e=new Date(this.tzAdjustedDate(t).getFullYear(),0,1);return t&&(e=Tn(e,t)),e}maximumTimeframeLength(){return 3600*24*366}}class Qw extends De{rawEnd(t){let e=Jn(this.tzAdjustedDate(t),{weekStartsOn:1});return t&&(e=Tn(e,t)),e}rawStart(t){const e=this.tzAdjustedDate(t);let i=Jn(e.setDate(e.getDate()-7),{weekStartsOn:1});return t&&(i=Tn(i,t)),i}}class Jw extends De{rawEnd(t){let e=Pr(this.tzAdjustedDate(t));return t&&(e=Tn(e,t)),e}rawStart(t){let e=Pr(bh(this.tzAdjustedDate(t)));return t&&(e=Tn(e,t)),e}}class tv extends De{rawEnd(t){let e=Ir(this.tzAdjustedDate(t));return t&&(e=Tn(e,t)),e}rawStart(t){let e=Ir(_h(this.tzAdjustedDate(t)));return t&&(e=Tn(e,t)),e}}class ev extends De{rawEnd(t){let e=new Date(this.tzAdjustedDate(t).getFullYear(),0,1);return t&&(e=Tn(e,t)),e}rawStart(t){let e=new Date(this.tzAdjustedDate(t).getFullYear()-1,0,1);return t&&(e=Tn(e,t)),e}}gt.FIFTEEN_MIN,new De({key:gt.FIFTEEN_MIN,display:"Last 15 minutes",timeframeText:"15 minutes",timeframeLength:()=>900,defaultResponseGranularity:"minutely",dataGranularity:"minutely",isRelative:!0,fineGrainedDefaultGranularity:"thirtySecondly",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["tenSecondly","thirtySecondly","minutely"]}),gt.ONE_HOUR,new De({key:gt.ONE_HOUR,display:"Last hour",timeframeText:"One hour",timeframeLength:()=>3600*1,defaultResponseGranularity:"minutely",dataGranularity:"minutely",isRelative:!0,fineGrainedDefaultGranularity:"minutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["tenSecondly","thirtySecondly","minutely","fiveMinutely","tenMinutely"]}),gt.SIX_HOUR,new De({key:gt.SIX_HOUR,display:"Last 6 hours",timeframeText:"6 hours",timeframeLength:()=>3600*6,defaultResponseGranularity:"hourly",dataGranularity:"hourly",isRelative:!0,fineGrainedDefaultGranularity:"fiveMinutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["thirtySecondly","minutely","fiveMinutely","tenMinutely","thirtyMinutely","hourly"]}),gt.TWELVE_HOUR,new De({key:gt.TWELVE_HOUR,display:"Last 12 hours",timeframeText:"12 hours",timeframeLength:()=>3600*12,defaultResponseGranularity:"hourly",dataGranularity:"hourly",isRelative:!0,fineGrainedDefaultGranularity:"tenMinutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["minutely","fiveMinutely","tenMinutely","thirtyMinutely","hourly"]}),gt.ONE_DAY,new De({key:gt.ONE_DAY,display:"Last 24 hours",timeframeText:"24 hours",timeframeLength:()=>3600*24,defaultResponseGranularity:"hourly",dataGranularity:"hourly",isRelative:!0,fineGrainedDefaultGranularity:"thirtyMinutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["fiveMinutely","tenMinutely","thirtyMinutely","hourly"]}),gt.SEVEN_DAY,new De({key:gt.SEVEN_DAY,display:"Last 7 days",timeframeText:"7 days",timeframeLength:()=>3600*24*7,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"twoHourly",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["thirtyMinutely","hourly","twoHourly","twelveHourly","daily"]}),gt.THIRTY_DAY,new De({key:gt.THIRTY_DAY,display:"Last 30 days",timeframeText:"30 days",timeframeLength:()=>3600*24*30,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"twelveHourly",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),gt.NINETY_DAY,new De({key:gt.NINETY_DAY,display:"Last 90 days",timeframeText:"90 days",timeframeLength:()=>3600*24*90,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"daily",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),gt.ONE_HUNDRED_EIGHTY_DAY,new De({key:gt.ONE_HUNDRED_EIGHTY_DAY,display:"Last 180 days",timeframeText:"180 days",timeframeLength:()=>3600*24*180,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"daily",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),gt.ONE_YEAR,new De({key:gt.ONE_YEAR,display:"Last 365 days",timeframeText:"365 days",timeframeLength:()=>3600*24*365,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"daily",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),gt.CURRENT_WEEK,new Gw({key:gt.CURRENT_WEEK,display:"This week",timeframeText:"Week",timeframeLength:()=>{const n=Jn(new Date,{weekStartsOn:1});return(Rr(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,fineGrainedDefaultGranularity:"twoHourly",allowedTiers:["plus","enterprise"],allowedGranularitiesOverride:["thirtyMinutely","hourly","twoHourly","twelveHourly","daily"]}),gt.CURRENT_MONTH,new Kw({key:gt.CURRENT_MONTH,display:"This month",timeframeText:"Month",timeframeLength:()=>{const n=Ir(new Date);return(Rr(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),gt.CURRENT_QUARTER,new Xw({key:gt.CURRENT_QUARTER,display:"This quarter",timeframeText:"Quarter",timeframeLength:()=>{const n=Pr(new Date);return(Rr(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),gt.CURRENT_YEAR,new Zw({key:gt.CURRENT_YEAR,display:"This year",timeframeText:"Year",timeframeLength:()=>{const n=new Date(new Date().getFullYear(),0,1);return(Rr(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),gt.PREVIOUS_WEEK,new Qw({key:gt.PREVIOUS_WEEK,display:"Previous week",timeframeText:"Week",timeframeLength:()=>3600*24*7,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,fineGrainedDefaultGranularity:"twoHourly",allowedTiers:["plus","enterprise"],allowedGranularitiesOverride:["thirtyMinutely","hourly","twoHourly","twelveHourly","daily"]}),gt.PREVIOUS_MONTH,new tv({key:gt.PREVIOUS_MONTH,display:"Previous month",timeframeText:"Month",timeframeLength:()=>{let n=0;const t=Ir(new Date),e=Ir(_h(new Date));return t.getTimezoneOffset()!==e.getTimezoneOffset()&&(n=Bh(t,e)),3600*24*pw(new Date().setMonth(new Date().getMonth()-1))+yh(n)},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),gt.PREVIOUS_QUARTER,new Jw({key:gt.PREVIOUS_QUARTER,display:"Previous quarter",timeframeText:"Quarter",timeframeLength:()=>{const n=Pr(new Date),t=Pr(bh(new Date));return(n.getTime()-t.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),gt.PREVIOUS_YEAR,new ev({key:gt.PREVIOUS_YEAR,display:"Previous year",timeframeText:"Year",timeframeLength:()=>{const n=new Date(new Date().getFullYear(),0,1),t=new Date(new Date().getFullYear()-1,0,1);let e=0;return n.getTimezoneOffset()!==t.getTimezoneOffset()&&(e=Bh(n,t)),3600*24*(365+(t.getFullYear()%4===0?1:0))+yh(e)},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]});function Bh(n,t){return mw(n.getTimezoneOffset()-t.getTimezoneOffset())}gt.FIFTEEN_MIN,gt.ONE_HOUR,gt.SIX_HOUR,gt.TWELVE_HOUR,gt.ONE_DAY,gt.SEVEN_DAY,gt.FIFTEEN_MIN,gt.ONE_HOUR,gt.SIX_HOUR,gt.TWELVE_HOUR,gt.ONE_DAY,gt.SEVEN_DAY,gt.THIRTY_DAY,gt.NINETY_DAY,gt.ONE_HUNDRED_EIGHTY_DAY,gt.ONE_YEAR,gt.CURRENT_WEEK,gt.CURRENT_MONTH,gt.CURRENT_QUARTER,gt.CURRENT_YEAR,gt.PREVIOUS_WEEK,gt.PREVIOUS_MONTH,gt.PREVIOUS_QUARTER,gt.PREVIOUS_YEAR;const nv=new Map(rh.map(n=>[n.code,{code:n.code,name:n.name}])),kc=n=>nv.get(n)?.name||n,Fh=1e3,iv=1e4,zh=1e6,Uh=1e9,Hh=1e12,oa=(n,t)=>{if(t.separator===!1||n<1e3)return n.toString();const e=typeof t.separator=="string"?t.separator:",",i=[];return Math.round(n).toString().split("").reverse().forEach((r,s)=>{s&&s%3===0&&i.push(e),i.push(r)}),i.reverse().join("")},Os=(n,t,e)=>{const i=n/t,r=e.round?"round":"floor";if(e.decimal===!1)return Math[r](i).toString();let s;e.precision?s=i:s=i<10?Math[r](i*10)/10:Math[r](i);let a=s.toString();return typeof e.decimal=="string"&&(a=a.replace(".",e.decimal)),a};function aa(n,t={}){let e;const i=n<0;i&&(n=Math.abs(n)),t.precision&&(n=parseFloat(n.toPrecision(t.precision)));const r=t.min10k?iv:Fh;return n<r||t.precision&&t.precision>Math.log10(n)?e=oa(Os(n,1,t),t):n<zh?e=`${Os(n,Fh,t)}k`:n<Uh?e=`${Os(n,zh,t)}m`:n<Hh?e=`${oa(Os(n,Uh,t),t)}b`:e=`${oa(Os(n,Hh,t),t)}t`,i&&(e=`-${e}`),t.capital&&(e=e.toUpperCase()),t.prefix&&(e=`${t.prefix}${e}`),t.suffix&&(e=`${e}${t.suffix}`),e}aa.addCommas=oa;const rv=typeof document<"u"&&document.documentElement?.lang||"en-US",la=new Intl.NumberFormat(rv);function er({i18n:n}){const t=(i,r)=>{if(isNaN(i))return"0 B";const s=r?Math.pow(2,50):1e15,a=r?Math.pow(2,40):1e12,l=r?Math.pow(2,30):1e9,u=r?Math.pow(2,20):1e6,d=r?Math.pow(2,10):1e3;let h;return i>=s?h=n.formatNumber(Number.parseFloat((i/s).toPrecision(3)),{style:"unit",unit:"petabyte",unitDisplay:"narrow"}):i>=a?h=n.formatNumber(Number.parseFloat((i/a).toPrecision(3)),{style:"unit",unit:"terabyte",unitDisplay:"narrow"}):i>=l?h=n.formatNumber(Number.parseFloat((i/l).toPrecision(3)),{style:"unit",unit:"gigabyte",unitDisplay:"narrow"}):i>=u?h=n.formatNumber(Number.parseFloat((i/u).toPrecision(3)),{style:"unit",unit:"megabyte",unitDisplay:"narrow"}):i>=d?h=n.formatNumber(Number.parseFloat((i/d).toPrecision(3)),{style:"unit",unit:"kilobyte",unitDisplay:"narrow"}):h=n.formatNumber(Number.parseFloat(i.toPrecision(3)),{style:"unit",unit:"byte",unitDisplay:"narrow"}),h.replace(/([a-zA-Z]*)$/," $1")},e=(i,r="USD")=>isNaN(i)?r==="USD"?"$0.00":`${i}`:i>=.01||r!=="USD"?n.formatNumber(i,{style:"currency",currency:r}):i<1e-4?"< $0.0001":`$${Number.parseFloat(i.toPrecision(4))}`;return{formatUnit:(i,r,{isBytes1024:s=!1,currency:a="USD",approximate:l=!1,translateUnit:u=d=>d}={})=>{const d=u(r,i);switch(r){case"bytes":return t(i,s);case"usd":return e(i,a);default:return isNaN(i)?`${i}`:l?`${aa(i,{capital:!0})} ${d}`:i>=.01?`${la.format(Number.parseFloat(i.toFixed(2)))} ${d}`:`${Number.parseFloat(i.toPrecision(4))} ${d}`}},formatBytes:t,formatCost:e,formatRange:(i,r,s,{isBytes1024:a=!1,currency:l="USD",approximate:u=!1,translateUnit:d=h=>h}={})=>{const h=d(s,r);switch(s){case"bytes":return`${t(i,a)} - ${t(r,a)}`;case"usd":return`${e(i,l)} - ${e(r,l)}`;default:if(isNaN(i)||isNaN(r))return`${i} - ${r}`;if(u)return`${aa(i,{capital:!0})} - ${aa(r,{capital:!0})} ${h}`}const g=i>=.01?`${la.format(Number.parseFloat(i.toFixed(2)))}`:`${Number.parseFloat(i.toPrecision(4))}`,y=r>=.01?`${la.format(Number.parseFloat(r.toFixed(2)))}`:`${Number.parseFloat(r.toPrecision(4))}`;return`${g} - ${y} ${h}`}}}const Wh="#d60027",Vh="#ffe5e5",sv="#f1f0ff",ov="#e0e4ea",$h="#6c7489",av="#afb7c5",Yh="#0d0e14",lv="#d60027",cv="#ad000e",Dc="#6c7489",qh="#52596e",uv="#007d60",dv="#995c00",fv="#ffc400",hv="'Inter', Roboto, Helvetica, sans-serif",As="16px",pv="20px",gv="#bee2ff",mv="#8fc1ff",yv="#5f9aff",_v="#306fff",bv="#b5ffee",xv="#00fabe",wv="#00d6a4",vv="#00a17b",Sv="#007d60",Tv="#005944",Mv="#b5ffee",kv="#00fabe",Dv="#b5ffee",Cv="#00a17b",Ov="#fff296",Av="#ffe04b",Rv="#ffc400",Ev="#b37600",Pv="#995c00",Iv="#804400",Lv="#fff296",Nv="#ffe04b",Bv="#ffc2b3",Fv="#ff9877",zv="#ff723c",Uv="#f75008",Hv="#d13500",Wv="#a31f00",Vv="#ffc2b3",$v="#ff9877",Yv="#ff723c",qv="#f75008",jv="#d13500",Gv="#a31f00",Kv="#ffc2b3",Xv="#ff9877",Zv="#ff723c",Qv="#f75008",Jv="#d13500",t1="#a31f00",e1="#ffc2b3",n1="#ff9877",i1="#ff723c",r1="#f75008",s1="#d13500",o1="#a31f00",a1="#ffc2b3",l1="#ff9877",c1="#ff723c",u1="#f75008",d1="#d13500",f1="#ffabab",h1="#ff7272",p1="#ff3954",g1="#f50045",m1="#d60027",y1="#ad000e",_1="#ffabab",b1="#ff7272",x1="#ff3954",w1="#f50045",v1="#d60027",S1="#eefaff",T1="#ecfffb",M1="#fffce0",k1="#fff1ef",D1="#ffe5e5",C1="#5f9aff",O1="#00d6a4",A1="#ffc400",R1="#ff723c",E1="#ff3954",jh=6048e5,P1=864e5,Rs=6e4,Nr=36e5,I1=1e3,Gh=Symbol.for("constructDateFrom");function he(n,t){return typeof n=="function"?n(t):n&&typeof n=="object"&&Gh in n?n[Gh](t):n instanceof Date?new n.constructor(t):new Date(t)}function At(n,t){return he(t||n,n)}function ca(n,t,e){const i=At(n,e?.in);return isNaN(t)?he(e?.in||n,NaN):(t&&i.setDate(i.getDate()+t),i)}function Cc(n,t,e){const i=At(n,e?.in);if(isNaN(t))return he(n,NaN);if(!t)return i;const r=i.getDate(),s=he(n,i.getTime());s.setMonth(i.getMonth()+t+1,0);const a=s.getDate();return r>=a?s:(i.setFullYear(s.getFullYear(),s.getMonth(),r),i)}function Oc(n,t,e){return he(n,+At(n)+t)}function L1(n,t,e){return Oc(n,t*Nr)}let N1={};function nr(){return N1}function Wn(n,t){const e=nr(),i=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??e.weekStartsOn??e.locale?.options?.weekStartsOn??0,r=At(n,t?.in),s=r.getDay(),a=(s<i?7:0)+s-i;return r.setDate(r.getDate()-a),r.setHours(0,0,0,0),r}function Br(n,t){return Wn(n,{...t,weekStartsOn:1})}function Kh(n,t){const e=At(n,t?.in),i=e.getFullYear(),r=he(e,0);r.setFullYear(i+1,0,4),r.setHours(0,0,0,0);const s=Br(r),a=he(e,0);a.setFullYear(i,0,4),a.setHours(0,0,0,0);const l=Br(a);return e.getTime()>=s.getTime()?i+1:e.getTime()>=l.getTime()?i:i-1}function ua(n){const t=At(n),e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),+n-+e}function ir(n,...t){const e=he.bind(null,t.find(i=>typeof i=="object"));return t.map(e)}function Ac(n,t){const e=At(n,t?.in);return e.setHours(0,0,0,0),e}function Xh(n,t,e){const[i,r]=ir(e?.in,n,t),s=Ac(i),a=Ac(r),l=+s-ua(s),u=+a-ua(a);return Math.round((l-u)/P1)}function B1(n,t){const e=Kh(n,t),i=he(n,0);return i.setFullYear(e,0,4),i.setHours(0,0,0,0),Br(i)}function F1(n,t,e){const i=At(n,e?.in);return i.setTime(i.getTime()+t*Rs),i}function z1(n,t,e){return Cc(n,t*3,e)}function U1(n,t,e){return Oc(n,t*1e3)}function H1(n,t,e){return ca(n,t*7,e)}function W1(n,t,e){return Cc(n,t*12,e)}function Es(n,t){const e=+At(n)-+At(t);return e<0?-1:e>0?1:e}function V1(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function Rc(n){return!(!V1(n)&&typeof n!="number"||isNaN(+At(n)))}function $1(n,t,e){const[i,r]=ir(e?.in,n,t),s=i.getFullYear()-r.getFullYear(),a=i.getMonth()-r.getMonth();return s*12+a}function Y1(n,t,e){const[i,r]=ir(e?.in,n,t);return i.getFullYear()-r.getFullYear()}function Zh(n,t,e){const[i,r]=ir(e?.in,n,t),s=Qh(i,r),a=Math.abs(Xh(i,r));i.setDate(i.getDate()-s*a);const l=+(Qh(i,r)===-s),u=s*(a-l);return u===0?0:u}function Qh(n,t){const e=n.getFullYear()-t.getFullYear()||n.getMonth()-t.getMonth()||n.getDate()-t.getDate()||n.getHours()-t.getHours()||n.getMinutes()-t.getMinutes()||n.getSeconds()-t.getSeconds()||n.getMilliseconds()-t.getMilliseconds();return e<0?-1:e>0?1:e}function Ps(n){return t=>{const i=(n?Math[n]:Math.trunc)(t);return i===0?0:i}}function q1(n,t,e){const[i,r]=ir(e?.in,n,t),s=(+i-+r)/Nr;return Ps(e?.roundingMethod)(s)}function Ec(n,t){return+At(n)-+At(t)}function j1(n,t,e){const i=Ec(n,t)/Rs;return Ps(e?.roundingMethod)(i)}function Jh(n,t){const e=At(n,t?.in);return e.setHours(23,59,59,999),e}function tp(n,t){const e=At(n,t?.in),i=e.getMonth();return e.setFullYear(e.getFullYear(),i+1,0),e.setHours(23,59,59,999),e}function G1(n,t){const e=At(n,t?.in);return+Jh(e,t)==+tp(e,t)}function ep(n,t,e){const[i,r,s]=ir(e?.in,n,n,t),a=Es(r,s),l=Math.abs($1(r,s));if(l<1)return 0;r.getMonth()===1&&r.getDate()>27&&r.setDate(30),r.setMonth(r.getMonth()-a*l);let u=Es(r,s)===-a;G1(i)&&l===1&&Es(i,s)===1&&(u=!1);const d=a*(l-+u);return d===0?0:d}function K1(n,t,e){const i=ep(n,t,e)/3;return Ps(e?.roundingMethod)(i)}function X1(n,t,e){const i=Ec(n,t)/1e3;return Ps(e?.roundingMethod)(i)}function Z1(n,t,e){const i=Zh(n,t,e)/7;return Ps(e?.roundingMethod)(i)}function Q1(n,t,e){const[i,r]=ir(e?.in,n,t),s=Es(i,r),a=Math.abs(Y1(i,r));i.setFullYear(1584),r.setFullYear(1584);const l=Es(i,r)===-s,u=s*(a-+l);return u===0?0:u}function J1(n,t){const e=At(n,t?.in),i=e.getMonth(),r=i-i%3;return e.setMonth(r,1),e.setHours(0,0,0,0),e}function tS(n,t){const e=At(n,t?.in);return e.setDate(1),e.setHours(0,0,0,0),e}function eS(n,t){const e=At(n,t?.in),i=e.getFullYear();return e.setFullYear(i+1,0,0),e.setHours(23,59,59,999),e}function np(n,t){const e=At(n,t?.in);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e}function nS(n,t){const e=At(n,t?.in);return e.setMinutes(59,59,999),e}function iS(n,t){const e=nr(),i=e.weekStartsOn??e.locale?.options?.weekStartsOn??0,r=At(n,t?.in),s=r.getDay(),a=(s<i?-7:0)+6-(s-i);return r.setDate(r.getDate()+a),r.setHours(23,59,59,999),r}function rS(n,t){const e=At(n,t?.in);return e.setSeconds(59,999),e}function sS(n,t){const e=At(n,t?.in),i=e.getMonth(),r=i-i%3+3;return e.setMonth(r,0),e.setHours(23,59,59,999),e}function oS(n,t){const e=At(n,t?.in);return e.setMilliseconds(999),e}const aS={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},lS=(n,t,e)=>{let i;const r=aS[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e?.addSuffix?e.comparison&&e.comparison>0?"in "+i:i+" ago":i};function Pc(n){return(t={})=>{const e=t.width?String(t.width):n.defaultWidth;return n.formats[e]||n.formats[n.defaultWidth]}}const cS={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},uS={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},dS={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},fS={date:Pc({formats:cS,defaultWidth:"full"}),time:Pc({formats:uS,defaultWidth:"full"}),dateTime:Pc({formats:dS,defaultWidth:"full"})},hS={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},pS=(n,t,e,i)=>hS[n];function Is(n){return(t,e)=>{const i=e?.context?String(e.context):"standalone";let r;if(i==="formatting"&&n.formattingValues){const a=n.defaultFormattingWidth||n.defaultWidth,l=e?.width?String(e.width):a;r=n.formattingValues[l]||n.formattingValues[a]}else{const a=n.defaultWidth,l=e?.width?String(e.width):n.defaultWidth;r=n.values[l]||n.values[a]}const s=n.argumentCallback?n.argumentCallback(t):t;return r[s]}}const gS={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},mS={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},yS={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},_S={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},bS={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},xS={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},wS={ordinalNumber:(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},era:Is({values:gS,defaultWidth:"wide"}),quarter:Is({values:mS,defaultWidth:"wide",argumentCallback:n=>n-1}),month:Is({values:yS,defaultWidth:"wide"}),day:Is({values:_S,defaultWidth:"wide"}),dayPeriod:Is({values:bS,defaultWidth:"wide",formattingValues:xS,defaultFormattingWidth:"wide"})};function Ls(n){return(t,e={})=>{const i=e.width,r=i&&n.matchPatterns[i]||n.matchPatterns[n.defaultMatchWidth],s=t.match(r);if(!s)return null;const a=s[0],l=i&&n.parsePatterns[i]||n.parsePatterns[n.defaultParseWidth],u=Array.isArray(l)?SS(l,g=>g.test(a)):vS(l,g=>g.test(a));let d;d=n.valueCallback?n.valueCallback(u):u,d=e.valueCallback?e.valueCallback(d):d;const h=t.slice(a.length);return{value:d,rest:h}}}function vS(n,t){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&t(n[e]))return e}function SS(n,t){for(let e=0;e<n.length;e++)if(t(n[e]))return e}function TS(n){return(t,e={})=>{const i=t.match(n.matchPattern);if(!i)return null;const r=i[0],s=t.match(n.parsePattern);if(!s)return null;let a=n.valueCallback?n.valueCallback(s[0]):s[0];a=e.valueCallback?e.valueCallback(a):a;const l=t.slice(r.length);return{value:a,rest:l}}}const MS=/^(\d+)(th|st|nd|rd)?/i,kS=/\d+/i,DS={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},CS={any:[/^b/i,/^(a|c)/i]},OS={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},AS={any:[/1/i,/2/i,/3/i,/4/i]},RS={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ES={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},PS={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},IS={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},LS={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},NS={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},BS={ordinalNumber:TS({matchPattern:MS,parsePattern:kS,valueCallback:n=>parseInt(n,10)}),era:Ls({matchPatterns:DS,defaultMatchWidth:"wide",parsePatterns:CS,defaultParseWidth:"any"}),quarter:Ls({matchPatterns:OS,defaultMatchWidth:"wide",parsePatterns:AS,defaultParseWidth:"any",valueCallback:n=>n+1}),month:Ls({matchPatterns:RS,defaultMatchWidth:"wide",parsePatterns:ES,defaultParseWidth:"any"}),day:Ls({matchPatterns:PS,defaultMatchWidth:"wide",parsePatterns:IS,defaultParseWidth:"any"}),dayPeriod:Ls({matchPatterns:LS,defaultMatchWidth:"any",parsePatterns:NS,defaultParseWidth:"any"})},ip={code:"en-US",formatDistance:lS,formatLong:fS,formatRelative:pS,localize:wS,match:BS,options:{weekStartsOn:0,firstWeekContainsDate:1}};function FS(n,t){const e=At(n,t?.in);return Xh(e,np(e))+1}function rp(n,t){const e=At(n,t?.in),i=+Br(e)-+B1(e);return Math.round(i/jh)+1}function Ic(n,t){const e=At(n,t?.in),i=e.getFullYear(),r=nr(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=he(t?.in||n,0);a.setFullYear(i+1,0,s),a.setHours(0,0,0,0);const l=Wn(a,t),u=he(t?.in||n,0);u.setFullYear(i,0,s),u.setHours(0,0,0,0);const d=Wn(u,t);return+e>=+l?i+1:+e>=+d?i:i-1}function zS(n,t){const e=nr(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??e.firstWeekContainsDate??e.locale?.options?.firstWeekContainsDate??1,r=Ic(n,t),s=he(t?.in||n,0);return s.setFullYear(r,0,i),s.setHours(0,0,0,0),Wn(s,t)}function sp(n,t){const e=At(n,t?.in),i=+Wn(e,t)-+zS(e,t);return Math.round(i/jh)+1}function Zt(n,t){const e=n<0?"-":"",i=Math.abs(n).toString().padStart(t,"0");return e+i}const vi={y(n,t){const e=n.getFullYear(),i=e>0?e:1-e;return Zt(t==="yy"?i%100:i,t.length)},M(n,t){const e=n.getMonth();return t==="M"?String(e+1):Zt(e+1,2)},d(n,t){return Zt(n.getDate(),t.length)},a(n,t){const e=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];default:return e==="am"?"a.m.":"p.m."}},h(n,t){return Zt(n.getHours()%12||12,t.length)},H(n,t){return Zt(n.getHours(),t.length)},m(n,t){return Zt(n.getMinutes(),t.length)},s(n,t){return Zt(n.getSeconds(),t.length)},S(n,t){const e=t.length,i=n.getMilliseconds(),r=Math.trunc(i*Math.pow(10,e-3));return Zt(r,t.length)}},Fr={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},op={G:function(n,t,e){const i=n.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return e.era(i,{width:"abbreviated"});case"GGGGG":return e.era(i,{width:"narrow"});default:return e.era(i,{width:"wide"})}},y:function(n,t,e){if(t==="yo"){const i=n.getFullYear(),r=i>0?i:1-i;return e.ordinalNumber(r,{unit:"year"})}return vi.y(n,t)},Y:function(n,t,e,i){const r=Ic(n,i),s=r>0?r:1-r;if(t==="YY"){const a=s%100;return Zt(a,2)}return t==="Yo"?e.ordinalNumber(s,{unit:"year"}):Zt(s,t.length)},R:function(n,t){const e=Kh(n);return Zt(e,t.length)},u:function(n,t){const e=n.getFullYear();return Zt(e,t.length)},Q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return Zt(i,2);case"Qo":return e.ordinalNumber(i,{unit:"quarter"});case"QQQ":return e.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(i,{width:"narrow",context:"formatting"});default:return e.quarter(i,{width:"wide",context:"formatting"})}},q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return Zt(i,2);case"qo":return e.ordinalNumber(i,{unit:"quarter"});case"qqq":return e.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(i,{width:"narrow",context:"standalone"});default:return e.quarter(i,{width:"wide",context:"standalone"})}},M:function(n,t,e){const i=n.getMonth();switch(t){case"M":case"MM":return vi.M(n,t);case"Mo":return e.ordinalNumber(i+1,{unit:"month"});case"MMM":return e.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(i,{width:"narrow",context:"formatting"});default:return e.month(i,{width:"wide",context:"formatting"})}},L:function(n,t,e){const i=n.getMonth();switch(t){case"L":return String(i+1);case"LL":return Zt(i+1,2);case"Lo":return e.ordinalNumber(i+1,{unit:"month"});case"LLL":return e.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(i,{width:"narrow",context:"standalone"});default:return e.month(i,{width:"wide",context:"standalone"})}},w:function(n,t,e,i){const r=sp(n,i);return t==="wo"?e.ordinalNumber(r,{unit:"week"}):Zt(r,t.length)},I:function(n,t,e){const i=rp(n);return t==="Io"?e.ordinalNumber(i,{unit:"week"}):Zt(i,t.length)},d:function(n,t,e){return t==="do"?e.ordinalNumber(n.getDate(),{unit:"date"}):vi.d(n,t)},D:function(n,t,e){const i=FS(n);return t==="Do"?e.ordinalNumber(i,{unit:"dayOfYear"}):Zt(i,t.length)},E:function(n,t,e){const i=n.getDay();switch(t){case"E":case"EE":case"EEE":return e.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},e:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return Zt(s,2);case"eo":return e.ordinalNumber(s,{unit:"day"});case"eee":return e.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(r,{width:"short",context:"formatting"});default:return e.day(r,{width:"wide",context:"formatting"})}},c:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return Zt(s,t.length);case"co":return e.ordinalNumber(s,{unit:"day"});case"ccc":return e.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(r,{width:"narrow",context:"standalone"});case"cccccc":return e.day(r,{width:"short",context:"standalone"});default:return e.day(r,{width:"wide",context:"standalone"})}},i:function(n,t,e){const i=n.getDay(),r=i===0?7:i;switch(t){case"i":return String(r);case"ii":return Zt(r,t.length);case"io":return e.ordinalNumber(r,{unit:"day"});case"iii":return e.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},a:function(n,t,e){const r=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(n,t,e){const i=n.getHours();let r;switch(i===12?r=Fr.noon:i===0?r=Fr.midnight:r=i/12>=1?"pm":"am",t){case"b":case"bb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(n,t,e){const i=n.getHours();let r;switch(i>=17?r=Fr.evening:i>=12?r=Fr.afternoon:i>=4?r=Fr.morning:r=Fr.night,t){case"B":case"BB":case"BBB":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(n,t,e){if(t==="ho"){let i=n.getHours()%12;return i===0&&(i=12),e.ordinalNumber(i,{unit:"hour"})}return vi.h(n,t)},H:function(n,t,e){return t==="Ho"?e.ordinalNumber(n.getHours(),{unit:"hour"}):vi.H(n,t)},K:function(n,t,e){const i=n.getHours()%12;return t==="Ko"?e.ordinalNumber(i,{unit:"hour"}):Zt(i,t.length)},k:function(n,t,e){let i=n.getHours();return i===0&&(i=24),t==="ko"?e.ordinalNumber(i,{unit:"hour"}):Zt(i,t.length)},m:function(n,t,e){return t==="mo"?e.ordinalNumber(n.getMinutes(),{unit:"minute"}):vi.m(n,t)},s:function(n,t,e){return t==="so"?e.ordinalNumber(n.getSeconds(),{unit:"second"}):vi.s(n,t)},S:function(n,t){return vi.S(n,t)},X:function(n,t,e){const i=n.getTimezoneOffset();if(i===0)return"Z";switch(t){case"X":return lp(i);case"XXXX":case"XX":return rr(i);default:return rr(i,":")}},x:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"x":return lp(i);case"xxxx":case"xx":return rr(i);default:return rr(i,":")}},O:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+ap(i,":");default:return"GMT"+rr(i,":")}},z:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+ap(i,":");default:return"GMT"+rr(i,":")}},t:function(n,t,e){const i=Math.trunc(+n/1e3);return Zt(i,t.length)},T:function(n,t,e){return Zt(+n,t.length)}};function ap(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.trunc(i/60),s=i%60;return s===0?e+String(r):e+String(r)+t+Zt(s,2)}function lp(n,t){return n%60===0?(n>0?"-":"+")+Zt(Math.abs(n)/60,2):rr(n,t)}function rr(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Zt(Math.trunc(i/60),2),s=Zt(i%60,2);return e+r+t+s}const cp=(n,t)=>{switch(n){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},up=(n,t)=>{switch(n){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Lc={p:up,P:(n,t)=>{const e=n.match(/(P+)(p+)?/)||[],i=e[1],r=e[2];if(!r)return cp(n,t);let s;switch(i){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",cp(i,t)).replace("{{time}}",up(r,t))}},US=/^D+$/,HS=/^Y+$/,WS=["D","DD","YY","YYYY"];function dp(n){return US.test(n)}function fp(n){return HS.test(n)}function Nc(n,t,e){const i=VS(n,t,e);if(console.warn(i),WS.includes(n))throw new RangeError(i)}function VS(n,t,e){const i=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${t}\`) for formatting ${i} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const $S=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,YS=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,qS=/^'([^]*?)'?$/,jS=/''/g,GS=/[a-zA-Z]/;function da(n,t,e){const i=nr(),r=e?.locale??i.locale??ip,s=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,l=At(n,e?.in);if(!Rc(l))throw new RangeError("Invalid time value");let u=t.match(YS).map(h=>{const g=h[0];if(g==="p"||g==="P"){const y=Lc[g];return y(h,r.formatLong)}return h}).join("").match($S).map(h=>{if(h==="''")return{isToken:!1,value:"'"};const g=h[0];if(g==="'")return{isToken:!1,value:KS(h)};if(op[g])return{isToken:!0,value:h};if(g.match(GS))throw new RangeError("Format string contains an unescaped latin alphabet character `"+g+"`");return{isToken:!1,value:h}});r.localize.preprocessor&&(u=r.localize.preprocessor(l,u));const d={firstWeekContainsDate:s,weekStartsOn:a,locale:r};return u.map(h=>{if(!h.isToken)return h.value;const g=h.value;(!e?.useAdditionalWeekYearTokens&&fp(g)||!e?.useAdditionalDayOfYearTokens&&dp(g))&&Nc(g,t,String(n));const y=op[g[0]];return y(l,g,r.localize,d)}).join("")}function KS(n){const t=n.match(qS);return t?t[1].replace(jS,"'"):n}function hp(){return Object.assign({},nr())}function XS(n,t){const e=At(n,t?.in).getDay();return e===0?7:e}function ZS(n,t){const e=QS(t)?new t(0):he(t,0);return e.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),e.setHours(n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()),e}function QS(n){return typeof n=="function"&&n.prototype?.constructor===n}const JS=10;class pp{subPriority=0;validate(t,e){return!0}}class tT extends pp{constructor(t,e,i,r,s){super(),this.value=t,this.validateValue=e,this.setValue=i,this.priority=r,s&&(this.subPriority=s)}validate(t,e){return this.validateValue(t,this.value,e)}set(t,e,i){return this.setValue(t,e,this.value,i)}}class eT extends pp{priority=JS;subPriority=-1;constructor(t,e){super(),this.context=t||(i=>he(e,i))}set(t,e){return e.timestampIsSet?t:he(t,ZS(t,this.context))}}class Wt{run(t,e,i,r){const s=this.parse(t,e,i,r);return s?{setter:new tT(s.value,this.validate,this.set,this.priority,this.subPriority),rest:s.rest}:null}validate(t,e,i){return!0}}class nT extends Wt{priority=140;parse(t,e,i){switch(e){case"G":case"GG":case"GGG":return i.era(t,{width:"abbreviated"})||i.era(t,{width:"narrow"});case"GGGGG":return i.era(t,{width:"narrow"});default:return i.era(t,{width:"wide"})||i.era(t,{width:"abbreviated"})||i.era(t,{width:"narrow"})}}set(t,e,i){return e.era=i,t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]}const me={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},Vn={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function ye(n,t){return n&&{value:t(n.value),rest:n.rest}}function de(n,t){const e=t.match(n);return e?{value:parseInt(e[0],10),rest:t.slice(e[0].length)}:null}function $n(n,t){const e=t.match(n);if(!e)return null;if(e[0]==="Z")return{value:0,rest:t.slice(1)};const i=e[1]==="+"?1:-1,r=e[2]?parseInt(e[2],10):0,s=e[3]?parseInt(e[3],10):0,a=e[5]?parseInt(e[5],10):0;return{value:i*(r*Nr+s*Rs+a*I1),rest:t.slice(e[0].length)}}function gp(n){return de(me.anyDigitsSigned,n)}function pe(n,t){switch(n){case 1:return de(me.singleDigit,t);case 2:return de(me.twoDigits,t);case 3:return de(me.threeDigits,t);case 4:return de(me.fourDigits,t);default:return de(new RegExp("^\\d{1,"+n+"}"),t)}}function fa(n,t){switch(n){case 1:return de(me.singleDigitSigned,t);case 2:return de(me.twoDigitsSigned,t);case 3:return de(me.threeDigitsSigned,t);case 4:return de(me.fourDigitsSigned,t);default:return de(new RegExp("^-?\\d{1,"+n+"}"),t)}}function Bc(n){switch(n){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function mp(n,t){const e=t>0,i=e?t:1-t;let r;if(i<=50)r=n||100;else{const s=i+50,a=Math.trunc(s/100)*100,l=n>=s%100;r=n+a-(l?100:0)}return e?r:1-r}function yp(n){return n%400===0||n%4===0&&n%100!==0}class iT extends Wt{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,i){const r=s=>({year:s,isTwoDigitYear:e==="yy"});switch(e){case"y":return ye(pe(4,t),r);case"yo":return ye(i.ordinalNumber(t,{unit:"year"}),r);default:return ye(pe(e.length,t),r)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,i){const r=t.getFullYear();if(i.isTwoDigitYear){const a=mp(i.year,r);return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}const s=!("era"in e)||e.era===1?i.year:1-i.year;return t.setFullYear(s,0,1),t.setHours(0,0,0,0),t}}class rT extends Wt{priority=130;parse(t,e,i){const r=s=>({year:s,isTwoDigitYear:e==="YY"});switch(e){case"Y":return ye(pe(4,t),r);case"Yo":return ye(i.ordinalNumber(t,{unit:"year"}),r);default:return ye(pe(e.length,t),r)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,i,r){const s=Ic(t,r);if(i.isTwoDigitYear){const l=mp(i.year,s);return t.setFullYear(l,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),Wn(t,r)}const a=!("era"in e)||e.era===1?i.year:1-i.year;return t.setFullYear(a,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),Wn(t,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class sT extends Wt{priority=130;parse(t,e){return fa(e==="R"?4:e.length,t)}set(t,e,i){const r=he(t,0);return r.setFullYear(i,0,4),r.setHours(0,0,0,0),Br(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class oT extends Wt{priority=130;parse(t,e){return fa(e==="u"?4:e.length,t)}set(t,e,i){return t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class aT extends Wt{priority=120;parse(t,e,i){switch(e){case"Q":case"QQ":return pe(e.length,t);case"Qo":return i.ordinalNumber(t,{unit:"quarter"});case"QQQ":return i.quarter(t,{width:"abbreviated",context:"formatting"})||i.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return i.quarter(t,{width:"narrow",context:"formatting"});default:return i.quarter(t,{width:"wide",context:"formatting"})||i.quarter(t,{width:"abbreviated",context:"formatting"})||i.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,i){return t.setMonth((i-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class lT extends Wt{priority=120;parse(t,e,i){switch(e){case"q":case"qq":return pe(e.length,t);case"qo":return i.ordinalNumber(t,{unit:"quarter"});case"qqq":return i.quarter(t,{width:"abbreviated",context:"standalone"})||i.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return i.quarter(t,{width:"narrow",context:"standalone"});default:return i.quarter(t,{width:"wide",context:"standalone"})||i.quarter(t,{width:"abbreviated",context:"standalone"})||i.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,i){return t.setMonth((i-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class cT extends Wt{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,i){const r=s=>s-1;switch(e){case"M":return ye(de(me.month,t),r);case"MM":return ye(pe(2,t),r);case"Mo":return ye(i.ordinalNumber(t,{unit:"month"}),r);case"MMM":return i.month(t,{width:"abbreviated",context:"formatting"})||i.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return i.month(t,{width:"narrow",context:"formatting"});default:return i.month(t,{width:"wide",context:"formatting"})||i.month(t,{width:"abbreviated",context:"formatting"})||i.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,i){return t.setMonth(i,1),t.setHours(0,0,0,0),t}}class uT extends Wt{priority=110;parse(t,e,i){const r=s=>s-1;switch(e){case"L":return ye(de(me.month,t),r);case"LL":return ye(pe(2,t),r);case"Lo":return ye(i.ordinalNumber(t,{unit:"month"}),r);case"LLL":return i.month(t,{width:"abbreviated",context:"standalone"})||i.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return i.month(t,{width:"narrow",context:"standalone"});default:return i.month(t,{width:"wide",context:"standalone"})||i.month(t,{width:"abbreviated",context:"standalone"})||i.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,i){return t.setMonth(i,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function dT(n,t,e){const i=At(n,e?.in),r=sp(i,e)-t;return i.setDate(i.getDate()-r*7),At(i,e?.in)}class fT extends Wt{priority=100;parse(t,e,i){switch(e){case"w":return de(me.week,t);case"wo":return i.ordinalNumber(t,{unit:"week"});default:return pe(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,e,i,r){return Wn(dT(t,i,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function hT(n,t,e){const i=At(n,e?.in),r=rp(i,e)-t;return i.setDate(i.getDate()-r*7),i}class pT extends Wt{priority=100;parse(t,e,i){switch(e){case"I":return de(me.week,t);case"Io":return i.ordinalNumber(t,{unit:"week"});default:return pe(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,e,i){return Br(hT(t,i))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const gT=[31,28,31,30,31,30,31,31,30,31,30,31],mT=[31,29,31,30,31,30,31,31,30,31,30,31];class yT extends Wt{priority=90;subPriority=1;parse(t,e,i){switch(e){case"d":return de(me.date,t);case"do":return i.ordinalNumber(t,{unit:"date"});default:return pe(e.length,t)}}validate(t,e){const i=t.getFullYear(),r=yp(i),s=t.getMonth();return r?e>=1&&e<=mT[s]:e>=1&&e<=gT[s]}set(t,e,i){return t.setDate(i),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class _T extends Wt{priority=90;subpriority=1;parse(t,e,i){switch(e){case"D":case"DD":return de(me.dayOfYear,t);case"Do":return i.ordinalNumber(t,{unit:"date"});default:return pe(e.length,t)}}validate(t,e){const i=t.getFullYear();return yp(i)?e>=1&&e<=366:e>=1&&e<=365}set(t,e,i){return t.setMonth(0,i),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function Fc(n,t,e){const i=nr(),r=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,s=At(n,e?.in),a=s.getDay(),u=(t%7+7)%7,d=7-r,h=t<0||t>6?t-(a+d)%7:(u+d)%7-(a+d)%7;return ca(s,h,e)}class bT extends Wt{priority=90;parse(t,e,i){switch(e){case"E":case"EE":case"EEE":return i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return i.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});default:return i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,i,r){return t=Fc(t,i,r),t.setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]}class xT extends Wt{priority=90;parse(t,e,i,r){const s=a=>{const l=Math.floor((a-1)/7)*7;return(a+r.weekStartsOn+6)%7+l};switch(e){case"e":case"ee":return ye(pe(e.length,t),s);case"eo":return ye(i.ordinalNumber(t,{unit:"day"}),s);case"eee":return i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});case"eeeee":return i.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});default:return i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,i,r){return t=Fc(t,i,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class wT extends Wt{priority=90;parse(t,e,i,r){const s=a=>{const l=Math.floor((a-1)/7)*7;return(a+r.weekStartsOn+6)%7+l};switch(e){case"c":case"cc":return ye(pe(e.length,t),s);case"co":return ye(i.ordinalNumber(t,{unit:"day"}),s);case"ccc":return i.day(t,{width:"abbreviated",context:"standalone"})||i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"});case"ccccc":return i.day(t,{width:"narrow",context:"standalone"});case"cccccc":return i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"});default:return i.day(t,{width:"wide",context:"standalone"})||i.day(t,{width:"abbreviated",context:"standalone"})||i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,i,r){return t=Fc(t,i,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function vT(n,t,e){const i=At(n,e?.in),r=XS(i,e),s=t-r;return ca(i,s,e)}class ST extends Wt{priority=90;parse(t,e,i){const r=s=>s===0?7:s;switch(e){case"i":case"ii":return pe(e.length,t);case"io":return i.ordinalNumber(t,{unit:"day"});case"iii":return ye(i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),r);case"iiiii":return ye(i.day(t,{width:"narrow",context:"formatting"}),r);case"iiiiii":return ye(i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),r);default:return ye(i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),r)}}validate(t,e){return e>=1&&e<=7}set(t,e,i){return t=vT(t,i),t.setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class TT extends Wt{priority=80;parse(t,e,i){switch(e){case"a":case"aa":case"aaa":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return i.dayPeriod(t,{width:"narrow",context:"formatting"});default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,i){return t.setHours(Bc(i),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]}class MT extends Wt{priority=80;parse(t,e,i){switch(e){case"b":case"bb":case"bbb":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return i.dayPeriod(t,{width:"narrow",context:"formatting"});default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,i){return t.setHours(Bc(i),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]}class kT extends Wt{priority=80;parse(t,e,i){switch(e){case"B":case"BB":case"BBB":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return i.dayPeriod(t,{width:"narrow",context:"formatting"});default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,i){return t.setHours(Bc(i),0,0,0),t}incompatibleTokens=["a","b","t","T"]}class DT extends Wt{priority=70;parse(t,e,i){switch(e){case"h":return de(me.hour12h,t);case"ho":return i.ordinalNumber(t,{unit:"hour"});default:return pe(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,i){const r=t.getHours()>=12;return r&&i<12?t.setHours(i+12,0,0,0):!r&&i===12?t.setHours(0,0,0,0):t.setHours(i,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]}class CT extends Wt{priority=70;parse(t,e,i){switch(e){case"H":return de(me.hour23h,t);case"Ho":return i.ordinalNumber(t,{unit:"hour"});default:return pe(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,i){return t.setHours(i,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]}class OT extends Wt{priority=70;parse(t,e,i){switch(e){case"K":return de(me.hour11h,t);case"Ko":return i.ordinalNumber(t,{unit:"hour"});default:return pe(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,i){return t.getHours()>=12&&i<12?t.setHours(i+12,0,0,0):t.setHours(i,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]}class AT extends Wt{priority=70;parse(t,e,i){switch(e){case"k":return de(me.hour24h,t);case"ko":return i.ordinalNumber(t,{unit:"hour"});default:return pe(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,i){const r=i<=24?i%24:i;return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]}class RT extends Wt{priority=60;parse(t,e,i){switch(e){case"m":return de(me.minute,t);case"mo":return i.ordinalNumber(t,{unit:"minute"});default:return pe(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,i){return t.setMinutes(i,0,0),t}incompatibleTokens=["t","T"]}class ET extends Wt{priority=50;parse(t,e,i){switch(e){case"s":return de(me.second,t);case"so":return i.ordinalNumber(t,{unit:"second"});default:return pe(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,i){return t.setSeconds(i,0),t}incompatibleTokens=["t","T"]}class PT extends Wt{priority=30;parse(t,e){const i=r=>Math.trunc(r*Math.pow(10,-e.length+3));return ye(pe(e.length,t),i)}set(t,e,i){return t.setMilliseconds(i),t}incompatibleTokens=["t","T"]}class IT extends Wt{priority=10;parse(t,e){switch(e){case"X":return $n(Vn.basicOptionalMinutes,t);case"XX":return $n(Vn.basic,t);case"XXXX":return $n(Vn.basicOptionalSeconds,t);case"XXXXX":return $n(Vn.extendedOptionalSeconds,t);default:return $n(Vn.extended,t)}}set(t,e,i){return e.timestampIsSet?t:he(t,t.getTime()-ua(t)-i)}incompatibleTokens=["t","T","x"]}class LT extends Wt{priority=10;parse(t,e){switch(e){case"x":return $n(Vn.basicOptionalMinutes,t);case"xx":return $n(Vn.basic,t);case"xxxx":return $n(Vn.basicOptionalSeconds,t);case"xxxxx":return $n(Vn.extendedOptionalSeconds,t);default:return $n(Vn.extended,t)}}set(t,e,i){return e.timestampIsSet?t:he(t,t.getTime()-ua(t)-i)}incompatibleTokens=["t","T","X"]}class NT extends Wt{priority=40;parse(t){return gp(t)}set(t,e,i){return[he(t,i*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class BT extends Wt{priority=20;parse(t){return gp(t)}set(t,e,i){return[he(t,i),{timestampIsSet:!0}]}incompatibleTokens="*"}const FT={G:new nT,y:new iT,Y:new rT,R:new sT,u:new oT,Q:new aT,q:new lT,M:new cT,L:new uT,w:new fT,I:new pT,d:new yT,D:new _T,E:new bT,e:new xT,c:new wT,i:new ST,a:new TT,b:new MT,B:new kT,h:new DT,H:new CT,K:new OT,k:new AT,m:new RT,s:new ET,S:new PT,X:new IT,x:new LT,t:new NT,T:new BT},zT=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,UT=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,HT=/^'([^]*?)'?$/,WT=/''/g,VT=/\S/,$T=/[a-zA-Z]/;function YT(n,t,e,i){const r=()=>he(i?.in||e,NaN),s=hp(),a=i?.locale??s.locale??ip,l=i?.firstWeekContainsDate??i?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,u=i?.weekStartsOn??i?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0;if(!t)return n?r():At(e,i?.in);const d={firstWeekContainsDate:l,weekStartsOn:u,locale:a},h=[new eT(i?.in,e)],g=t.match(UT).map(M=>{const C=M[0];if(C in Lc){const R=Lc[C];return R(M,a.formatLong)}return M}).join("").match(zT),y=[];for(let M of g){!i?.useAdditionalWeekYearTokens&&fp(M)&&Nc(M,t,n),!i?.useAdditionalDayOfYearTokens&&dp(M)&&Nc(M,t,n);const C=M[0],R=FT[C];if(R){const{incompatibleTokens:F}=R;if(Array.isArray(F)){const L=y.find(N=>F.includes(N.token)||N.token===C);if(L)throw new RangeError(`The format string mustn't contain \`${L.fullToken}\` and \`${M}\` at the same time`)}else if(R.incompatibleTokens==="*"&&y.length>0)throw new RangeError(`The format string mustn't contain \`${M}\` and any other token at the same time`);y.push({token:C,fullToken:M});const I=R.run(n,M,a.match,d);if(!I)return r();h.push(I.setter),n=I.rest}else{if(C.match($T))throw new RangeError("Format string contains an unescaped latin alphabet character `"+C+"`");if(M==="''"?M="'":C==="'"&&(M=qT(M)),n.indexOf(M)===0)n=n.slice(M.length);else return r()}}if(n.length>0&&VT.test(n))return r();const _=h.map(M=>M.priority).sort((M,C)=>C-M).filter((M,C,R)=>R.indexOf(M)===C).map(M=>h.filter(C=>C.priority===M).sort((C,R)=>R.subPriority-C.subPriority)).map(M=>M[0]);let x=At(e,i?.in);if(isNaN(+x))return r();const v={};for(const M of _){if(!M.validate(x,d))return r();const C=M.set(x,v,d);Array.isArray(C)?(x=C[0],Object.assign(v,C[1])):x=C}return x}function qT(n){return n.match(HT)[1].replace(WT,"'")}function jT(n,t){const e=At(n,t?.in);return e.setMinutes(0,0,0),e}function GT(n,t){const e=At(n,t?.in);return e.setSeconds(0,0),e}function KT(n,t){const e=At(n,t?.in);return e.setMilliseconds(0),e}function _p(n){const t=n/Nr;return Math.trunc(t)}function bp(n,t){const e=()=>he(t?.in,NaN),i=t?.additionalDigits??2,r=JT(n);let s;if(r.date){const d=tM(r.date,i);s=eM(d.restDateString,d.year)}if(!s||isNaN(+s))return e();const a=+s;let l=0,u;if(r.time&&(l=nM(r.time),isNaN(l)))return e();if(r.timezone){if(u=iM(r.timezone),isNaN(u))return e()}else{const d=new Date(a+l),h=At(0,t?.in);return h.setFullYear(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()),h.setHours(d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds()),h}return At(a+l+u,t?.in)}const ha={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},XT=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,ZT=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,QT=/^([+-])(\d{2})(?::?(\d{2}))?$/;function JT(n){const t={},e=n.split(ha.dateTimeDelimiter);let i;if(e.length>2)return t;if(/:/.test(e[0])?i=e[0]:(t.date=e[0],i=e[1],ha.timeZoneDelimiter.test(t.date)&&(t.date=n.split(ha.timeZoneDelimiter)[0],i=n.substr(t.date.length,n.length))),i){const r=ha.timezone.exec(i);r?(t.time=i.replace(r[1],""),t.timezone=r[1]):t.time=i}return t}function tM(n,t){const e=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),i=n.match(e);if(!i)return{year:NaN,restDateString:""};const r=i[1]?parseInt(i[1]):null,s=i[2]?parseInt(i[2]):null;return{year:s===null?r:s*100,restDateString:n.slice((i[1]||i[2]).length)}}function eM(n,t){if(t===null)return new Date(NaN);const e=n.match(XT);if(!e)return new Date(NaN);const i=!!e[4],r=Ns(e[1]),s=Ns(e[2])-1,a=Ns(e[3]),l=Ns(e[4]),u=Ns(e[5])-1;if(i)return lM(t,l,u)?rM(t,l,u):new Date(NaN);{const d=new Date(0);return!oM(t,s,a)||!aM(t,r)?new Date(NaN):(d.setUTCFullYear(t,s,Math.max(r,a)),d)}}function Ns(n){return n?parseInt(n):1}function nM(n){const t=n.match(ZT);if(!t)return NaN;const e=zc(t[1]),i=zc(t[2]),r=zc(t[3]);return cM(e,i,r)?e*Nr+i*Rs+r*1e3:NaN}function zc(n){return n&&parseFloat(n.replace(",","."))||0}function iM(n){if(n==="Z")return 0;const t=n.match(QT);if(!t)return 0;const e=t[1]==="+"?-1:1,i=parseInt(t[2]),r=t[3]&&parseInt(t[3])||0;return uM(i,r)?e*(i*Nr+r*Rs):NaN}function rM(n,t,e){const i=new Date(0);i.setUTCFullYear(n,0,4);const r=i.getUTCDay()||7,s=(t-1)*7+e+1-r;return i.setUTCDate(i.getUTCDate()+s),i}const sM=[31,null,31,30,31,30,31,31,30,31,30,31];function xp(n){return n%400===0||n%4===0&&n%100!==0}function oM(n,t,e){return t>=0&&t<=11&&e>=1&&e<=(sM[t]||(xp(n)?29:28))}function aM(n,t){return t>=1&&t<=(xp(n)?366:365)}function lM(n,t,e){return t>=1&&t<=53&&e>=0&&e<=6}function cM(n,t,e){return n===24?t===0&&e===0:e>=0&&e<60&&t>=0&&t<60&&n>=0&&n<25}function uM(n,t){return t>=0&&t<=59}const dM={noDataAvailableTitle:"No data in the current time frame",noDataAvailableDescription:"Once there is traffic, it will display here",limitedResultsShown:"Grouped value limit exceeded, showing the top {maxReturned}",entityNoName:"no-name",debug:"debug",total:"Total",jumpToExplore:"Open in explorer",more_actions:"More actions",emptyEntityInfo:"Requests that do not have a value for the selected group",scatter:{median:"Median",percentile:"p{value}",outlier:"Outlier (> {label})",outlierTooltip:"{series} (outlier > {label})"},chartUnits:{ms:"ms",bytes:"Byte{plural}",count:"request{plural}","count/minute":"rpm",requests:"request{plural}","token count":"token{plural}","tokens/minute":"tpm","%":"%","ops/minute":"ops/minute"},csvExport:{dataError:"Error loading data",noDataRange:"No data in selected range",noDataRetry:"Please adjust the time period and try again",timeRangeSelected:"selected",exportPreview:"Export preview",exportAsCsv:"Export as CSV",exportTimeRange:"Time range",exportDescription:"Exports a CSV of the data represented in the chart.",maximumRecordAmount:"The number of groups is limited to {value}",previewRows:"Previewing {rowsMax} of {rowsTotal} row{plural}",downloadButton:"Export",cancelButton:"Cancel",UtcOffset:"UTC offset",Timestamp:"Timestamp"},query_errors:{forbidden:{message:"Data request forbidden",details:"To access this data, either filter for an entity you have access to or request analytics viewer access from your administrator."},time_range_exceeded:{message:"Time range exceeded",details:"The time range for this report is outside of your organization's data retention period"},timeout:{message:"Data request timed out",details:"We're sorry, the request timed out. Please consider using a shorter time period or try again later."},canceled:{message:"Request canceled"},other:{message:"Bad request"}},legend:{datapointValueDisplay:"{value} {unit}"},chartLabels:{ai_count:"LLM request count",latencies_response_ms:"Response latency",latencies_upstream_ms:"Upstream latency",latencies_kong_gateway_ms:"Kong latency",latencies_kong_internal_ms:"Kong internal latency",request_body_size:"Request size",response_body_size:"Response size",response_header_content_length:"Content length",ai:{cost:"Cost",costCaching:"Caching cost",promptTokens:"Prompt tokens",completionTokens:"Completion tokens",totalTokens:"Total tokens",llmLatency:"LLM latency",fetchLatency:"Fetch latency",embeddingsLatency:"Embeddings latency"},mcp:{latency:"MCP latency",response_body_size:"MCP response size"},a2a:{latency:"A2A latency",response_body_size:"A2A response size"},ai_gateway:"AI gateway",ai_gateway_agent:"AI gateway agent",ai_gateway_consumer:"AI gateway consumer",ai_gateway_data_plane_node:"AI gateway data plane node",ai_gateway_mcp_server:"AI gateway MCP server",ai_gateway_model:"AI gateway model",ai_plugin:"AI plugin",ai_provider:"Provider",ai_request_model:"Request model",ai_response_model:"Response model",error_rate:"Error rate",request_count:"Request count",request_per_minute:"Requests per minute",requests_per_minute:"Requests per minute",response_latency_average:"Response latency (avg)",response_latency_p99:"Response latency (p99)",response_latency_p95:"Response latency (p95)",response_latency_p50:"Response latency (p50)",kong_latency_average:"Kong latency (avg)",kong_latency_p99:"Kong latency (p99)",kong_latency_p95:"Kong latency (p95)",kong_latency_p50:"Kong latency (p50)",kong_internal_latency_average:"Kong internal latency (avg)",kong_internal_latency_p99:"Kong internal latency (p99)",kong_internal_latency_p95:"Kong internal latency (p95)",kong_internal_latency_p50:"Kong internal latency (p50)",llm_cache_status:"Cache status",llm_embeddings_model:"Embeddings model",llm_embeddings_provider:"Embeddings provider",upstream_latency_average:"Upstream latency (avg)",upstream_latency_p99:"Upstream latency (p99)",upstream_latency_p95:"Upstream latency (p95)",upstream_latency_p50:"Upstream latency (p50)",response_size_p99:"Response size (p99)",response_size_p95:"Response size (p95)",response_size_p50:"Response size (p50)",response_size_average:"Response size (avg)",response_size_sum:"Response size (sum)",response_source:"Response source",request_size_p99:"Request size (p99)",request_size_p95:"Request size (p95)",request_size_p50:"Request size (p50)",request_size_average:"Request size (avg)",request_size_sum:"Request size (sum)",control_plane:"Control plane",control_plane_group:"Control plane group",consumer:"Consumer",oidc_credential:"OIDC credential",country_code:"Country",country:"Country",data_plane_node:"Data plane node",data_plane_node_version:"Data plane node version",api_package:"API package",api_product:"API product",api_product_version:"API product version",portal:"Portal",realm:"Realm",runtime_group:"Runtime group",gateway_service:"Gateway service",route:"Route",application:"Application",status_code:"Status code",status_code_grouped:"Status code (grouped)",total_tokens_per_minute:"Total tokens per minute",upstream_status_code:"Upstream status code",upstream_status_code_grouped:"Upstream status code group",time:"Time",Service:"Service",ServiceVersion:"Service version",Route:"Route",Application:"Application",RuntimeGroup:"Runtime group",GatewayService:"Gateway service",StatusCode:"Status code",CodeClass:"Status code (grouped)",Time:"Time",API_PRODUCT:"Api product",API_PRODUCT_VERSION:"Api product version",RUNTIME_GROUP:"Runtime group",GATEWAY_SERVICE:"Gateway service",ROUTE:"Route",APPLICATION:"Application",STATUS_CODE:"Status code",STATUS_CODE_GROUPED:"Status code (grouped)",TIME:"Time",ORGANIZATION:"Organization",TotalRequests:"Request count",RequestsPerMinute:"Requests per minute",LatencyP99:"Response latency (p99)",LatencyP95:"Response latency (p95)",LatencyP50:"Response latency (p50)",LatencyAverage:"Response latency (avg)",UpstreamLatencyP99:"Upstream latency (p99)",UpstreamLatencyP95:"Upstream latency (p95)",UpstreamLatencyP50:"Upstream latency (p50)",UpstreamLatencyAverage:"Upstream latency (avg)",KongLatencyP99:"Kong latency (p99)",KongLatencyP95:"Kong latency (p95)",KongLatencyP50:"Kong latency (p50)",KongLatencyAverage:"Kong latency (avg)",ResponseSizeP99:"Response size (p99)",ResponseSizeP95:"Response size (p95)",ResponseSizeP50:"Response size (p50)",RequestSizeP99:"Request size (p99)",RequestSizeP95:"Request size (p95)",RequestSizeP50:"Request size (p50)",SuccessfulRequests:"Successful requests",SUCCESS:"Successful requests",FailedRequests:"Failed requests",FAILURE:"Failed requests","5XX":"5xx","4XX":"4xx","3XX":"3xx","2XX":"2xx","1XX":"1xx",REQUEST_COUNT:"Request count",REQUEST_PER_MINUTE:"Requests per minute",RESPONSE_LATENCY_P99:"Response latency",RESPONSE_LATENCY_P95:"Response latency",RESPONSE_LATENCY_P50:"Response latency",RESPONSE_SIZE_P99:"Response size (p99)",RESPONSE_SIZE_P95:"Response size (p95)",RESPONSE_SIZE_P50:"Response size (p50)",REQUEST_SIZE_P99:"Request size (p99)",REQUEST_SIZE_P95:"Request size (p95)",REQUEST_SIZE_P50:"Request size (p50)",CONTROL_PLANE:"Control plane",____OTHER____:"Others",ai_request_count:"Request count",total_tokens:"Total token count",prompt_tokens:"Prompt token count",completion_tokens:"Completion token count",cost:"Costs",cost_per_request_average:"Cost per request (avg)",llm_cache_embeddings_latency_average:"Embeddings latency (avg)",llm_cache_fetch_latency_average:"Fetch latency (avg)",llm_latency_average:"Llm latency (avg)","threshold-warning":"Warning threshold: {value}","threshold-error":"Error threshold: {value}","thatreshold-neutral":"Alert threshold: {value}",api:"API",vulnerability_count:"Vulnerability count",a2a_latency_average:"A2A latency (avg)",a2a_response_size_sum:"A2A response size (sum)",a2a_context_id:"A2A context ID",a2a_error:"A2A error",a2a_method:"A2A method",a2a_task_id:"A2A task ID",active_agents:"Active agents",mcp_error:"MCP error",mcp_method:"MCP method",mcp_latency_average:"MCP latency (avg)",mcp_latency_p99:"MCP latency (p99)",mcp_latency_p95:"MCP latency (p95)",mcp_latency_p50:"MCP latency (p50)",mcp_response_size_sum:"MCP response size (sum)",mcp_session_id:"MCP session ID",mcp_tool_name:"MCP tool name",mcp_response_body_size_sum:"MCP response size (sum)",control_plane_count:"Control plane count",service_count:"Gateway service count","record_bytes:sum":"Record size (sum)","record_count:sum":"Record count (sum)","request_count:sum":"Request count (sum)",route_count:"Route count",consumer_count:"Consumer count",plugin_count:"Plugin count",node_count:"Data plane node count",principal:"Principal",virtual_cluster_id:"Virtual cluster",backend_cluster_id:"Backend cluster",listener_id:"Listener",principal_name:"Principal name",principal_type:"Principal type",request_type:"Request type",topic_name:"Topic name",partition_index:"Partition index",api_key:"API key",data_plane_group:"Data plane group",managed_cache:"Managed cache",network:"Network",provider:"Provider",provider_region:"Provider region",region:"Region",cache_eviction_rate:"Cache eviction rate",cache_expiration_rate:"Cache expiration rate",cache_items_average:"Cache items (avg)",cache_memory_utilization_max:"Cache memory utilization (max)",cache_status:"Cache status",cache_hit_rate:"Cache hit rate",time_to_first_token_average:"Time to first token (avg)",time_to_first_token_p99:"Time to first token (p99)",time_to_first_token_p95:"Time to first token (p95)",time_to_first_token_p50:"Time to first token (p50)",time_per_token_average:"Time per token (avg)",time_per_token_p99:"Time per token (p99)",time_per_token_p95:"Time per token (p95)",time_per_token_p50:"Time per token (p50)"},metricAxisTitles:{cache_hit_rate:"Cache hit rate {unit}",error_rate:"Error rate in {unit}",request_count:"Request count",request_per_minute:"Requests per minute",requests_per_minute:"Requests per minute",latency_in:"Latency in {unit}",size_in:"Size in {unit}",response_latency_average:"Response latency (avg) in {unit}",response_latency_p99:"Response latency (p99) in {unit}",response_latency_p95:"Response latency (p95) in {unit}",response_latency_p50:"Response latency (p50) in {unit}",upstream_latency_p99:"Upstream latency (p99) in {unit}",upstream_latency_p95:"Upstream latency (p95) in {unit}",upstream_latency_p50:"Upstream latency (p50) in {unit}",kong_latency_p99:"Kong latency (p99) in {unit}",kong_latency_p95:"Kong latency (p95) in {unit}",kong_latency_p50:"Kong latency (p50) in {unit}",kong_internal_latency_average:"Kong internal latency (avg) in {unit}",kong_internal_latency_p99:"Kong internal latency (p99) in {unit}",kong_internal_latency_p95:"Kong internal latency (p95) in {unit}",kong_internal_latency_p50:"Kong internal latency (p50) in {unit}",response_size_p99:"Response size (p99) in {unit}",response_size_p95:"Response size (p95) in {unit}",response_size_p50:"Response size (p50) in {unit}",request_size_p99:"Request size (p99) in {unit}",request_size_p95:"Request size (p95) in {unit}",request_size_p50:"Request size (p50) in {unit}",request_size_sum:"Request size (sum) in {unit}",REQUEST_COUNT:"Request count",REQUEST_PER_MINUTE:"Requests per minute",RESPONSE_LATENCY_P99:"Response latency (p99) in {unit}",RESPONSE_LATENCY_P95:"Response latency (p95) in {unit}",RESPONSE_LATENCY_P50:"Response latency (p50) in {unit}",RESPONSE_SIZE_P99:"Response size (p99) in {unit}",RESPONSE_SIZE_P95:"Response size (p95) in {unit}",RESPONSE_SIZE_P50:"Response size (p50) in {unit}",REQUEST_SIZE_P99:"Request size (p99) in {unit}",REQUEST_SIZE_P95:"Request size (p95) in {unit}",REQUEST_SIZE_P50:"Request size (p50) in {unit}",TotalRequests:"Request count",RequestsPerMinute:"Requests per minute",LatencyP99:"Response latency (p99) in {unit}",LatencyP95:"Response latency (p95) in {unit}",LatencyP50:"Response latency (p50) in {unit}",LatencyAverage:"Response latency (avg) in {unit}",UpstreamLatencyP99:"Upstream latency (p99) in {unit}",UpstreamLatencyP95:"Upstream latency (p95) in {unit}",UpstreamLatencyP50:"Upstream latency (p50) in {unit}",UpstreamLatencyAverage:"Upstream latency (avg) in {unit}",KongLatencyP99:"Kong latency (p99) in {unit}",KongLatencyP95:"Kong latency (p95) in {unit}",KongLatencyP50:"Kong latency (p50) in {unit}",KongLatencyAverage:"Kong latency (avg) in {unit}",ResponseSizeP99:"Response size (p99) in {unit}",ResponseSizeP95:"Response size (p95) in {unit}",ResponseSizeP50:"Response size (p50) in {unit}",RequestSizeP99:"Request size (p99) in {unit}",RequestSizeP95:"Request size (p95) in {unit}",RequestSizeP50:"Request size (p50) in {unit}",ai_request_count:"Request count",total_tokens:"Total token count",prompt_tokens:"Prompt token count",completion_tokens:"Completion token count",cost:"Costs",cost_per_request_average:"Cost per request (avg)",llm_cache_embeddings_latency_average:"Embeddings latency (avg)",llm_cache_fetch_latency_average:"Fetch latency (avg)",llm_latency_average:"Llm latency (avg)",api:"API",a2a_latency_average:"A2A latency (avg) in {unit}",a2a_response_size_sum:"A2A response size (sum) in {unit}",a2a_context_id:"A2A context ID",a2a_error:"A2A error",a2a_method:"A2A method",a2a_task_id:"A2A task ID",active_agents:"Active agents",mcp_latency_average:"MCP latency (avg)",mcp_latency_p99:"MCP latency (p99)",mcp_latency_p95:"MCP latency (p95)",mcp_latency_p50:"MCP latency (p50)",mcp_response_size_sum:"MCP response size (sum) in {unit}",mcp_response_body_size_sum:"MCP response body size (sum) in {unit}",control_plane_count:"Control plane count",service_count:"Gateway service count",route_count:"Route count",consumer_count:"Consumer count",plugin_count:"Plugin count",node_count:"Data plane node count",cache_eviction_rate:"Cache eviction rate in {unit}",cache_expiration_rate:"Cache expiration rate in {unit}",cache_items_average:"Cache items (avg)",cache_memory_utilization_max:"Cache memory utilization (max) in {unit}",cached_tokens:"Cached tokens",time_to_first_token_average:"Time to first token (avg)",time_to_first_token_p99:"Time to first token (p99)",time_to_first_token_p95:"Time to first token (p95)",time_to_first_token_p50:"Time to first token (p50)",time_per_token_average:"Time per token (avg)",time_per_token_p99:"Time per token (p99)",time_per_token_p95:"Time per token (p95)",time_per_token_p50:"Time per token (p50)",total_tokens_per_minute:"Total tokens per minute"},granularityAxisTitles:{tenSecondly:"@timestamp per 10 seconds",thirtySecondly:"@timestamp per 30 seconds",minutely:"@timestamp per minute",fiveMinutely:"@timestamp per 5 minutes",tenMinutely:"@timestamp per 10 minutes",thirtyMinutely:"@timestamp per 30 minutes",hourly:"@timestamp per hour",twoHourly:"@timestamp per 2 hours",twelveHourly:"@timestamp per 12 hours",daily:"@timestamp per day",weekly:"@timestamp per week"},timestampAxisTitles:{platform:"@timestamp created at"},topNTable:{nameLabel:"Name",defaultEmptyStateTitle:"No data to display",defaultErrorStateTitle:"Something went wrong",errors:{meta:"Error: response must contain 'meta'",display:"Error: 'display' response incorrectly formatted (must have at least one key)",metricNames:"Error: 'metricNames' response incorrectly formatted (must have at least one entry)"}},singleValue:{valueError:"Invalid configuration",trend:{not_available:"Not available"}},new_timerange_label:"Time range",sparkline_no_data:"No data",zoom_action_items:{zoom:"Zoom in",view_requests:"View requests",cancel:"Cancel",explore:"Explore"},zoom_time_range:{from:"From",to:"To"}};function fM(){const n=Xf.createI18n("en-us",dM);return{i18n:n,i18nT:Xf.i18nTComponent(n)}}function Bs(n){return n+.5|0}const Si=(n,t,e)=>Math.max(Math.min(n,e),t);function Fs(n){return Si(Bs(n*2.55),0,255)}function Ti(n){return Si(Bs(n*255),0,255)}function ti(n){return Si(Bs(n/2.55)/100,0,1)}function wp(n){return Si(Bs(n*100),0,100)}const Mn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Uc=[..."0123456789ABCDEF"],hM=n=>Uc[n&15],pM=n=>Uc[(n&240)>>4]+Uc[n&15],pa=n=>(n&240)>>4===(n&15),gM=n=>pa(n.r)&&pa(n.g)&&pa(n.b)&&pa(n.a);function mM(n){var t=n.length,e;return n[0]==="#"&&(t===4||t===5?e={r:255&Mn[n[1]]*17,g:255&Mn[n[2]]*17,b:255&Mn[n[3]]*17,a:t===5?Mn[n[4]]*17:255}:(t===7||t===9)&&(e={r:Mn[n[1]]<<4|Mn[n[2]],g:Mn[n[3]]<<4|Mn[n[4]],b:Mn[n[5]]<<4|Mn[n[6]],a:t===9?Mn[n[7]]<<4|Mn[n[8]]:255})),e}const yM=(n,t)=>n<255?t(n):"";function _M(n){var t=gM(n)?hM:pM;return n?"#"+t(n.r)+t(n.g)+t(n.b)+yM(n.a,t):void 0}const bM=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function vp(n,t,e){const i=t*Math.min(e,1-e),r=(s,a=(s+n/30)%12)=>e-i*Math.max(Math.min(a-3,9-a,1),-1);return[r(0),r(8),r(4)]}function xM(n,t,e){const i=(r,s=(r+n/60)%6)=>e-e*t*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function wM(n,t,e){const i=vp(n,1,.5);let r;for(t+e>1&&(r=1/(t+e),t*=r,e*=r),r=0;r<3;r++)i[r]*=1-t-e,i[r]+=t;return i}function vM(n,t,e,i,r){return n===r?(t-e)/i+(t<e?6:0):t===r?(e-n)/i+2:(n-t)/i+4}function Hc(n){const e=n.r/255,i=n.g/255,r=n.b/255,s=Math.max(e,i,r),a=Math.min(e,i,r),l=(s+a)/2;let u,d,h;return s!==a&&(h=s-a,d=l>.5?h/(2-s-a):h/(s+a),u=vM(e,i,r,h,s),u=u*60+.5),[u|0,d||0,l]}function Wc(n,t,e,i){return(Array.isArray(t)?n(t[0],t[1],t[2]):n(t,e,i)).map(Ti)}function Vc(n,t,e){return Wc(vp,n,t,e)}function SM(n,t,e){return Wc(wM,n,t,e)}function TM(n,t,e){return Wc(xM,n,t,e)}function Sp(n){return(n%360+360)%360}function MM(n){const t=bM.exec(n);let e=255,i;if(!t)return;t[5]!==i&&(e=t[6]?Fs(+t[5]):Ti(+t[5]));const r=Sp(+t[2]),s=+t[3]/100,a=+t[4]/100;return t[1]==="hwb"?i=SM(r,s,a):t[1]==="hsv"?i=TM(r,s,a):i=Vc(r,s,a),{r:i[0],g:i[1],b:i[2],a:e}}function kM(n,t){var e=Hc(n);e[0]=Sp(e[0]+t),e=Vc(e),n.r=e[0],n.g=e[1],n.b=e[2]}function DM(n){if(!n)return;const t=Hc(n),e=t[0],i=wp(t[1]),r=wp(t[2]);return n.a<255?`hsla(${e}, ${i}%, ${r}%, ${ti(n.a)})`:`hsl(${e}, ${i}%, ${r}%)`}const Tp={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Mp={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function CM(){const n={},t=Object.keys(Mp),e=Object.keys(Tp);let i,r,s,a,l;for(i=0;i<t.length;i++){for(a=l=t[i],r=0;r<e.length;r++)s=e[r],l=l.replace(s,Tp[s]);s=parseInt(Mp[a],16),n[l]=[s>>16&255,s>>8&255,s&255]}return n}let ga;function OM(n){ga||(ga=CM(),ga.transparent=[0,0,0,0]);const t=ga[n.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const AM=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function RM(n){const t=AM.exec(n);let e=255,i,r,s;if(t){if(t[7]!==i){const a=+t[7];e=t[8]?Fs(a):Si(a*255,0,255)}return i=+t[1],r=+t[3],s=+t[5],i=255&(t[2]?Fs(i):Si(i,0,255)),r=255&(t[4]?Fs(r):Si(r,0,255)),s=255&(t[6]?Fs(s):Si(s,0,255)),{r:i,g:r,b:s,a:e}}}function EM(n){return n&&(n.a<255?`rgba(${n.r}, ${n.g}, ${n.b}, ${ti(n.a)})`:`rgb(${n.r}, ${n.g}, ${n.b})`)}const $c=n=>n<=.0031308?n*12.92:Math.pow(n,1/2.4)*1.055-.055,zr=n=>n<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4);function PM(n,t,e){const i=zr(ti(n.r)),r=zr(ti(n.g)),s=zr(ti(n.b));return{r:Ti($c(i+e*(zr(ti(t.r))-i))),g:Ti($c(r+e*(zr(ti(t.g))-r))),b:Ti($c(s+e*(zr(ti(t.b))-s))),a:n.a+e*(t.a-n.a)}}function ma(n,t,e){if(n){let i=Hc(n);i[t]=Math.max(0,Math.min(i[t]+i[t]*e,t===0?360:1)),i=Vc(i),n.r=i[0],n.g=i[1],n.b=i[2]}}function kp(n,t){return n&&Object.assign(t||{},n)}function Dp(n){var t={r:0,g:0,b:0,a:255};return Array.isArray(n)?n.length>=3&&(t={r:n[0],g:n[1],b:n[2],a:255},n.length>3&&(t.a=Ti(n[3]))):(t=kp(n,{r:0,g:0,b:0,a:1}),t.a=Ti(t.a)),t}function IM(n){return n.charAt(0)==="r"?RM(n):MM(n)}class zs{constructor(t){if(t instanceof zs)return t;const e=typeof t;let i;e==="object"?i=Dp(t):e==="string"&&(i=mM(t)||OM(t)||IM(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=kp(this._rgb);return t&&(t.a=ti(t.a)),t}set rgb(t){this._rgb=Dp(t)}rgbString(){return this._valid?EM(this._rgb):void 0}hexString(){return this._valid?_M(this._rgb):void 0}hslString(){return this._valid?DM(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,r=t.rgb;let s;const a=e===s?.5:e,l=2*a-1,u=i.a-r.a,d=((l*u===-1?l:(l+u)/(1+l*u))+1)/2;s=1-d,i.r=255&d*i.r+s*r.r+.5,i.g=255&d*i.g+s*r.g+.5,i.b=255&d*i.b+s*r.b+.5,i.a=a*i.a+(1-a)*r.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=PM(this._rgb,t._rgb,e)),this}clone(){return new zs(this.rgb)}alpha(t){return this._rgb.a=Ti(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=Bs(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return ma(this._rgb,2,t),this}darken(t){return ma(this._rgb,2,-t),this}saturate(t){return ma(this._rgb,1,t),this}desaturate(t){return ma(this._rgb,1,-t),this}rotate(t){return kM(this._rgb,t),this}}function ei(){}const LM=(()=>{let n=0;return()=>n++})();function xt(n){return n==null}function qt(n){if(Array.isArray&&Array.isArray(n))return!0;const t=Object.prototype.toString.call(n);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function Pt(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function ae(n){return(typeof n=="number"||n instanceof Number)&&isFinite(+n)}function pn(n,t){return ae(n)?n:t}function Mt(n,t){return typeof n>"u"?t:n}const NM=(n,t)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100:+n/t,Cp=(n,t)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100*t:+n;function Qt(n,t,e){if(n&&typeof n.call=="function")return n.apply(e,t)}function Jt(n,t,e,i){let r,s,a;if(qt(n))for(s=n.length,r=0;r<s;r++)t.call(e,n[r],r);else if(Pt(n))for(a=Object.keys(n),s=a.length,r=0;r<s;r++)t.call(e,n[a[r]],a[r])}function ya(n,t){let e,i,r,s;if(!n||!t||n.length!==t.length)return!1;for(e=0,i=n.length;e<i;++e)if(r=n[e],s=t[e],r.datasetIndex!==s.datasetIndex||r.index!==s.index)return!1;return!0}function _a(n){if(qt(n))return n.map(_a);if(Pt(n)){const t=Object.create(null),e=Object.keys(n),i=e.length;let r=0;for(;r<i;++r)t[e[r]]=_a(n[e[r]]);return t}return n}function Op(n){return["__proto__","prototype","constructor"].indexOf(n)===-1}function BM(n,t,e,i){if(!Op(n))return;const r=t[n],s=e[n];Pt(r)&&Pt(s)?Us(r,s,i):t[n]=_a(s)}function Us(n,t,e){const i=qt(t)?t:[t],r=i.length;if(!Pt(n))return n;e=e||{};const s=e.merger||BM;let a;for(let l=0;l<r;++l){if(a=i[l],!Pt(a))continue;const u=Object.keys(a);for(let d=0,h=u.length;d<h;++d)s(u[d],n,a,e)}return n}function Hs(n,t){return Us(n,t,{merger:FM})}function FM(n,t,e){if(!Op(n))return;const i=t[n],r=e[n];Pt(i)&&Pt(r)?Hs(i,r):Object.prototype.hasOwnProperty.call(t,n)||(t[n]=_a(r))}const Ap={"":n=>n,x:n=>n.x,y:n=>n.y};function zM(n){const t=n.split("."),e=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(e.push(i),i="");return e}function UM(n){const t=zM(n);return e=>{for(const i of t){if(i==="")break;e=e&&e[i]}return e}}function Mi(n,t){return(Ap[t]||(Ap[t]=UM(t)))(n)}function Yc(n){return n.charAt(0).toUpperCase()+n.slice(1)}const en=n=>typeof n<"u",nn=n=>typeof n=="function",Rp=(n,t)=>{if(n.size!==t.size)return!1;for(const e of n)if(!t.has(e))return!1;return!0};function HM(n){return n.type==="mouseup"||n.type==="click"||n.type==="contextmenu"}const Rt=Math.PI,te=2*Rt,WM=te+Rt,ba=Number.POSITIVE_INFINITY,qc=Rt/180,re=Rt/2,kn=Rt/4,xa=Rt*2/3,ki=Math.log10,Yn=Math.sign;function Ws(n,t,e){return Math.abs(n-t)<e}function Ep(n){const t=Math.round(n);n=Ws(n,t,n/1e3)?t:n;const e=Math.pow(10,Math.floor(ki(n))),i=n/e;return(i<=1?1:i<=2?2:i<=5?5:10)*e}function VM(n){const t=[],e=Math.sqrt(n);let i;for(i=1;i<e;i++)n%i===0&&(t.push(i),t.push(n/i));return e===(e|0)&&t.push(e),t.sort((r,s)=>r-s).pop(),t}function $M(n){return typeof n=="symbol"||typeof n=="object"&&n!==null&&!(Symbol.toPrimitive in n||"toString"in n||"valueOf"in n)}function Di(n){return!$M(n)&&!isNaN(parseFloat(n))&&isFinite(n)}function YM(n,t){const e=Math.round(n);return e-t<=n&&e+t>=n}function Pp(n,t,e){let i,r,s;for(i=0,r=n.length;i<r;i++)s=n[i][e],isNaN(s)||(t.min=Math.min(t.min,s),t.max=Math.max(t.max,s))}function xe(n){return n*(Rt/180)}function wa(n){return n*(180/Rt)}function Ip(n){if(!ae(n))return;let t=1,e=0;for(;Math.round(n*t)/t!==n;)t*=10,e++;return e}function va(n,t){const e=t.x-n.x,i=t.y-n.y,r=Math.sqrt(e*e+i*i);let s=Math.atan2(i,e);return s<-.5*Rt&&(s+=te),{angle:s,distance:r}}function Ur(n,t){return Math.sqrt(Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2))}function qM(n,t){return(n-t+WM)%te-Rt}function Ue(n){return(n%te+te)%te}function Vs(n,t,e,i){const r=Ue(n),s=Ue(t),a=Ue(e),l=Ue(s-r),u=Ue(a-r),d=Ue(r-s),h=Ue(r-a);return r===s||r===a||i&&s===a||l>u&&d<h}function Ce(n,t,e){return Math.max(t,Math.min(e,n))}function jM(n){return Ce(n,-32768,32767)}function ni(n,t,e,i=1e-6){return n>=Math.min(t,e)-i&&n<=Math.max(t,e)+i}function jc(n,t,e){e=e||(a=>n[a]<t);let i=n.length-1,r=0,s;for(;i-r>1;)s=r+i>>1,e(s)?r=s:i=s;return{lo:r,hi:i}}const ii=(n,t,e,i)=>jc(n,e,i?r=>{const s=n[r][t];return s<e||s===e&&n[r+1][t]===e}:r=>n[r][t]<e),GM=(n,t,e)=>jc(n,e,i=>n[i][t]>=e);function KM(n,t,e){let i=0,r=n.length;for(;i<r&&n[i]<t;)i++;for(;r>i&&n[r-1]>e;)r--;return i>0||r<n.length?n.slice(i,r):n}const Lp=["push","pop","shift","splice","unshift"];function XM(n,t){if(n._chartjs){n._chartjs.listeners.push(t);return}Object.defineProperty(n,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),Lp.forEach(e=>{const i="_onData"+Yc(e),r=n[e];Object.defineProperty(n,e,{configurable:!0,enumerable:!1,value(...s){const a=r.apply(this,s);return n._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),a}})})}function Np(n,t){const e=n._chartjs;if(!e)return;const i=e.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(Lp.forEach(s=>{delete n[s]}),delete n._chartjs)}function Bp(n){const t=new Set(n);return t.size===n.length?n:Array.from(t)}const Fp=(function(){return typeof window>"u"?function(n){return n()}:window.requestAnimationFrame})();function zp(n,t){let e=[],i=!1;return function(...r){e=r,i||(i=!0,Fp.call(window,()=>{i=!1,n.apply(t,e)}))}}function ZM(n,t){let e;return function(...i){return t?(clearTimeout(e),e=setTimeout(n,t,i)):n.apply(this,i),t}}const Gc=n=>n==="start"?"left":n==="end"?"right":"center",He=(n,t,e)=>n==="start"?t:n==="end"?e:(t+e)/2,QM=(n,t,e,i)=>n===(i?"left":"right")?e:n==="center"?(t+e)/2:t;function Up(n,t,e){const i=t.length;let r=0,s=i;if(n._sorted){const{iScale:a,vScale:l,_parsed:u}=n,d=n.dataset&&n.dataset.options?n.dataset.options.spanGaps:null,h=a.axis,{min:g,max:y,minDefined:_,maxDefined:x}=a.getUserBounds();if(_){if(r=Math.min(ii(u,h,g).lo,e?i:ii(t,h,a.getPixelForValue(g)).lo),d){const v=u.slice(0,r+1).reverse().findIndex(M=>!xt(M[l.axis]));r-=Math.max(0,v)}r=Ce(r,0,i-1)}if(x){let v=Math.max(ii(u,a.axis,y,!0).hi+1,e?0:ii(t,h,a.getPixelForValue(y),!0).hi+1);if(d){const M=u.slice(v-1).findIndex(C=>!xt(C[l.axis]));v+=Math.max(0,M)}s=Ce(v,r,i)-r}else s=i-r}return{start:r,count:s}}function Hp(n){const{xScale:t,yScale:e,_scaleRanges:i}=n,r={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!i)return n._scaleRanges=r,!0;const s=i.xmin!==t.min||i.xmax!==t.max||i.ymin!==e.min||i.ymax!==e.max;return Object.assign(i,r),s}const Sa=n=>n===0||n===1,Wp=(n,t,e)=>-(Math.pow(2,10*(n-=1))*Math.sin((n-t)*te/e)),Vp=(n,t,e)=>Math.pow(2,-10*n)*Math.sin((n-t)*te/e)+1,$s={linear:n=>n,easeInQuad:n=>n*n,easeOutQuad:n=>-n*(n-2),easeInOutQuad:n=>(n/=.5)<1?.5*n*n:-.5*(--n*(n-2)-1),easeInCubic:n=>n*n*n,easeOutCubic:n=>(n-=1)*n*n+1,easeInOutCubic:n=>(n/=.5)<1?.5*n*n*n:.5*((n-=2)*n*n+2),easeInQuart:n=>n*n*n*n,easeOutQuart:n=>-((n-=1)*n*n*n-1),easeInOutQuart:n=>(n/=.5)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2),easeInQuint:n=>n*n*n*n*n,easeOutQuint:n=>(n-=1)*n*n*n*n+1,easeInOutQuint:n=>(n/=.5)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2),easeInSine:n=>-Math.cos(n*re)+1,easeOutSine:n=>Math.sin(n*re),easeInOutSine:n=>-.5*(Math.cos(Rt*n)-1),easeInExpo:n=>n===0?0:Math.pow(2,10*(n-1)),easeOutExpo:n=>n===1?1:-Math.pow(2,-10*n)+1,easeInOutExpo:n=>Sa(n)?n:n<.5?.5*Math.pow(2,10*(n*2-1)):.5*(-Math.pow(2,-10*(n*2-1))+2),easeInCirc:n=>n>=1?n:-(Math.sqrt(1-n*n)-1),easeOutCirc:n=>Math.sqrt(1-(n-=1)*n),easeInOutCirc:n=>(n/=.5)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1),easeInElastic:n=>Sa(n)?n:Wp(n,.075,.3),easeOutElastic:n=>Sa(n)?n:Vp(n,.075,.3),easeInOutElastic(n){return Sa(n)?n:n<.5?.5*Wp(n*2,.1125,.45):.5+.5*Vp(n*2-1,.1125,.45)},easeInBack(n){return n*n*((1.70158+1)*n-1.70158)},easeOutBack(n){return(n-=1)*n*((1.70158+1)*n+1.70158)+1},easeInOutBack(n){let t=1.70158;return(n/=.5)<1?.5*(n*n*(((t*=1.525)+1)*n-t)):.5*((n-=2)*n*(((t*=1.525)+1)*n+t)+2)},easeInBounce:n=>1-$s.easeOutBounce(1-n),easeOutBounce(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375},easeInOutBounce:n=>n<.5?$s.easeInBounce(n*2)*.5:$s.easeOutBounce(n*2-1)*.5+.5};function Kc(n){if(n&&typeof n=="object"){const t=n.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Ta(n){return Kc(n)?n:new zs(n)}function Xc(n){return Kc(n)?n:new zs(n).saturate(.5).darken(.1).hexString()}const JM=["x","y","borderWidth","radius","tension"],tk=["color","borderColor","backgroundColor"];function ek(n){n.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),n.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),n.set("animations",{colors:{type:"color",properties:tk},numbers:{type:"number",properties:JM}}),n.describe("animations",{_fallback:"animation"}),n.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function nk(n){n.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const $p=new Map;function ik(n,t){t=t||{};const e=n+JSON.stringify(t);let i=$p.get(e);return i||(i=new Intl.NumberFormat(n,t),$p.set(e,i)),i}function Ys(n,t,e){return ik(t,e).format(n)}const Yp={values(n){return qt(n)?n:""+n},numeric(n,t,e){if(n===0)return"0";const i=this.chart.options.locale;let r,s=n;if(e.length>1){const d=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(d<1e-4||d>1e15)&&(r="scientific"),s=rk(n,e)}const a=ki(Math.abs(s)),l=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),u={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(u,this.options.ticks.format),Ys(n,i,u)},logarithmic(n,t,e){if(n===0)return"0";const i=e[t].significand||n/Math.pow(10,Math.floor(ki(n)));return[1,2,3,5,10,15].includes(i)||t>.8*e.length?Yp.numeric.call(this,n,t,e):""}};function rk(n,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&n!==Math.floor(n)&&(e=n-Math.floor(n)),e}var Ma={formatters:Yp};function sk(n){n.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ma.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),n.route("scale.ticks","color","","color"),n.route("scale.grid","color","","borderColor"),n.route("scale.border","color","","borderColor"),n.route("scale.title","color","","color"),n.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),n.describe("scales",{_fallback:"scale"}),n.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const sr=Object.create(null),Zc=Object.create(null);function qs(n,t){if(!t)return n;const e=t.split(".");for(let i=0,r=e.length;i<r;++i){const s=e[i];n=n[s]||(n[s]=Object.create(null))}return n}function Qc(n,t,e){return typeof t=="string"?Us(qs(n,t),e):Us(qs(n,""),t)}class ok{constructor(t,e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=i=>i.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Xc(r.backgroundColor),this.hoverBorderColor=(i,r)=>Xc(r.borderColor),this.hoverColor=(i,r)=>Xc(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Qc(this,t,e)}get(t){return qs(this,t)}describe(t,e){return Qc(Zc,t,e)}override(t,e){return Qc(sr,t,e)}route(t,e,i,r){const s=qs(this,t),a=qs(this,i),l="_"+e;Object.defineProperties(s,{[l]:{value:s[e],writable:!0},[e]:{enumerable:!0,get(){const u=this[l],d=a[r];return Pt(u)?Object.assign({},d,u):Mt(u,d)},set(u){this[l]=u}}})}apply(t){t.forEach(e=>e(this))}}var se=new ok({_scriptable:n=>!n.startsWith("on"),_indexable:n=>n!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[ek,nk,sk]);function ak(n){return!n||xt(n.size)||xt(n.family)?null:(n.style?n.style+" ":"")+(n.weight?n.weight+" ":"")+n.size+"px "+n.family}function ka(n,t,e,i,r){let s=t[r];return s||(s=t[r]=n.measureText(r).width,e.push(r)),s>i&&(i=s),i}function lk(n,t,e,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),n.save(),n.font=t;let a=0;const l=e.length;let u,d,h,g,y;for(u=0;u<l;u++)if(g=e[u],g!=null&&!qt(g))a=ka(n,r,s,a,g);else if(qt(g))for(d=0,h=g.length;d<h;d++)y=g[d],y!=null&&!qt(y)&&(a=ka(n,r,s,a,y));n.restore();const _=s.length/2;if(_>e.length){for(u=0;u<_;u++)delete r[s[u]];s.splice(0,_)}return a}function or(n,t,e){const i=n.currentDevicePixelRatio,r=e!==0?Math.max(e/2,.5):0;return Math.round((t-r)*i)/i+r}function qp(n,t){!t&&!n||(t=t||n.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,n.width,n.height),t.restore())}function Jc(n,t,e,i){jp(n,t,e,i,null)}function jp(n,t,e,i,r){let s,a,l,u,d,h,g,y;const _=t.pointStyle,x=t.rotation,v=t.radius;let M=(x||0)*qc;if(_&&typeof _=="object"&&(s=_.toString(),s==="[object HTMLImageElement]"||s==="[object HTMLCanvasElement]")){n.save(),n.translate(e,i),n.rotate(M),n.drawImage(_,-_.width/2,-_.height/2,_.width,_.height),n.restore();return}if(!(isNaN(v)||v<=0)){switch(n.beginPath(),_){default:r?n.ellipse(e,i,r/2,v,0,0,te):n.arc(e,i,v,0,te),n.closePath();break;case"triangle":h=r?r/2:v,n.moveTo(e+Math.sin(M)*h,i-Math.cos(M)*v),M+=xa,n.lineTo(e+Math.sin(M)*h,i-Math.cos(M)*v),M+=xa,n.lineTo(e+Math.sin(M)*h,i-Math.cos(M)*v),n.closePath();break;case"rectRounded":d=v*.516,u=v-d,a=Math.cos(M+kn)*u,g=Math.cos(M+kn)*(r?r/2-d:u),l=Math.sin(M+kn)*u,y=Math.sin(M+kn)*(r?r/2-d:u),n.arc(e-g,i-l,d,M-Rt,M-re),n.arc(e+y,i-a,d,M-re,M),n.arc(e+g,i+l,d,M,M+re),n.arc(e-y,i+a,d,M+re,M+Rt),n.closePath();break;case"rect":if(!x){u=Math.SQRT1_2*v,h=r?r/2:u,n.rect(e-h,i-u,2*h,2*u);break}M+=kn;case"rectRot":g=Math.cos(M)*(r?r/2:v),a=Math.cos(M)*v,l=Math.sin(M)*v,y=Math.sin(M)*(r?r/2:v),n.moveTo(e-g,i-l),n.lineTo(e+y,i-a),n.lineTo(e+g,i+l),n.lineTo(e-y,i+a),n.closePath();break;case"crossRot":M+=kn;case"cross":g=Math.cos(M)*(r?r/2:v),a=Math.cos(M)*v,l=Math.sin(M)*v,y=Math.sin(M)*(r?r/2:v),n.moveTo(e-g,i-l),n.lineTo(e+g,i+l),n.moveTo(e+y,i-a),n.lineTo(e-y,i+a);break;case"star":g=Math.cos(M)*(r?r/2:v),a=Math.cos(M)*v,l=Math.sin(M)*v,y=Math.sin(M)*(r?r/2:v),n.moveTo(e-g,i-l),n.lineTo(e+g,i+l),n.moveTo(e+y,i-a),n.lineTo(e-y,i+a),M+=kn,g=Math.cos(M)*(r?r/2:v),a=Math.cos(M)*v,l=Math.sin(M)*v,y=Math.sin(M)*(r?r/2:v),n.moveTo(e-g,i-l),n.lineTo(e+g,i+l),n.moveTo(e+y,i-a),n.lineTo(e-y,i+a);break;case"line":a=r?r/2:Math.cos(M)*v,l=Math.sin(M)*v,n.moveTo(e-a,i-l),n.lineTo(e+a,i+l);break;case"dash":n.moveTo(e,i),n.lineTo(e+Math.cos(M)*(r?r/2:v),i+Math.sin(M)*v);break;case!1:n.closePath();break}n.fill(),t.borderWidth>0&&n.stroke()}}function ri(n,t,e){return e=e||.5,!t||n&&n.x>t.left-e&&n.x<t.right+e&&n.y>t.top-e&&n.y<t.bottom+e}function js(n,t){n.save(),n.beginPath(),n.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),n.clip()}function Gs(n){n.restore()}function ck(n,t,e,i,r){if(!t)return n.lineTo(e.x,e.y);if(r==="middle"){const s=(t.x+e.x)/2;n.lineTo(s,t.y),n.lineTo(s,e.y)}else r==="after"!=!!i?n.lineTo(t.x,e.y):n.lineTo(e.x,t.y);n.lineTo(e.x,e.y)}function uk(n,t,e,i){if(!t)return n.lineTo(e.x,e.y);n.bezierCurveTo(i?t.cp1x:t.cp2x,i?t.cp1y:t.cp2y,i?e.cp2x:e.cp1x,i?e.cp2y:e.cp1y,e.x,e.y)}function dk(n,t){t.translation&&n.translate(t.translation[0],t.translation[1]),xt(t.rotation)||n.rotate(t.rotation),t.color&&(n.fillStyle=t.color),t.textAlign&&(n.textAlign=t.textAlign),t.textBaseline&&(n.textBaseline=t.textBaseline)}function fk(n,t,e,i,r){if(r.strikethrough||r.underline){const s=n.measureText(i),a=t-s.actualBoundingBoxLeft,l=t+s.actualBoundingBoxRight,u=e-s.actualBoundingBoxAscent,d=e+s.actualBoundingBoxDescent,h=r.strikethrough?(u+d)/2:d;n.strokeStyle=n.fillStyle,n.beginPath(),n.lineWidth=r.decorationWidth||2,n.moveTo(a,h),n.lineTo(l,h),n.stroke()}}function hk(n,t){const e=n.fillStyle;n.fillStyle=t.color,n.fillRect(t.left,t.top,t.width,t.height),n.fillStyle=e}function ar(n,t,e,i,r,s={}){const a=qt(t)?t:[t],l=s.strokeWidth>0&&s.strokeColor!=="";let u,d;for(n.save(),n.font=r.string,dk(n,s),u=0;u<a.length;++u)d=a[u],s.backdrop&&hk(n,s.backdrop),l&&(s.strokeColor&&(n.strokeStyle=s.strokeColor),xt(s.strokeWidth)||(n.lineWidth=s.strokeWidth),n.strokeText(d,e,i,s.maxWidth)),n.fillText(d,e,i,s.maxWidth),fk(n,e,i,d,s),i+=Number(r.lineHeight);n.restore()}function Hr(n,t){const{x:e,y:i,w:r,h:s,radius:a}=t;n.arc(e+a.topLeft,i+a.topLeft,a.topLeft,1.5*Rt,Rt,!0),n.lineTo(e,i+s-a.bottomLeft),n.arc(e+a.bottomLeft,i+s-a.bottomLeft,a.bottomLeft,Rt,re,!0),n.lineTo(e+r-a.bottomRight,i+s),n.arc(e+r-a.bottomRight,i+s-a.bottomRight,a.bottomRight,re,0,!0),n.lineTo(e+r,i+a.topRight),n.arc(e+r-a.topRight,i+a.topRight,a.topRight,0,-re,!0),n.lineTo(e+a.topLeft,i)}const pk=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,gk=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function mk(n,t){const e=(""+n).match(pk);if(!e||e[1]==="normal")return t*1.2;switch(n=+e[2],e[3]){case"px":return n;case"%":n/=100;break}return t*n}const yk=n=>+n||0;function tu(n,t){const e={},i=Pt(t),r=i?Object.keys(t):t,s=Pt(n)?i?a=>Mt(n[a],n[t[a]]):a=>n[a]:()=>n;for(const a of r)e[a]=yk(s(a));return e}function Gp(n){return tu(n,{top:"y",right:"x",bottom:"y",left:"x"})}function Ci(n){return tu(n,["topLeft","topRight","bottomLeft","bottomRight"])}function we(n){const t=Gp(n);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function le(n,t){n=n||{},t=t||se.font;let e=Mt(n.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let i=Mt(n.style,t.style);i&&!(""+i).match(gk)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:Mt(n.family,t.family),lineHeight:mk(Mt(n.lineHeight,t.lineHeight),e),size:e,style:i,weight:Mt(n.weight,t.weight),string:""};return r.string=ak(r),r}function Ks(n,t,e,i){let r,s,a;for(r=0,s=n.length;r<s;++r)if(a=n[r],a!==void 0&&a!==void 0)return a}function _k(n,t,e){const{min:i,max:r}=n,s=Cp(t,(r-i)/2),a=(l,u)=>e&&l===0?0:l+u;return{min:a(i,-Math.abs(s)),max:a(r,s)}}function Oi(n,t){return Object.assign(Object.create(n),t)}function eu(n,t=[""],e,i,r=()=>n[0]){const s=e||n;typeof i>"u"&&(i=Jp("_fallback",n));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:n,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>eu([l,...n],t,s,i)};return new Proxy(a,{deleteProperty(l,u){return delete l[u],delete l._keys,delete n[0][u],!0},get(l,u){return Xp(l,u,()=>kk(u,t,n,l))},getOwnPropertyDescriptor(l,u){return Reflect.getOwnPropertyDescriptor(l._scopes[0],u)},getPrototypeOf(){return Reflect.getPrototypeOf(n[0])},has(l,u){return tg(l).includes(u)},ownKeys(l){return tg(l)},set(l,u,d){const h=l._storage||(l._storage=r());return l[u]=h[u]=d,delete l._keys,!0}})}function Wr(n,t,e,i){const r={_cacheable:!1,_proxy:n,_context:t,_subProxy:e,_stack:new Set,_descriptors:Kp(n,i),setContext:s=>Wr(n,s,e,i),override:s=>Wr(n.override(s),t,e,i)};return new Proxy(r,{deleteProperty(s,a){return delete s[a],delete n[a],!0},get(s,a,l){return Xp(s,a,()=>xk(s,a,l))},getOwnPropertyDescriptor(s,a){return s._descriptors.allKeys?Reflect.has(n,a)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(n,a)},getPrototypeOf(){return Reflect.getPrototypeOf(n)},has(s,a){return Reflect.has(n,a)},ownKeys(){return Reflect.ownKeys(n)},set(s,a,l){return n[a]=l,delete s[a],!0}})}function Kp(n,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=n;return{allKeys:r,scriptable:e,indexable:i,isScriptable:nn(e)?e:()=>e,isIndexable:nn(i)?i:()=>i}}const bk=(n,t)=>n?n+Yc(t):t,nu=(n,t)=>Pt(t)&&n!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function Xp(n,t,e){if(Object.prototype.hasOwnProperty.call(n,t)||t==="constructor")return n[t];const i=e();return n[t]=i,i}function xk(n,t,e){const{_proxy:i,_context:r,_subProxy:s,_descriptors:a}=n;let l=i[t];return nn(l)&&a.isScriptable(t)&&(l=wk(t,l,n,e)),qt(l)&&l.length&&(l=vk(t,l,n,a.isIndexable)),nu(t,l)&&(l=Wr(l,r,s&&s[t],a)),l}function wk(n,t,e,i){const{_proxy:r,_context:s,_subProxy:a,_stack:l}=e;if(l.has(n))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+n);l.add(n);let u=t(s,a||i);return l.delete(n),nu(n,u)&&(u=iu(r._scopes,r,n,u)),u}function vk(n,t,e,i){const{_proxy:r,_context:s,_subProxy:a,_descriptors:l}=e;if(typeof s.index<"u"&&i(n))return t[s.index%t.length];if(Pt(t[0])){const u=t,d=r._scopes.filter(h=>h!==u);t=[];for(const h of u){const g=iu(d,r,n,h);t.push(Wr(g,s,a&&a[n],l))}}return t}function Zp(n,t,e){return nn(n)?n(t,e):n}const Sk=(n,t)=>n===!0?t:typeof n=="string"?Mi(t,n):void 0;function Tk(n,t,e,i,r){for(const s of t){const a=Sk(e,s);if(a){n.add(a);const l=Zp(a._fallback,e,r);if(typeof l<"u"&&l!==e&&l!==i)return l}else if(a===!1&&typeof i<"u"&&e!==i)return null}return!1}function iu(n,t,e,i){const r=t._rootScopes,s=Zp(t._fallback,e,i),a=[...n,...r],l=new Set;l.add(i);let u=Qp(l,a,e,s||e,i);return u===null||typeof s<"u"&&s!==e&&(u=Qp(l,a,s,u,i),u===null)?!1:eu(Array.from(l),[""],r,s,()=>Mk(t,e,i))}function Qp(n,t,e,i,r){for(;e;)e=Tk(n,t,e,i,r);return e}function Mk(n,t,e){const i=n._getTarget();t in i||(i[t]={});const r=i[t];return qt(r)&&Pt(e)?e:r||{}}function kk(n,t,e,i){let r;for(const s of t)if(r=Jp(bk(s,n),e),typeof r<"u")return nu(n,r)?iu(e,i,n,r):r}function Jp(n,t){for(const e of t){if(!e)continue;const i=e[n];if(typeof i<"u")return i}}function tg(n){let t=n._keys;return t||(t=n._keys=Dk(n._scopes)),t}function Dk(n){const t=new Set;for(const e of n)for(const i of Object.keys(e).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function eg(n,t,e,i){const{iScale:r}=n,{key:s="r"}=this._parsing,a=new Array(i);let l,u,d,h;for(l=0,u=i;l<u;++l)d=l+e,h=t[d],a[l]={r:r.parse(Mi(h,s),d)};return a}const Ck=Number.EPSILON||1e-14,Vr=(n,t)=>t<n.length&&!n[t].skip&&n[t],ng=n=>n==="x"?"y":"x";function Ok(n,t,e,i){const r=n.skip?t:n,s=t,a=e.skip?t:e,l=Ur(s,r),u=Ur(a,s);let d=l/(l+u),h=u/(l+u);d=isNaN(d)?0:d,h=isNaN(h)?0:h;const g=i*d,y=i*h;return{previous:{x:s.x-g*(a.x-r.x),y:s.y-g*(a.y-r.y)},next:{x:s.x+y*(a.x-r.x),y:s.y+y*(a.y-r.y)}}}function Ak(n,t,e){const i=n.length;let r,s,a,l,u,d=Vr(n,0);for(let h=0;h<i-1;++h)if(u=d,d=Vr(n,h+1),!(!u||!d)){if(Ws(t[h],0,Ck)){e[h]=e[h+1]=0;continue}r=e[h]/t[h],s=e[h+1]/t[h],l=Math.pow(r,2)+Math.pow(s,2),!(l<=9)&&(a=3/Math.sqrt(l),e[h]=r*a*t[h],e[h+1]=s*a*t[h])}}function Rk(n,t,e="x"){const i=ng(e),r=n.length;let s,a,l,u=Vr(n,0);for(let d=0;d<r;++d){if(a=l,l=u,u=Vr(n,d+1),!l)continue;const h=l[e],g=l[i];a&&(s=(h-a[e])/3,l[`cp1${e}`]=h-s,l[`cp1${i}`]=g-s*t[d]),u&&(s=(u[e]-h)/3,l[`cp2${e}`]=h+s,l[`cp2${i}`]=g+s*t[d])}}function Ek(n,t="x"){const e=ng(t),i=n.length,r=Array(i).fill(0),s=Array(i);let a,l,u,d=Vr(n,0);for(a=0;a<i;++a)if(l=u,u=d,d=Vr(n,a+1),!!u){if(d){const h=d[t]-u[t];r[a]=h!==0?(d[e]-u[e])/h:0}s[a]=l?d?Yn(r[a-1])!==Yn(r[a])?0:(r[a-1]+r[a])/2:r[a-1]:r[a]}Ak(n,r,s),Rk(n,s,t)}function Da(n,t,e){return Math.max(Math.min(n,e),t)}function Pk(n,t){let e,i,r,s,a,l=ri(n[0],t);for(e=0,i=n.length;e<i;++e)a=s,s=l,l=e<i-1&&ri(n[e+1],t),s&&(r=n[e],a&&(r.cp1x=Da(r.cp1x,t.left,t.right),r.cp1y=Da(r.cp1y,t.top,t.bottom)),l&&(r.cp2x=Da(r.cp2x,t.left,t.right),r.cp2y=Da(r.cp2y,t.top,t.bottom)))}function Ik(n,t,e,i,r){let s,a,l,u;if(t.spanGaps&&(n=n.filter(d=>!d.skip)),t.cubicInterpolationMode==="monotone")Ek(n,r);else{let d=i?n[n.length-1]:n[0];for(s=0,a=n.length;s<a;++s)l=n[s],u=Ok(d,l,n[Math.min(s+1,a-(i?0:1))%a],t.tension),l.cp1x=u.previous.x,l.cp1y=u.previous.y,l.cp2x=u.next.x,l.cp2y=u.next.y,d=l}t.capBezierPoints&&Pk(n,e)}function ru(){return typeof window<"u"&&typeof document<"u"}function su(n){let t=n.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Ca(n,t,e){let i;return typeof n=="string"?(i=parseInt(n,10),n.indexOf("%")!==-1&&(i=i/100*t.parentNode[e])):i=n,i}const Oa=n=>n.ownerDocument.defaultView.getComputedStyle(n,null);function Lk(n,t){return Oa(n).getPropertyValue(t)}const Nk=["top","right","bottom","left"];function lr(n,t,e){const i={};e=e?"-"+e:"";for(let r=0;r<4;r++){const s=Nk[r];i[s]=parseFloat(n[t+"-"+s+e])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Bk=(n,t,e)=>(n>0||t>0)&&(!e||!e.shadowRoot);function Fk(n,t){const e=n.touches,i=e&&e.length?e[0]:n,{offsetX:r,offsetY:s}=i;let a=!1,l,u;if(Bk(r,s,n.target))l=r,u=s;else{const d=t.getBoundingClientRect();l=i.clientX-d.left,u=i.clientY-d.top,a=!0}return{x:l,y:u,box:a}}function Ai(n,t){if("native"in n)return n;const{canvas:e,currentDevicePixelRatio:i}=t,r=Oa(e),s=r.boxSizing==="border-box",a=lr(r,"padding"),l=lr(r,"border","width"),{x:u,y:d,box:h}=Fk(n,e),g=a.left+(h&&l.left),y=a.top+(h&&l.top);let{width:_,height:x}=t;return s&&(_-=a.width+l.width,x-=a.height+l.height),{x:Math.round((u-g)/_*e.width/i),y:Math.round((d-y)/x*e.height/i)}}function zk(n,t,e){let i,r;if(t===void 0||e===void 0){const s=n&&su(n);if(!s)t=n.clientWidth,e=n.clientHeight;else{const a=s.getBoundingClientRect(),l=Oa(s),u=lr(l,"border","width"),d=lr(l,"padding");t=a.width-d.width-u.width,e=a.height-d.height-u.height,i=Ca(l.maxWidth,s,"clientWidth"),r=Ca(l.maxHeight,s,"clientHeight")}}return{width:t,height:e,maxWidth:i||ba,maxHeight:r||ba}}const Ri=n=>Math.round(n*10)/10;function Uk(n,t,e,i){const r=Oa(n),s=lr(r,"margin"),a=Ca(r.maxWidth,n,"clientWidth")||ba,l=Ca(r.maxHeight,n,"clientHeight")||ba,u=zk(n,t,e);let{width:d,height:h}=u;if(r.boxSizing==="content-box"){const y=lr(r,"border","width"),_=lr(r,"padding");d-=_.width+y.width,h-=_.height+y.height}return d=Math.max(0,d-s.width),h=Math.max(0,i?d/i:h-s.height),d=Ri(Math.min(d,a,u.maxWidth)),h=Ri(Math.min(h,l,u.maxHeight)),d&&!h&&(h=Ri(d/2)),(t!==void 0||e!==void 0)&&i&&u.height&&h>u.height&&(h=u.height,d=Ri(Math.floor(h*i))),{width:d,height:h}}function ig(n,t,e){const i=t||1,r=Ri(n.height*i),s=Ri(n.width*i);n.height=Ri(n.height),n.width=Ri(n.width);const a=n.canvas;return a.style&&(e||!a.style.height&&!a.style.width)&&(a.style.height=`${n.height}px`,a.style.width=`${n.width}px`),n.currentDevicePixelRatio!==i||a.height!==r||a.width!==s?(n.currentDevicePixelRatio=i,a.height=r,a.width=s,n.ctx.setTransform(i,0,0,i,0,0),!0):!1}const Hk=(function(){let n=!1;try{const t={get passive(){return n=!0,!1}};ru()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return n})();function rg(n,t){const e=Lk(n,t),i=e&&e.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function cr(n,t,e,i){return{x:n.x+e*(t.x-n.x),y:n.y+e*(t.y-n.y)}}function Wk(n,t,e,i){return{x:n.x+e*(t.x-n.x),y:i==="middle"?e<.5?n.y:t.y:i==="after"?e<1?n.y:t.y:e>0?t.y:n.y}}function Vk(n,t,e,i){const r={x:n.cp2x,y:n.cp2y},s={x:t.cp1x,y:t.cp1y},a=cr(n,r,e),l=cr(r,s,e),u=cr(s,t,e),d=cr(a,l,e),h=cr(l,u,e);return cr(d,h,e)}const $k=function(n,t){return{x(e){return n+n+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,i){return e-i},leftForLtr(e,i){return e-i}}},Yk=function(){return{x(n){return n},setWidth(n){},textAlign(n){return n},xPlus(n,t){return n+t},leftForLtr(n,t){return n}}};function $r(n,t,e){return n?$k(t,e):Yk()}function sg(n,t){let e,i;(t==="ltr"||t==="rtl")&&(e=n.canvas.style,i=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),n.prevTextDirection=i)}function og(n,t){t!==void 0&&(delete n.prevTextDirection,n.canvas.style.setProperty("direction",t[0],t[1]))}function ag(n){return n==="angle"?{between:Vs,compare:qM,normalize:Ue}:{between:ni,compare:(t,e)=>t-e,normalize:t=>t}}function lg({start:n,end:t,count:e,loop:i,style:r}){return{start:n%e,end:t%e,loop:i&&(t-n+1)%e===0,style:r}}function qk(n,t,e){const{property:i,start:r,end:s}=e,{between:a,normalize:l}=ag(i),u=t.length;let{start:d,end:h,loop:g}=n,y,_;if(g){for(d+=u,h+=u,y=0,_=u;y<_&&a(l(t[d%u][i]),r,s);++y)d--,h--;d%=u,h%=u}return h<d&&(h+=u),{start:d,end:h,loop:g,style:n.style}}function cg(n,t,e){if(!e)return[n];const{property:i,start:r,end:s}=e,a=t.length,{compare:l,between:u,normalize:d}=ag(i),{start:h,end:g,loop:y,style:_}=qk(n,t,e),x=[];let v=!1,M=null,C,R,F;const I=()=>u(r,F,C)&&l(r,F)!==0,L=()=>l(s,C)===0||u(s,F,C),N=()=>v||I(),B=()=>!v||L();for(let T=h,S=h;T<=g;++T)R=t[T%a],!R.skip&&(C=d(R[i]),C!==F&&(v=u(C,r,s),M===null&&N()&&(M=l(C,r)===0?T:S),M!==null&&B()&&(x.push(lg({start:M,end:T,loop:y,count:a,style:_})),M=null),S=T,F=C));return M!==null&&x.push(lg({start:M,end:g,loop:y,count:a,style:_})),x}function ug(n,t){const e=[],i=n.segments;for(let r=0;r<i.length;r++){const s=cg(i[r],n.points,t);s.length&&e.push(...s)}return e}function jk(n,t,e,i){let r=0,s=t-1;if(e&&!i)for(;r<t&&!n[r].skip;)r++;for(;r<t&&n[r].skip;)r++;for(r%=t,e&&(s+=r);s>r&&n[s%t].skip;)s--;return s%=t,{start:r,end:s}}function Gk(n,t,e,i){const r=n.length,s=[];let a=t,l=n[t],u;for(u=t+1;u<=e;++u){const d=n[u%r];d.skip||d.stop?l.skip||(i=!1,s.push({start:t%r,end:(u-1)%r,loop:i}),t=a=d.stop?u:null):(a=u,l.skip&&(t=u)),l=d}return a!==null&&s.push({start:t%r,end:a%r,loop:i}),s}function Kk(n,t){const e=n.points,i=n.options.spanGaps,r=e.length;if(!r)return[];const s=!!n._loop,{start:a,end:l}=jk(e,r,s,i);if(i===!0)return dg(n,[{start:a,end:l,loop:s}],e,t);const u=l<a?l+r:l,d=!!n._fullLoop&&a===0&&l===r-1;return dg(n,Gk(e,a,u,d),e,t)}function dg(n,t,e,i){return!i||!i.setContext||!e?t:Xk(n,t,e,i)}function Xk(n,t,e,i){const r=n._chart.getContext(),s=fg(n.options),{_datasetIndex:a,options:{spanGaps:l}}=n,u=e.length,d=[];let h=s,g=t[0].start,y=g;function _(x,v,M,C){const R=l?-1:1;if(x!==v){for(x+=u;e[x%u].skip;)x-=R;for(;e[v%u].skip;)v+=R;x%u!==v%u&&(d.push({start:x%u,end:v%u,loop:M,style:C}),h=C,g=v%u)}}for(const x of t){g=l?g:x.start;let v=e[g%u],M;for(y=g+1;y<=x.end;y++){const C=e[y%u];M=fg(i.setContext(Oi(r,{type:"segment",p0:v,p1:C,p0DataIndex:(y-1)%u,p1DataIndex:y%u,datasetIndex:a}))),Zk(M,h)&&_(g,y-1,x.loop,h),v=C,h=M}g<y-1&&_(g,y-1,x.loop,h)}return d}function fg(n){return{backgroundColor:n.backgroundColor,borderCapStyle:n.borderCapStyle,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderJoinStyle:n.borderJoinStyle,borderWidth:n.borderWidth,borderColor:n.borderColor}}function Zk(n,t){if(!t)return!1;const e=[],i=function(r,s){return Kc(s)?(e.includes(s)||e.push(s),e.indexOf(s)):s};return JSON.stringify(n,i)!==JSON.stringify(t,i)}function Aa(n,t,e){return n.options.clip?n[e]:t[e]}function Qk(n,t){const{xScale:e,yScale:i}=n;return e&&i?{left:Aa(e,t,"left"),right:Aa(e,t,"right"),top:Aa(i,t,"top"),bottom:Aa(i,t,"bottom")}:t}function hg(n,t){const e=t._clip;if(e.disabled)return!1;const i=Qk(t,n.chartArea);return{left:e.left===!1?0:i.left-(e.left===!0?0:e.left),right:e.right===!1?n.width:i.right+(e.right===!0?0:e.right),top:e.top===!1?0:i.top-(e.top===!0?0:e.top),bottom:e.bottom===!1?n.height:i.bottom+(e.bottom===!0?0:e.bottom)}}class Jk{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,r){const s=e.listeners[r],a=e.duration;s.forEach(l=>l({chart:t,initial:e.initial,numSteps:a,currentStep:Math.min(i-e.start,a)}))}_refresh(){this._request||(this._running=!0,this._request=Fp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let a=s.length-1,l=!1,u;for(;a>=0;--a)u=s[a],u._active?(u._total>i.duration&&(i.duration=u._total),u.tick(t),l=!0):(s[a]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),e+=s.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var si=new Jk;const pg="transparent",tD={boolean(n,t,e){return e>.5?t:n},color(n,t,e){const i=Ta(n||pg),r=i.valid&&Ta(t||pg);return r&&r.valid?r.mix(i,e).hexString():t},number(n,t,e){return n+(t-n)*e}};class eD{constructor(t,e,i,r){const s=e[i];r=Ks([t.to,r,s,t.from]);const a=Ks([t.from,s,r]);this._active=!0,this._fn=t.fn||tD[t.type||typeof a],this._easing=$s[t.easing]||$s.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=a,this._to=r,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,a=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Ks([t.to,e,r,t.from]),this._from=Ks([t.from,r,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,r=this._prop,s=this._from,a=this._loop,l=this._to;let u;if(this._active=s!==l&&(a||e<i),!this._active){this._target[r]=l,this._notify(!0);return}if(e<0){this._target[r]=s;return}u=e/i%2,u=a&&u>1?2-u:u,u=this._easing(Math.min(1,Math.max(0,u))),this._target[r]=this._fn(s,l,u)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let r=0;r<i.length;r++)i[r][e]()}}class ou{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!Pt(t))return;const e=Object.keys(se.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach(r=>{const s=t[r];if(!Pt(s))return;const a={};for(const l of e)a[l]=s[l];(qt(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,a)})})}_animateOptions(t,e){const i=e.options,r=iD(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&nD(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,e){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),a=Object.keys(e),l=Date.now();let u;for(u=a.length-1;u>=0;--u){const d=a[u];if(d.charAt(0)==="$")continue;if(d==="options"){r.push(...this._animateOptions(t,e));continue}const h=e[d];let g=s[d];const y=i.get(d);if(g)if(y&&g.active()){g.update(y,h,l);continue}else g.cancel();if(!y||!y.duration){t[d]=h;continue}s[d]=g=new eD(y,t,d,h),r.push(g)}return r}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const i=this._createAnimations(t,e);if(i.length)return si.add(this._chart,i),!0}}function nD(n,t){const e=[],i=Object.keys(t);for(let r=0;r<i.length;r++){const s=n[i[r]];s&&s.active()&&e.push(s.wait())}return Promise.all(e)}function iD(n,t){if(!t)return;let e=n.options;if(!e){n.options=t;return}return e.$shared&&(n.options=e=Object.assign({},e,{$shared:!1,$animations:{}})),e}function gg(n,t){const e=n&&n.options||{},i=e.reverse,r=e.min===void 0?t:0,s=e.max===void 0?t:0;return{start:i?s:r,end:i?r:s}}function rD(n,t,e){if(e===!1)return!1;const i=gg(n,e),r=gg(t,e);return{top:r.end,right:i.end,bottom:r.start,left:i.start}}function sD(n){let t,e,i,r;return Pt(n)?(t=n.top,e=n.right,i=n.bottom,r=n.left):t=e=i=r=n,{top:t,right:e,bottom:i,left:r,disabled:n===!1}}function mg(n,t){const e=[],i=n._getSortedDatasetMetas(t);let r,s;for(r=0,s=i.length;r<s;++r)e.push(i[r].index);return e}function yg(n,t,e,i={}){const r=n.keys,s=i.mode==="single";let a,l,u,d;if(t===null)return;let h=!1;for(a=0,l=r.length;a<l;++a){if(u=+r[a],u===e){if(h=!0,i.all)continue;break}d=n.values[u],ae(d)&&(s||t===0||Yn(t)===Yn(d))&&(t+=d)}return!h&&!i.all?0:t}function oD(n,t){const{iScale:e,vScale:i}=t,r=e.axis==="x"?"x":"y",s=i.axis==="x"?"x":"y",a=Object.keys(n),l=new Array(a.length);let u,d,h;for(u=0,d=a.length;u<d;++u)h=a[u],l[u]={[r]:h,[s]:n[h]};return l}function au(n,t){const e=n&&n.options.stacked;return e||e===void 0&&t.stack!==void 0}function aD(n,t,e){return`${n.id}.${t.id}.${e.stack||e.type}`}function lD(n){const{min:t,max:e,minDefined:i,maxDefined:r}=n.getUserBounds();return{min:i?t:Number.NEGATIVE_INFINITY,max:r?e:Number.POSITIVE_INFINITY}}function cD(n,t,e){const i=n[t]||(n[t]={});return i[e]||(i[e]={})}function _g(n,t,e,i){for(const r of t.getMatchingVisibleMetas(i).reverse()){const s=n[r.index];if(e&&s>0||!e&&s<0)return r.index}return null}function bg(n,t){const{chart:e,_cachedMeta:i}=n,r=e._stacks||(e._stacks={}),{iScale:s,vScale:a,index:l}=i,u=s.axis,d=a.axis,h=aD(s,a,i),g=t.length;let y;for(let _=0;_<g;++_){const x=t[_],{[u]:v,[d]:M}=x,C=x._stacks||(x._stacks={});y=C[d]=cD(r,h,v),y[l]=M,y._top=_g(y,a,!0,i.type),y._bottom=_g(y,a,!1,i.type);const R=y._visualValues||(y._visualValues={});R[l]=M}}function lu(n,t){const e=n.scales;return Object.keys(e).filter(i=>e[i].axis===t).shift()}function uD(n,t){return Oi(n,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function dD(n,t,e){return Oi(n,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Xs(n,t){const e=n.controller.index,i=n.vScale&&n.vScale.axis;if(i){t=t||n._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][e]===void 0)return;delete s[i][e],s[i]._visualValues!==void 0&&s[i]._visualValues[e]!==void 0&&delete s[i]._visualValues[e]}}}const cu=n=>n==="reset"||n==="none",xg=(n,t)=>t?n:Object.assign({},n),fD=(n,t,e)=>n&&!t.hidden&&t._stacked&&{keys:mg(e,!0),values:null};class Ei{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=au(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Xs(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),r=(g,y,_,x)=>g==="x"?y:g==="r"?x:_,s=e.xAxisID=Mt(i.xAxisID,lu(t,"x")),a=e.yAxisID=Mt(i.yAxisID,lu(t,"y")),l=e.rAxisID=Mt(i.rAxisID,lu(t,"r")),u=e.indexAxis,d=e.iAxisID=r(u,s,a,l),h=e.vAxisID=r(u,a,s,l);e.xScale=this.getScaleForId(s),e.yScale=this.getScaleForId(a),e.rScale=this.getScaleForId(l),e.iScale=this.getScaleForId(d),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Np(this._data,this),t._stacked&&Xs(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(Pt(e)){const r=this._cachedMeta;this._data=oD(e,r)}else if(i!==e){if(i){Np(i,this);const r=this._cachedMeta;Xs(r),r._parsed=[]}e&&Object.isExtensible(e)&&XM(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=e._stacked;e._stacked=au(e.vScale,e),e.stack!==i.stack&&(r=!0,Xs(e),e.stack=i.stack),this._resyncElements(t),(r||s!==e._stacked)&&(bg(this,e._parsed),e._stacked=au(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:a}=i,l=s.axis;let u=t===0&&e===r.length?!0:i._sorted,d=t>0&&i._parsed[t-1],h,g,y;if(this._parsing===!1)i._parsed=r,i._sorted=!0,y=r;else{qt(r[t])?y=this.parseArrayData(i,r,t,e):Pt(r[t])?y=this.parseObjectData(i,r,t,e):y=this.parsePrimitiveData(i,r,t,e);const _=()=>g[l]===null||d&&g[l]<d[l];for(h=0;h<e;++h)i._parsed[h+t]=g=y[h],u&&(_()&&(u=!1),d=g);i._sorted=u}a&&bg(this,y)}parsePrimitiveData(t,e,i,r){const{iScale:s,vScale:a}=t,l=s.axis,u=a.axis,d=s.getLabels(),h=s===a,g=new Array(r);let y,_,x;for(y=0,_=r;y<_;++y)x=y+i,g[y]={[l]:h||s.parse(d[x],x),[u]:a.parse(e[x],x)};return g}parseArrayData(t,e,i,r){const{xScale:s,yScale:a}=t,l=new Array(r);let u,d,h,g;for(u=0,d=r;u<d;++u)h=u+i,g=e[h],l[u]={x:s.parse(g[0],h),y:a.parse(g[1],h)};return l}parseObjectData(t,e,i,r){const{xScale:s,yScale:a}=t,{xAxisKey:l="x",yAxisKey:u="y"}=this._parsing,d=new Array(r);let h,g,y,_;for(h=0,g=r;h<g;++h)y=h+i,_=e[y],d[h]={x:s.parse(Mi(_,l),y),y:a.parse(Mi(_,u),y)};return d}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const r=this.chart,s=this._cachedMeta,a=e[t.axis],l={keys:mg(r,!0),values:e._stacks[t.axis]._visualValues};return yg(l,a,s.index,{mode:i})}updateRangeFromParsed(t,e,i,r){const s=i[e.axis];let a=s===null?NaN:s;const l=r&&i._stacks[e.axis];r&&l&&(r.values=l,a=yg(r,s,this._cachedMeta.index)),t.min=Math.min(t.min,a),t.max=Math.max(t.max,a)}getMinMax(t,e){const i=this._cachedMeta,r=i._parsed,s=i._sorted&&t===i.iScale,a=r.length,l=this._getOtherScale(t),u=fD(e,i,this.chart),d={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:h,max:g}=lD(l);let y,_;function x(){_=r[y];const v=_[l.axis];return!ae(_[t.axis])||h>v||g<v}for(y=0;y<a&&!(!x()&&(this.updateRangeFromParsed(d,t,_,u),s));++y);if(s){for(y=a-1;y>=0;--y)if(!x()){this.updateRangeFromParsed(d,t,_,u);break}}return d}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let r,s,a;for(r=0,s=e.length;r<s;++r)a=e[r][t.axis],ae(a)&&i.push(a);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,r=e.vScale,s=this.getParsed(t);return{label:i?""+i.getLabelForValue(s[i.axis]):"",value:r?""+r.getLabelForValue(s[r.axis]):""}}_update(t){const e=this._cachedMeta;this.update(t||"default"),e._clip=sD(Mt(this.options.clip,rD(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,r=i.data||[],s=e.chartArea,a=[],l=this._drawStart||0,u=this._drawCount||r.length-l,d=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(t,s,l,u),h=l;h<l+u;++h){const g=r[h];g.hidden||(g.active&&d?a.push(g):g.draw(t,s))}for(h=0;h<a.length;++h)a[h].draw(t,s)}getStyle(t,e){const i=e?"active":"default";return t===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const r=this.getDataset();let s;if(t>=0&&t<this._cachedMeta.data.length){const a=this._cachedMeta.data[t];s=a.$context||(a.$context=dD(this.getContext(),t,a)),s.parsed=this.getParsed(t),s.raw=r.data[t],s.index=s.dataIndex=t}else s=this.$context||(this.$context=uD(this.chart.getContext(),this.index)),s.dataset=r,s.index=s.datasetIndex=this.index;return s.active=!!e,s.mode=i,s}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const r=e==="active",s=this._cachedDataOpts,a=t+"-"+e,l=s[a],u=this.enableOptionSharing&&en(i);if(l)return xg(l,u);const d=this.chart.config,h=d.datasetElementScopeKeys(this._type,t),g=r?[`${t}Hover`,"hover",t,""]:[t,""],y=d.getOptionScopes(this.getDataset(),h),_=Object.keys(se.elements[t]),x=()=>this.getContext(i,r,e),v=d.resolveNamedOptions(y,_,x,g);return v.$shared&&(v.$shared=u,s[a]=Object.freeze(xg(v,u))),v}_resolveAnimations(t,e,i){const r=this.chart,s=this._cachedDataOpts,a=`animation-${e}`,l=s[a];if(l)return l;let u;if(r.options.animation!==!1){const h=this.chart.config,g=h.datasetAnimationScopeKeys(this._type,e),y=h.getOptionScopes(this.getDataset(),g);u=h.createResolver(y,this.getContext(t,i,e))}const d=new ou(r,u&&u.animations);return u&&u._cacheable&&(s[a]=Object.freeze(d)),d}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||cu(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),r=this._sharedOptions,s=this.getSharedOptions(i),a=this.includeOptions(e,s)||s!==r;return this.updateSharedOptions(s,e,i),{sharedOptions:s,includeOptions:a}}updateElement(t,e,i,r){cu(r)?Object.assign(t,i):this._resolveAnimations(e,r).update(t,i)}updateSharedOptions(t,e,i){t&&!cu(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,r){t.active=r;const s=this.getStyle(e,r);this._resolveAnimations(e,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[l,u,d]of this._syncList)this[l](u,d);this._syncList=[];const r=i.length,s=e.length,a=Math.min(s,r);a&&this.parse(0,a),s>r?this._insertElements(r,s-r,t):s<r&&this._removeElements(s,r-s)}_insertElements(t,e,i=!0){const r=this._cachedMeta,s=r.data,a=t+e;let l;const u=d=>{for(d.length+=e,l=d.length-1;l>=a;l--)d[l]=d[l-e]};for(u(s),l=t;l<a;++l)s[l]=new this.dataElementType;this._parsing&&u(r._parsed),this.parse(t,e),i&&this.updateElements(s,t,e,"reset")}updateElements(t,e,i,r){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const r=i._parsed.splice(t,e);i._stacked&&Xs(i,r)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,r]=t;this[e](i,r)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}function hD(n,t){if(!n._cache.$bar){const e=n.getMatchingVisibleMetas(t);let i=[];for(let r=0,s=e.length;r<s;r++)i=i.concat(e[r].controller.getAllParsedValues(n));n._cache.$bar=Bp(i.sort((r,s)=>r-s))}return n._cache.$bar}function pD(n){const t=n.iScale,e=hD(t,n.type);let i=t._length,r,s,a,l;const u=()=>{a===32767||a===-32768||(en(l)&&(i=Math.min(i,Math.abs(a-l)||i)),l=a)};for(r=0,s=e.length;r<s;++r)a=t.getPixelForValue(e[r]),u();for(l=void 0,r=0,s=t.ticks.length;r<s;++r)a=t.getPixelForTick(r),u();return i}function gD(n,t,e,i){const r=e.barThickness;let s,a;return xt(r)?(s=t.min*e.categoryPercentage,a=e.barPercentage):(s=r*i,a=1),{chunk:s/i,ratio:a,start:t.pixels[n]-s/2}}function mD(n,t,e,i){const r=t.pixels,s=r[n];let a=n>0?r[n-1]:null,l=n<r.length-1?r[n+1]:null;const u=e.categoryPercentage;a===null&&(a=s-(l===null?t.end-t.start:l-s)),l===null&&(l=s+s-a);const d=s-(s-Math.min(a,l))/2*u;return{chunk:Math.abs(l-a)/2*u/i,ratio:e.barPercentage,start:d}}function yD(n,t,e,i){const r=e.parse(n[0],i),s=e.parse(n[1],i),a=Math.min(r,s),l=Math.max(r,s);let u=a,d=l;Math.abs(a)>Math.abs(l)&&(u=l,d=a),t[e.axis]=d,t._custom={barStart:u,barEnd:d,start:r,end:s,min:a,max:l}}function wg(n,t,e,i){return qt(n)?yD(n,t,e,i):t[e.axis]=e.parse(n,i),t}function vg(n,t,e,i){const r=n.iScale,s=n.vScale,a=r.getLabels(),l=r===s,u=[];let d,h,g,y;for(d=e,h=e+i;d<h;++d)y=t[d],g={},g[r.axis]=l||r.parse(a[d],d),u.push(wg(y,g,s,d));return u}function uu(n){return n&&n.barStart!==void 0&&n.barEnd!==void 0}function _D(n,t,e){return n!==0?Yn(n):(t.isHorizontal()?1:-1)*(t.min>=e?1:-1)}function bD(n){let t,e,i,r,s;return n.horizontal?(t=n.base>n.x,e="left",i="right"):(t=n.base<n.y,e="bottom",i="top"),t?(r="end",s="start"):(r="start",s="end"),{start:e,end:i,reverse:t,top:r,bottom:s}}function xD(n,t,e,i){let r=t.borderSkipped;const s={};if(!r){n.borderSkipped=s;return}if(r===!0){n.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}const{start:a,end:l,reverse:u,top:d,bottom:h}=bD(n);r==="middle"&&e&&(n.enableBorderRadius=!0,(e._top||0)===i?r=d:(e._bottom||0)===i?r=h:(s[Sg(h,a,l,u)]=!0,r=d)),s[Sg(r,a,l,u)]=!0,n.borderSkipped=s}function Sg(n,t,e,i){return i?(n=wD(n,t,e),n=Tg(n,e,t)):n=Tg(n,t,e),n}function wD(n,t,e){return n===t?e:n===e?t:n}function Tg(n,t,e){return n==="start"?t:n==="end"?e:n}function vD(n,{inflateAmount:t},e){n.inflateAmount=t==="auto"?e===1?.33:0:t}class Mg extends Ei{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,r){return vg(t,e,i,r)}parseArrayData(t,e,i,r){return vg(t,e,i,r)}parseObjectData(t,e,i,r){const{iScale:s,vScale:a}=t,{xAxisKey:l="x",yAxisKey:u="y"}=this._parsing,d=s.axis==="x"?l:u,h=a.axis==="x"?l:u,g=[];let y,_,x,v;for(y=i,_=i+r;y<_;++y)v=e[y],x={},x[s.axis]=s.parse(Mi(v,d),y),g.push(wg(Mi(v,h),x,a,y));return g}updateRangeFromParsed(t,e,i,r){super.updateRangeFromParsed(t,e,i,r);const s=i._custom;s&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,s.min),t.max=Math.max(t.max,s.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:r}=e,s=this.getParsed(t),a=s._custom,l=uu(a)?"["+a.start+", "+a.end+"]":""+r.getLabelForValue(s[r.axis]);return{label:""+i.getLabelForValue(s[i.axis]),value:l}}initialize(){this.enableOptionSharing=!0,super.initialize();const t=this._cachedMeta;t.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,r){const s=r==="reset",{index:a,_cachedMeta:{vScale:l}}=this,u=l.getBasePixel(),d=l.isHorizontal(),h=this._getRuler(),{sharedOptions:g,includeOptions:y}=this._getSharedOptions(e,r);for(let _=e;_<e+i;_++){const x=this.getParsed(_),v=s||xt(x[l.axis])?{base:u,head:u}:this._calculateBarValuePixels(_),M=this._calculateBarIndexPixels(_,h),C=(x._stacks||{})[l.axis],R={horizontal:d,base:v.base,enableBorderRadius:!C||uu(x._custom)||a===C._top||a===C._bottom,x:d?v.head:M.center,y:d?M.center:v.head,height:d?M.size:Math.abs(v.size),width:d?Math.abs(v.size):M.size};y&&(R.options=g||this.resolveDataElementOptions(_,t[_].active?"active":r));const F=R.options||t[_].options;xD(R,F,C,a),vD(R,F,h.ratio),this.updateElement(t[_],_,R,r)}}_getStacks(t,e){const{iScale:i}=this._cachedMeta,r=i.getMatchingVisibleMetas(this._type).filter(h=>h.controller.options.grouped),s=i.options.stacked,a=[],l=this._cachedMeta.controller.getParsed(e),u=l&&l[i.axis],d=h=>{const g=h._parsed.find(_=>_[i.axis]===u),y=g&&g[h.vScale.axis];if(xt(y)||isNaN(y))return!0};for(const h of r)if(!(e!==void 0&&d(h))&&((s===!1||a.indexOf(h.stack)===-1||s===void 0&&h.stack===void 0)&&a.push(h.stack),h.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter(i=>t[i].axis===e).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const i of this.chart.data.datasets)t[Mt(this.chart.options.indexAxis==="x"?i.xAxisID:i.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,i){const r=this._getStacks(t,i),s=e!==void 0?r.indexOf(e):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,r=[];let s,a;for(s=0,a=e.data.length;s<a;++s)r.push(i.getPixelForValue(this.getParsed(s)[i.axis],s));const l=t.barThickness;return{min:l||pD(e),pixels:r,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:l?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i,index:r},options:{base:s,minBarLength:a}}=this,l=s||0,u=this.getParsed(t),d=u._custom,h=uu(d);let g=u[e.axis],y=0,_=i?this.applyStack(e,u,i):g,x,v;_!==g&&(y=_-g,_=g),h&&(g=d.barStart,_=d.barEnd-d.barStart,g!==0&&Yn(g)!==Yn(d.barEnd)&&(y=0),y+=g);const M=!xt(s)&&!h?s:y;let C=e.getPixelForValue(M);if(this.chart.getDataVisibility(t)?x=e.getPixelForValue(y+_):x=C,v=x-C,Math.abs(v)<a){v=_D(v,e,l)*a,g===l&&(C-=v/2);const R=e.getPixelForDecimal(0),F=e.getPixelForDecimal(1),I=Math.min(R,F),L=Math.max(R,F);C=Math.max(Math.min(C,L),I),x=C+v,i&&!h&&(u._stacks[e.axis]._visualValues[r]=e.getValueForPixel(x)-e.getValueForPixel(C))}if(C===e.getPixelForValue(l)){const R=Yn(v)*e.getLineWidthForValue(l)/2;C+=R,v-=R}return{size:v,base:C,head:x,center:x+v/2}}_calculateBarIndexPixels(t,e){const i=e.scale,r=this.options,s=r.skipNull,a=Mt(r.maxBarThickness,1/0);let l,u;const d=this._getAxisCount();if(e.grouped){const h=s?this._getStackCount(t):e.stackCount,g=r.barThickness==="flex"?mD(t,e,r,h*d):gD(t,e,r,h*d),y=this.chart.options.indexAxis==="x"?this.getDataset().xAxisID:this.getDataset().yAxisID,_=this._getAxis().indexOf(Mt(y,this.getFirstScaleIdForIndexAxis())),x=this._getStackIndex(this.index,this._cachedMeta.stack,s?t:void 0)+_;l=g.start+g.chunk*x+g.chunk/2,u=Math.min(a,g.chunk*g.ratio)}else l=i.getPixelForValue(this.getParsed(t)[i.axis],t),u=Math.min(a,e.min*e.ratio);return{base:l-u/2,head:l+u/2,center:l,size:u}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,r=i.length;let s=0;for(;s<r;++s)this.getParsed(s)[e.axis]!==null&&!i[s].hidden&&i[s].draw(this._ctx)}}class SD extends Ei{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,r){const s=super.parsePrimitiveData(t,e,i,r);for(let a=0;a<s.length;a++)s[a]._custom=this.resolveDataElementOptions(a+i).radius;return s}parseArrayData(t,e,i,r){const s=super.parseArrayData(t,e,i,r);for(let a=0;a<s.length;a++){const l=e[i+a];s[a]._custom=Mt(l[2],this.resolveDataElementOptions(a+i).radius)}return s}parseObjectData(t,e,i,r){const s=super.parseObjectData(t,e,i,r);for(let a=0;a<s.length;a++){const l=e[i+a];s[a]._custom=Mt(l&&l.r&&+l.r,this.resolveDataElementOptions(a+i).radius)}return s}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:r,yScale:s}=e,a=this.getParsed(t),l=r.getLabelForValue(a.x),u=s.getLabelForValue(a.y),d=a._custom;return{label:i[t]||"",value:"("+l+", "+u+(d?", "+d:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,r){const s=r==="reset",{iScale:a,vScale:l}=this._cachedMeta,{sharedOptions:u,includeOptions:d}=this._getSharedOptions(e,r),h=a.axis,g=l.axis;for(let y=e;y<e+i;y++){const _=t[y],x=!s&&this.getParsed(y),v={},M=v[h]=s?a.getPixelForDecimal(.5):a.getPixelForValue(x[h]),C=v[g]=s?l.getBasePixel():l.getPixelForValue(x[g]);v.skip=isNaN(M)||isNaN(C),d&&(v.options=u||this.resolveDataElementOptions(y,_.active?"active":r),s&&(v.options.radius=0)),this.updateElement(_,y,v,r)}}resolveDataElementOptions(t,e){const i=this.getParsed(t);let r=super.resolveDataElementOptions(t,e);r.$shared&&(r=Object.assign({},r,{$shared:!1}));const s=r.radius;return e!=="active"&&(r.radius=0),r.radius+=Mt(i&&i._custom,s),r}}function TD(n,t,e){let i=1,r=1,s=0,a=0;if(t<te){const l=n,u=l+t,d=Math.cos(l),h=Math.sin(l),g=Math.cos(u),y=Math.sin(u),_=(F,I,L)=>Vs(F,l,u,!0)?1:Math.max(I,I*e,L,L*e),x=(F,I,L)=>Vs(F,l,u,!0)?-1:Math.min(I,I*e,L,L*e),v=_(0,d,g),M=_(re,h,y),C=x(Rt,d,g),R=x(Rt+re,h,y);i=(v-C)/2,r=(M-R)/2,s=-(v+C)/2,a=-(M+R)/2}return{ratioX:i,ratioY:r,offsetX:s,offsetY:a}}class Zs extends Ei{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:t=>t!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data,{labels:{pointStyle:i,textAlign:r,color:s,useBorderRadius:a,borderRadius:l}}=t.legend.options;return e.labels.length&&e.datasets.length?e.labels.map((u,d)=>{const g=t.getDatasetMeta(0).controller.getStyle(d);return{text:u,fillStyle:g.backgroundColor,fontColor:s,hidden:!t.getDataVisibility(d),lineDash:g.borderDash,lineDashOffset:g.borderDashOffset,lineJoin:g.borderJoinStyle,lineWidth:g.borderWidth,strokeStyle:g.borderColor,textAlign:r,pointStyle:i,borderRadius:a&&(l||g.borderRadius),index:d}}):[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,r=this._cachedMeta;if(this._parsing===!1)r._parsed=i;else{let s=u=>+i[u];if(Pt(i[t])){const{key:u="value"}=this._parsing;s=d=>+Mi(i[d],u)}let a,l;for(a=t,l=t+e;a<l;++a)r._parsed[a]=s(a)}}_getRotation(){return xe(this.options.rotation-90)}_getCircumference(){return xe(this.options.circumference)}_getRotationExtents(){let t=te,e=-te;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){const r=this.chart.getDatasetMeta(i).controller,s=r._getRotation(),a=r._getCircumference();t=Math.min(t,s),e=Math.max(e,s+a)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,r=this._cachedMeta,s=r.data,a=this.getMaxBorderWidth()+this.getMaxOffset(s)+this.options.spacing,l=Math.max((Math.min(i.width,i.height)-a)/2,0),u=Math.min(NM(this.options.cutout,l),1),d=this._getRingWeight(this.index),{circumference:h,rotation:g}=this._getRotationExtents(),{ratioX:y,ratioY:_,offsetX:x,offsetY:v}=TD(g,h,u),M=(i.width-a)/y,C=(i.height-a)/_,R=Math.max(Math.min(M,C)/2,0),F=Cp(this.options.radius,R),I=Math.max(F*u,0),L=(F-I)/this._getVisibleDatasetWeightTotal();this.offsetX=x*F,this.offsetY=v*F,r.total=this.calculateTotal(),this.outerRadius=F-L*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-L*d,0),this.updateElements(s,0,s.length,t)}_circumference(t,e){const i=this.options,r=this._cachedMeta,s=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||r._parsed[t]===null||r.data[t].hidden?0:this.calculateCircumference(r._parsed[t]*s/te)}updateElements(t,e,i,r){const s=r==="reset",a=this.chart,l=a.chartArea,d=a.options.animation,h=(l.left+l.right)/2,g=(l.top+l.bottom)/2,y=s&&d.animateScale,_=y?0:this.innerRadius,x=y?0:this.outerRadius,{sharedOptions:v,includeOptions:M}=this._getSharedOptions(e,r);let C=this._getRotation(),R;for(R=0;R<e;++R)C+=this._circumference(R,s);for(R=e;R<e+i;++R){const F=this._circumference(R,s),I=t[R],L={x:h+this.offsetX,y:g+this.offsetY,startAngle:C,endAngle:C+F,circumference:F,outerRadius:x,innerRadius:_};M&&(L.options=v||this.resolveDataElementOptions(R,I.active?"active":r)),C+=F,this.updateElement(I,R,L,r)}}calculateTotal(){const t=this._cachedMeta,e=t.data;let i=0,r;for(r=0;r<e.length;r++){const s=t._parsed[r];s!==null&&!isNaN(s)&&this.chart.getDataVisibility(r)&&!e[r].hidden&&(i+=Math.abs(s))}return i}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?te*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,r=i.data.labels||[],s=Ys(e._parsed[t],i.options.locale);return{label:r[t]||"",value:s}}getMaxBorderWidth(t){let e=0;const i=this.chart;let r,s,a,l,u;if(!t){for(r=0,s=i.data.datasets.length;r<s;++r)if(i.isDatasetVisible(r)){a=i.getDatasetMeta(r),t=a.data,l=a.controller;break}}if(!t)return 0;for(r=0,s=t.length;r<s;++r)u=l.resolveDataElementOptions(r),u.borderAlign!=="inner"&&(e=Math.max(e,u.borderWidth||0,u.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,r=t.length;i<r;++i){const s=this.resolveDataElementOptions(i);e=Math.max(e,s.offset||0,s.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(Mt(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}class kg extends Ei{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:r=[],_dataset:s}=e,a=this.chart._animationsDisabled;let{start:l,count:u}=Up(e,r,a);this._drawStart=l,this._drawCount=u,Hp(e)&&(l=0,u=r.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!s._decimated,i.points=r;const d=this.resolveDatasetElementOptions(t);this.options.showLine||(d.borderWidth=0),d.segment=this.options.segment,this.updateElement(i,void 0,{animated:!a,options:d},t),this.updateElements(r,l,u,t)}updateElements(t,e,i,r){const s=r==="reset",{iScale:a,vScale:l,_stacked:u,_dataset:d}=this._cachedMeta,{sharedOptions:h,includeOptions:g}=this._getSharedOptions(e,r),y=a.axis,_=l.axis,{spanGaps:x,segment:v}=this.options,M=Di(x)?x:Number.POSITIVE_INFINITY,C=this.chart._animationsDisabled||s||r==="none",R=e+i,F=t.length;let I=e>0&&this.getParsed(e-1);for(let L=0;L<F;++L){const N=t[L],B=C?N:{};if(L<e||L>=R){B.skip=!0;continue}const T=this.getParsed(L),S=xt(T[_]),O=B[y]=a.getPixelForValue(T[y],L),U=B[_]=s||S?l.getBasePixel():l.getPixelForValue(u?this.applyStack(l,T,u):T[_],L);B.skip=isNaN(O)||isNaN(U)||S,B.stop=L>0&&Math.abs(T[y]-I[y])>M,v&&(B.parsed=T,B.raw=d.data[L]),g&&(B.options=h||this.resolveDataElementOptions(L,N.active?"active":r)),C||this.updateElement(N,L,B,r),I=T}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,r=t.data||[];if(!r.length)return i;const s=r[0].size(this.resolveDataElementOptions(0)),a=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(i,s,a)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}class Dg extends Ei{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:r}}=t.legend.options;return e.labels.map((s,a)=>{const u=t.getDatasetMeta(0).controller.getStyle(a);return{text:s,fillStyle:u.backgroundColor,strokeStyle:u.borderColor,fontColor:r,lineWidth:u.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(a),index:a}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,r=i.data.labels||[],s=Ys(e._parsed[t].r,i.options.locale);return{label:r[t]||"",value:s}}parseObjectData(t,e,i,r){return eg.bind(this)(t,e,i,r)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((i,r)=>{const s=this.getParsed(r).r;!isNaN(s)&&this.chart.getDataVisibility(r)&&(s<e.min&&(e.min=s),s>e.max&&(e.max=s))}),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,r=Math.min(e.right-e.left,e.bottom-e.top),s=Math.max(r/2,0),a=Math.max(i.cutoutPercentage?s/100*i.cutoutPercentage:1,0),l=(s-a)/t.getVisibleDatasetCount();this.outerRadius=s-l*this.index,this.innerRadius=this.outerRadius-l}updateElements(t,e,i,r){const s=r==="reset",a=this.chart,u=a.options.animation,d=this._cachedMeta.rScale,h=d.xCenter,g=d.yCenter,y=d.getIndexAngle(0)-.5*Rt;let _=y,x;const v=360/this.countVisibleElements();for(x=0;x<e;++x)_+=this._computeAngle(x,r,v);for(x=e;x<e+i;x++){const M=t[x];let C=_,R=_+this._computeAngle(x,r,v),F=a.getDataVisibility(x)?d.getDistanceFromCenterForValue(this.getParsed(x).r):0;_=R,s&&(u.animateScale&&(F=0),u.animateRotate&&(C=R=y));const I={x:h,y:g,innerRadius:0,outerRadius:F,startAngle:C,endAngle:R,options:this.resolveDataElementOptions(x,M.active?"active":r)};this.updateElement(M,x,I,r)}}countVisibleElements(){const t=this._cachedMeta;let e=0;return t.data.forEach((i,r)=>{!isNaN(this.getParsed(r).r)&&this.chart.getDataVisibility(r)&&e++}),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?xe(this.resolveDataElementOptions(t,e).angle||i):0}}class MD extends Zs{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}}class kD extends Ei{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,r){return eg.bind(this)(t,e,i,r)}update(t){const e=this._cachedMeta,i=e.dataset,r=e.data||[],s=e.iScale.getLabels();if(i.points=r,t!=="resize"){const a=this.resolveDatasetElementOptions(t);this.options.showLine||(a.borderWidth=0);const l={_loop:!0,_fullLoop:s.length===r.length,options:a};this.updateElement(i,void 0,l,t)}this.updateElements(r,0,r.length,t)}updateElements(t,e,i,r){const s=this._cachedMeta.rScale,a=r==="reset";for(let l=e;l<e+i;l++){const u=t[l],d=this.resolveDataElementOptions(l,u.active?"active":r),h=s.getPointPositionForValue(l,this.getParsed(l).r),g=a?s.xCenter:h.x,y=a?s.yCenter:h.y,_={x:g,y,angle:h.angle,skip:isNaN(g)||isNaN(y),options:d};this.updateElement(u,l,_,r)}}}class Cg extends Ei{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:r,yScale:s}=e,a=this.getParsed(t),l=r.getLabelForValue(a.x),u=s.getLabelForValue(a.y);return{label:i[t]||"",value:"("+l+", "+u+")"}}update(t){const e=this._cachedMeta,{data:i=[]}=e,r=this.chart._animationsDisabled;let{start:s,count:a}=Up(e,i,r);if(this._drawStart=s,this._drawCount=a,Hp(e)&&(s=0,a=i.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:l,_dataset:u}=e;l._chart=this.chart,l._datasetIndex=this.index,l._decimated=!!u._decimated,l.points=i;const d=this.resolveDatasetElementOptions(t);d.segment=this.options.segment,this.updateElement(l,void 0,{animated:!r,options:d},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(i,s,a,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,i,r){const s=r==="reset",{iScale:a,vScale:l,_stacked:u,_dataset:d}=this._cachedMeta,h=this.resolveDataElementOptions(e,r),g=this.getSharedOptions(h),y=this.includeOptions(r,g),_=a.axis,x=l.axis,{spanGaps:v,segment:M}=this.options,C=Di(v)?v:Number.POSITIVE_INFINITY,R=this.chart._animationsDisabled||s||r==="none";let F=e>0&&this.getParsed(e-1);for(let I=e;I<e+i;++I){const L=t[I],N=this.getParsed(I),B=R?L:{},T=xt(N[x]),S=B[_]=a.getPixelForValue(N[_],I),O=B[x]=s||T?l.getBasePixel():l.getPixelForValue(u?this.applyStack(l,N,u):N[x],I);B.skip=isNaN(S)||isNaN(O)||T,B.stop=I>0&&Math.abs(N[_]-F[_])>C,M&&(B.parsed=N,B.raw=d.data[I]),y&&(B.options=g||this.resolveDataElementOptions(I,L.active?"active":r)),R||this.updateElement(L,I,B,r),F=N}this.updateSharedOptions(g,r,h)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let l=0;for(let u=e.length-1;u>=0;--u)l=Math.max(l,e[u].size(this.resolveDataElementOptions(u))/2);return l>0&&l}const i=t.dataset,r=i.options&&i.options.borderWidth||0;if(!e.length)return r;const s=e[0].size(this.resolveDataElementOptions(0)),a=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(r,s,a)/2}}var DD=Object.freeze({__proto__:null,BarController:Mg,BubbleController:SD,DoughnutController:Zs,LineController:kg,PieController:MD,PolarAreaController:Dg,RadarController:kD,ScatterController:Cg});function ur(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class du{static override(t){Object.assign(du.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return ur()}parse(){return ur()}format(){return ur()}add(){return ur()}diff(){return ur()}startOf(){return ur()}endOf(){return ur()}}var Og={_date:du};function CD(n,t,e,i){const{controller:r,data:s,_sorted:a}=n,l=r._cachedMeta.iScale,u=n.dataset&&n.dataset.options?n.dataset.options.spanGaps:null;if(l&&t===l.axis&&t!=="r"&&a&&s.length){const d=l._reversePixels?GM:ii;if(i){if(r._sharedOptions){const h=s[0],g=typeof h.getRange=="function"&&h.getRange(t);if(g){const y=d(s,t,e-g),_=d(s,t,e+g);return{lo:y.lo,hi:_.hi}}}}else{const h=d(s,t,e);if(u){const{vScale:g}=r._cachedMeta,{_parsed:y}=n,_=y.slice(0,h.lo+1).reverse().findIndex(v=>!xt(v[g.axis]));h.lo-=Math.max(0,_);const x=y.slice(h.hi).findIndex(v=>!xt(v[g.axis]));h.hi+=Math.max(0,x)}return h}}return{lo:0,hi:s.length-1}}function Qs(n,t,e,i,r){const s=n.getSortedVisibleDatasetMetas(),a=e[t];for(let l=0,u=s.length;l<u;++l){const{index:d,data:h}=s[l],{lo:g,hi:y}=CD(s[l],t,a,r);for(let _=g;_<=y;++_){const x=h[_];x.skip||i(x,d,_)}}}function OD(n){const t=n.indexOf("x")!==-1,e=n.indexOf("y")!==-1;return function(i,r){const s=t?Math.abs(i.x-r.x):0,a=e?Math.abs(i.y-r.y):0;return Math.sqrt(Math.pow(s,2)+Math.pow(a,2))}}function fu(n,t,e,i,r){const s=[];return!r&&!n.isPointInArea(t)||Qs(n,e,t,function(l,u,d){!r&&!ri(l,n.chartArea,0)||l.inRange(t.x,t.y,i)&&s.push({element:l,datasetIndex:u,index:d})},!0),s}function AD(n,t,e,i){let r=[];function s(a,l,u){const{startAngle:d,endAngle:h}=a.getProps(["startAngle","endAngle"],i),{angle:g}=va(a,{x:t.x,y:t.y});Vs(g,d,h)&&r.push({element:a,datasetIndex:l,index:u})}return Qs(n,e,t,s),r}function RD(n,t,e,i,r,s){let a=[];const l=OD(e);let u=Number.POSITIVE_INFINITY;function d(h,g,y){const _=h.inRange(t.x,t.y,r);if(i&&!_)return;const x=h.getCenterPoint(r);if(!(!!s||n.isPointInArea(x))&&!_)return;const M=l(t,x);M<u?(a=[{element:h,datasetIndex:g,index:y}],u=M):M===u&&a.push({element:h,datasetIndex:g,index:y})}return Qs(n,e,t,d),a}function hu(n,t,e,i,r,s){return!s&&!n.isPointInArea(t)?[]:e==="r"&&!i?AD(n,t,e,r):RD(n,t,e,i,r,s)}function Ag(n,t,e,i,r){const s=[],a=e==="x"?"inXRange":"inYRange";let l=!1;return Qs(n,e,t,(u,d,h)=>{u[a]&&u[a](t[e],r)&&(s.push({element:u,datasetIndex:d,index:h}),l=l||u.inRange(t.x,t.y,r))}),i&&!l?[]:s}var pu={evaluateInteractionItems:Qs,modes:{index(n,t,e,i){const r=Ai(t,n),s=e.axis||"x",a=e.includeInvisible||!1,l=e.intersect?fu(n,r,s,i,a):hu(n,r,s,!1,i,a),u=[];return l.length?(n.getSortedVisibleDatasetMetas().forEach(d=>{const h=l[0].index,g=d.data[h];g&&!g.skip&&u.push({element:g,datasetIndex:d.index,index:h})}),u):[]},dataset(n,t,e,i){const r=Ai(t,n),s=e.axis||"xy",a=e.includeInvisible||!1;let l=e.intersect?fu(n,r,s,i,a):hu(n,r,s,!1,i,a);if(l.length>0){const u=l[0].datasetIndex,d=n.getDatasetMeta(u).data;l=[];for(let h=0;h<d.length;++h)l.push({element:d[h],datasetIndex:u,index:h})}return l},point(n,t,e,i){const r=Ai(t,n),s=e.axis||"xy",a=e.includeInvisible||!1;return fu(n,r,s,i,a)},nearest(n,t,e,i){const r=Ai(t,n),s=e.axis||"xy",a=e.includeInvisible||!1;return hu(n,r,s,e.intersect,i,a)},x(n,t,e,i){const r=Ai(t,n);return Ag(n,r,"x",e.intersect,i)},y(n,t,e,i){const r=Ai(t,n);return Ag(n,r,"y",e.intersect,i)}}};const Rg=["left","top","right","bottom"];function Js(n,t){return n.filter(e=>e.pos===t)}function Eg(n,t){return n.filter(e=>Rg.indexOf(e.pos)===-1&&e.box.axis===t)}function to(n,t){return n.sort((e,i)=>{const r=t?i:e,s=t?e:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function ED(n){const t=[];let e,i,r,s,a,l;for(e=0,i=(n||[]).length;e<i;++e)r=n[e],{position:s,options:{stack:a,stackWeight:l=1}}=r,t.push({index:e,box:r,pos:s,horizontal:r.isHorizontal(),weight:r.weight,stack:a&&s+a,stackWeight:l});return t}function PD(n){const t={};for(const e of n){const{stack:i,pos:r,stackWeight:s}=e;if(!i||!Rg.includes(r))continue;const a=t[i]||(t[i]={count:0,placed:0,weight:0,size:0});a.count++,a.weight+=s}return t}function ID(n,t){const e=PD(n),{vBoxMaxWidth:i,hBoxMaxHeight:r}=t;let s,a,l;for(s=0,a=n.length;s<a;++s){l=n[s];const{fullSize:u}=l.box,d=e[l.stack],h=d&&l.stackWeight/d.weight;l.horizontal?(l.width=h?h*i:u&&t.availableWidth,l.height=r):(l.width=i,l.height=h?h*r:u&&t.availableHeight)}return e}function LD(n){const t=ED(n),e=to(t.filter(d=>d.box.fullSize),!0),i=to(Js(t,"left"),!0),r=to(Js(t,"right")),s=to(Js(t,"top"),!0),a=to(Js(t,"bottom")),l=Eg(t,"x"),u=Eg(t,"y");return{fullSize:e,leftAndTop:i.concat(s),rightAndBottom:r.concat(u).concat(a).concat(l),chartArea:Js(t,"chartArea"),vertical:i.concat(r).concat(u),horizontal:s.concat(a).concat(l)}}function Pg(n,t,e,i){return Math.max(n[e],t[e])+Math.max(n[i],t[i])}function Ig(n,t){n.top=Math.max(n.top,t.top),n.left=Math.max(n.left,t.left),n.bottom=Math.max(n.bottom,t.bottom),n.right=Math.max(n.right,t.right)}function ND(n,t,e,i){const{pos:r,box:s}=e,a=n.maxPadding;if(!Pt(r)){e.size&&(n[r]-=e.size);const g=i[e.stack]||{size:0,count:1};g.size=Math.max(g.size,e.horizontal?s.height:s.width),e.size=g.size/g.count,n[r]+=e.size}s.getPadding&&Ig(a,s.getPadding());const l=Math.max(0,t.outerWidth-Pg(a,n,"left","right")),u=Math.max(0,t.outerHeight-Pg(a,n,"top","bottom")),d=l!==n.w,h=u!==n.h;return n.w=l,n.h=u,e.horizontal?{same:d,other:h}:{same:h,other:d}}function BD(n){const t=n.maxPadding;function e(i){const r=Math.max(t[i]-n[i],0);return n[i]+=r,r}n.y+=e("top"),n.x+=e("left"),e("right"),e("bottom")}function FD(n,t){const e=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(a=>{s[a]=Math.max(t[a],e[a])}),s}return i(n?["left","right"]:["top","bottom"])}function eo(n,t,e,i){const r=[];let s,a,l,u,d,h;for(s=0,a=n.length,d=0;s<a;++s){l=n[s],u=l.box,u.update(l.width||t.w,l.height||t.h,FD(l.horizontal,t));const{same:g,other:y}=ND(t,e,l,i);d|=g&&r.length,h=h||y,u.fullSize||r.push(l)}return d&&eo(r,t,e,i)||h}function Ra(n,t,e,i,r){n.top=e,n.left=t,n.right=t+i,n.bottom=e+r,n.width=i,n.height=r}function Lg(n,t,e,i){const r=e.padding;let{x:s,y:a}=t;for(const l of n){const u=l.box,d=i[l.stack]||{placed:0,weight:1},h=l.stackWeight/d.weight||1;if(l.horizontal){const g=t.w*h,y=d.size||u.height;en(d.start)&&(a=d.start),u.fullSize?Ra(u,r.left,a,e.outerWidth-r.right-r.left,y):Ra(u,t.left+d.placed,a,g,y),d.start=a,d.placed+=g,a=u.bottom}else{const g=t.h*h,y=d.size||u.width;en(d.start)&&(s=d.start),u.fullSize?Ra(u,s,r.top,y,e.outerHeight-r.bottom-r.top):Ra(u,s,t.top+d.placed,y,g),d.start=s,d.placed+=g,s=u.right}}t.x=s,t.y=a}var We={addBox(n,t){n.boxes||(n.boxes=[]),t.fullSize=t.fullSize||!1,t.position=t.position||"top",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(e){t.draw(e)}}]},n.boxes.push(t)},removeBox(n,t){const e=n.boxes?n.boxes.indexOf(t):-1;e!==-1&&n.boxes.splice(e,1)},configure(n,t,e){t.fullSize=e.fullSize,t.position=e.position,t.weight=e.weight},update(n,t,e,i){if(!n)return;const r=we(n.options.layout.padding),s=Math.max(t-r.width,0),a=Math.max(e-r.height,0),l=LD(n.boxes),u=l.vertical,d=l.horizontal;Jt(n.boxes,v=>{typeof v.beforeLayout=="function"&&v.beforeLayout()});const h=u.reduce((v,M)=>M.box.options&&M.box.options.display===!1?v:v+1,0)||1,g=Object.freeze({outerWidth:t,outerHeight:e,padding:r,availableWidth:s,availableHeight:a,vBoxMaxWidth:s/2/h,hBoxMaxHeight:a/2}),y=Object.assign({},r);Ig(y,we(i));const _=Object.assign({maxPadding:y,w:s,h:a,x:r.left,y:r.top},r),x=ID(u.concat(d),g);eo(l.fullSize,_,g,x),eo(u,_,g,x),eo(d,_,g,x)&&eo(u,_,g,x),BD(_),Lg(l.leftAndTop,_,g,x),_.x+=_.w,_.y+=_.h,Lg(l.rightAndBottom,_,g,x),n.chartArea={left:_.left,top:_.top,right:_.left+_.w,bottom:_.top+_.h,height:_.h,width:_.w},Jt(l.chartArea,v=>{const M=v.box;Object.assign(M,n.chartArea),M.update(_.w,_.h,{left:0,top:0,right:0,bottom:0})})}};class Ng{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,r){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,r?Math.floor(e/r):i)}}isAttached(t){return!0}updateConfig(t){}}class zD extends Ng{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Ea="$chartjs",UD={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Bg=n=>n===null||n==="";function HD(n,t){const e=n.style,i=n.getAttribute("height"),r=n.getAttribute("width");if(n[Ea]={initial:{height:i,width:r,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",Bg(r)){const s=rg(n,"width");s!==void 0&&(n.width=s)}if(Bg(i))if(n.style.height==="")n.height=n.width/(t||2);else{const s=rg(n,"height");s!==void 0&&(n.height=s)}return n}const Fg=Hk?{passive:!0}:!1;function WD(n,t,e){n&&n.addEventListener(t,e,Fg)}function VD(n,t,e){n&&n.canvas&&n.canvas.removeEventListener(t,e,Fg)}function $D(n,t){const e=UD[n.type]||n.type,{x:i,y:r}=Ai(n,t);return{type:e,chart:t,native:n,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Pa(n,t){for(const e of n)if(e===t||e.contains(t))return!0}function YD(n,t,e){const i=n.canvas,r=new MutationObserver(s=>{let a=!1;for(const l of s)a=a||Pa(l.addedNodes,i),a=a&&!Pa(l.removedNodes,i);a&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}function qD(n,t,e){const i=n.canvas,r=new MutationObserver(s=>{let a=!1;for(const l of s)a=a||Pa(l.removedNodes,i),a=a&&!Pa(l.addedNodes,i);a&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}const no=new Map;let zg=0;function Ug(){const n=window.devicePixelRatio;n!==zg&&(zg=n,no.forEach((t,e)=>{e.currentDevicePixelRatio!==n&&t()}))}function jD(n,t){no.size||window.addEventListener("resize",Ug),no.set(n,t)}function GD(n){no.delete(n),no.size||window.removeEventListener("resize",Ug)}function KD(n,t,e){const i=n.canvas,r=i&&su(i);if(!r)return;const s=zp((l,u)=>{const d=r.clientWidth;e(l,u),d<r.clientWidth&&e()},window),a=new ResizeObserver(l=>{const u=l[0],d=u.contentRect.width,h=u.contentRect.height;d===0&&h===0||s(d,h)});return a.observe(r),jD(n,s),a}function gu(n,t,e){e&&e.disconnect(),t==="resize"&&GD(n)}function XD(n,t,e){const i=n.canvas,r=zp(s=>{n.ctx!==null&&e($D(s,n))},n);return WD(i,t,r),r}class ZD extends Ng{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(HD(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[Ea])return!1;const i=e[Ea].initial;["height","width"].forEach(s=>{const a=i[s];xt(a)?e.removeAttribute(s):e.setAttribute(s,a)});const r=i.style||{};return Object.keys(r).forEach(s=>{e.style[s]=r[s]}),e.width=e.width,delete e[Ea],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const r=t.$proxies||(t.$proxies={}),a={attach:YD,detach:qD,resize:KD}[e]||XD;r[e]=a(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),r=i[e];if(!r)return;({attach:gu,detach:gu,resize:gu}[e]||VD)(t,e,r),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,r){return Uk(t,e,i,r)}isAttached(t){const e=t&&su(t);return!!(e&&e.isConnected)}}function QD(n){return!ru()||typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas?zD:ZD}class Ve{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return Di(this.x)&&Di(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}function JD(n,t){const e=n.options.ticks,i=tC(n),r=Math.min(e.maxTicksLimit||i,i),s=e.major.enabled?nC(t):[],a=s.length,l=s[0],u=s[a-1],d=[];if(a>r)return iC(t,d,s,a/r),d;const h=eC(s,t,r);if(a>0){let g,y;const _=a>1?Math.round((u-l)/(a-1)):null;for(Ia(t,d,h,xt(_)?0:l-_,l),g=0,y=a-1;g<y;g++)Ia(t,d,h,s[g],s[g+1]);return Ia(t,d,h,u,xt(_)?t.length:u+_),d}return Ia(t,d,h),d}function tC(n){const t=n.options.offset,e=n._tickSize(),i=n._length/e+(t?0:1),r=n._maxLength/e;return Math.floor(Math.min(i,r))}function eC(n,t,e){const i=rC(n),r=t.length/e;if(!i)return Math.max(r,1);const s=VM(i);for(let a=0,l=s.length-1;a<l;a++){const u=s[a];if(u>r)return u}return Math.max(r,1)}function nC(n){const t=[];let e,i;for(e=0,i=n.length;e<i;e++)n[e].major&&t.push(e);return t}function iC(n,t,e,i){let r=0,s=e[0],a;for(i=Math.ceil(i),a=0;a<n.length;a++)a===s&&(t.push(n[a]),r++,s=e[r*i])}function Ia(n,t,e,i,r){const s=Mt(i,0),a=Math.min(Mt(r,n.length),n.length);let l=0,u,d,h;for(e=Math.ceil(e),r&&(u=r-i,e=u/Math.floor(u/e)),h=s;h<0;)l++,h=Math.round(s+l*e);for(d=Math.max(s,0);d<a;d++)d===h&&(t.push(n[d]),l++,h=Math.round(s+l*e))}function rC(n){const t=n.length;let e,i;if(t<2)return!1;for(i=n[0],e=1;e<t;++e)if(n[e]-n[e-1]!==i)return!1;return i}const sC=n=>n==="left"?"right":n==="right"?"left":n,Hg=(n,t,e)=>t==="top"||t==="left"?n[t]+e:n[t]-e,Wg=(n,t)=>Math.min(t||n,n);function Vg(n,t){const e=[],i=n.length/t,r=n.length;let s=0;for(;s<r;s+=i)e.push(n[Math.floor(s)]);return e}function oC(n,t,e){const i=n.ticks.length,r=Math.min(t,i-1),s=n._startPixel,a=n._endPixel,l=1e-6;let u=n.getPixelForTick(r),d;if(!(e&&(i===1?d=Math.max(u-s,a-u):t===0?d=(n.getPixelForTick(1)-u)/2:d=(u-n.getPixelForTick(r-1))/2,u+=r<t?d:-d,u<s-l||u>a+l)))return u}function aC(n,t){Jt(n,e=>{const i=e.gc,r=i.length/2;let s;if(r>t){for(s=0;s<r;++s)delete e.data[i[s]];i.splice(0,r)}})}function io(n){return n.drawTicks?n.tickLength:0}function $g(n,t){if(!n.display)return 0;const e=le(n.font,t),i=we(n.padding);return(qt(n.text)?n.text.length:1)*e.lineHeight+i.height}function lC(n,t){return Oi(n,{scale:t,type:"scale"})}function cC(n,t,e){return Oi(n,{tick:e,index:t,type:"tick"})}function uC(n,t,e){let i=Gc(n);return(e&&t!=="right"||!e&&t==="right")&&(i=sC(i)),i}function dC(n,t,e,i){const{top:r,left:s,bottom:a,right:l,chart:u}=n,{chartArea:d,scales:h}=u;let g=0,y,_,x;const v=a-r,M=l-s;if(n.isHorizontal()){if(_=He(i,s,l),Pt(e)){const C=Object.keys(e)[0],R=e[C];x=h[C].getPixelForValue(R)+v-t}else e==="center"?x=(d.bottom+d.top)/2+v-t:x=Hg(n,e,t);y=l-s}else{if(Pt(e)){const C=Object.keys(e)[0],R=e[C];_=h[C].getPixelForValue(R)-M+t}else e==="center"?_=(d.left+d.right)/2-M+t:_=Hg(n,e,t);x=He(i,a,r),g=e==="left"?-re:re}return{titleX:_,titleY:x,maxWidth:y,rotation:g}}class dr extends Ve{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:r}=this;return t=pn(t,Number.POSITIVE_INFINITY),e=pn(e,Number.NEGATIVE_INFINITY),i=pn(i,Number.POSITIVE_INFINITY),r=pn(r,Number.NEGATIVE_INFINITY),{min:pn(t,i),max:pn(e,r),minDefined:ae(t),maxDefined:ae(e)}}getMinMax(t){let{min:e,max:i,minDefined:r,maxDefined:s}=this.getUserBounds(),a;if(r&&s)return{min:e,max:i};const l=this.getMatchingVisibleMetas();for(let u=0,d=l.length;u<d;++u)a=l[u].controller.getMinMax(this,t),r||(e=Math.min(e,a.min)),s||(i=Math.max(i,a.max));return e=s&&e>i?i:e,i=r&&e>i?e:i,{min:pn(e,pn(i,e)),max:pn(i,pn(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Qt(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:r,grace:s,ticks:a}=this.options,l=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_k(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const u=l<this.ticks.length;this._convertTicksToLabels(u?Vg(this.ticks,l):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),a.display&&(a.autoSkip||a.source==="auto")&&(this.ticks=JD(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),u&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,e,i;this.isHorizontal()?(e=this.left,i=this.right):(e=this.top,i=this.bottom,t=!t),this._startPixel=e,this._endPixel=i,this._reversePixels=t,this._length=i-e,this._alignToPixels=this.options.alignToPixels}afterUpdate(){Qt(this.options.afterUpdate,[this])}beforeSetDimensions(){Qt(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){Qt(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),Qt(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){Qt(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,r,s;for(i=0,r=t.length;i<r;i++)s=t[i],s.label=Qt(e.callback,[s.value,i,t],this)}afterTickToLabelConversion(){Qt(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){Qt(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=Wg(this.ticks.length,t.ticks.maxTicksLimit),r=e.minRotation||0,s=e.maxRotation;let a=r,l,u,d;if(!this._isVisible()||!e.display||r>=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const h=this._getLabelSizes(),g=h.widest.width,y=h.highest.height,_=Ce(this.chart.width-g,0,this.maxWidth);l=t.offset?this.maxWidth/i:_/(i-1),g+6>l&&(l=_/(i-(t.offset?.5:1)),u=this.maxHeight-io(t.grid)-e.padding-$g(t.title,this.chart.options.font),d=Math.sqrt(g*g+y*y),a=wa(Math.min(Math.asin(Ce((h.highest.height+6)/l,-1,1)),Math.asin(Ce(u/d,-1,1))-Math.asin(Ce(y/d,-1,1)))),a=Math.max(r,Math.min(s,a))),this.labelRotation=a}afterCalculateLabelRotation(){Qt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Qt(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:r,grid:s}}=this,a=this._isVisible(),l=this.isHorizontal();if(a){const u=$g(r,e.options.font);if(l?(t.width=this.maxWidth,t.height=io(s)+u):(t.height=this.maxHeight,t.width=io(s)+u),i.display&&this.ticks.length){const{first:d,last:h,widest:g,highest:y}=this._getLabelSizes(),_=i.padding*2,x=xe(this.labelRotation),v=Math.cos(x),M=Math.sin(x);if(l){const C=i.mirror?0:M*g.width+v*y.height;t.height=Math.min(this.maxHeight,t.height+C+_)}else{const C=i.mirror?0:v*g.width+M*y.height;t.width=Math.min(this.maxWidth,t.width+C+_)}this._calculatePadding(d,h,M,v)}}this._handleMargins(),l?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,r){const{ticks:{align:s,padding:a},position:l}=this.options,u=this.labelRotation!==0,d=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,g=this.right-this.getPixelForTick(this.ticks.length-1);let y=0,_=0;u?d?(y=r*t.width,_=i*e.height):(y=i*t.height,_=r*e.width):s==="start"?_=e.width:s==="end"?y=t.width:s!=="inner"&&(y=t.width/2,_=e.width/2),this.paddingLeft=Math.max((y-h+a)*this.width/(this.width-h),0),this.paddingRight=Math.max((_-g+a)*this.width/(this.width-g),0)}else{let h=e.height/2,g=t.height/2;s==="start"?(h=0,g=t.height):s==="end"&&(h=e.height,g=0),this.paddingTop=h+a,this.paddingBottom=g+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Qt(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,i;for(e=0,i=t.length;e<i;e++)xt(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=Vg(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,e,i){const{ctx:r,_longestTextCache:s}=this,a=[],l=[],u=Math.floor(e/Wg(e,i));let d=0,h=0,g,y,_,x,v,M,C,R,F,I,L;for(g=0;g<e;g+=u){if(x=t[g].label,v=this._resolveTickFontOptions(g),r.font=M=v.string,C=s[M]=s[M]||{data:{},gc:[]},R=v.lineHeight,F=I=0,!xt(x)&&!qt(x))F=ka(r,C.data,C.gc,F,x),I=R;else if(qt(x))for(y=0,_=x.length;y<_;++y)L=x[y],!xt(L)&&!qt(L)&&(F=ka(r,C.data,C.gc,F,L),I+=R);a.push(F),l.push(I),d=Math.max(F,d),h=Math.max(I,h)}aC(s,e);const N=a.indexOf(d),B=l.indexOf(h),T=S=>({width:a[S]||0,height:l[S]||0});return{first:T(0),last:T(e-1),widest:T(N),highest:T(B),widths:a,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return jM(this._alignToPixels?or(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=cC(this.getContext(),t,i))}return this.$context||(this.$context=lC(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,e=xe(this.labelRotation),i=Math.abs(Math.cos(e)),r=Math.abs(Math.sin(e)),s=this._getLabelSizes(),a=t.autoSkipPadding||0,l=s?s.widest.width+a:0,u=s?s.highest.height+a:0;return this.isHorizontal()?u*i>l*r?l/i:u/r:u*r<l*i?u/i:l/r}_isVisible(){const t=this.options.display;return t!=="auto"?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,r=this.options,{grid:s,position:a,border:l}=r,u=s.offset,d=this.isHorizontal(),g=this.ticks.length+(u?1:0),y=io(s),_=[],x=l.setContext(this.getContext()),v=x.display?x.width:0,M=v/2,C=function(q){return or(i,q,v)};let R,F,I,L,N,B,T,S,O,U,$,it;if(a==="top")R=C(this.bottom),B=this.bottom-y,S=R-M,U=C(t.top)+M,it=t.bottom;else if(a==="bottom")R=C(this.top),U=t.top,it=C(t.bottom)-M,B=R+M,S=this.top+y;else if(a==="left")R=C(this.right),N=this.right-y,T=R-M,O=C(t.left)+M,$=t.right;else if(a==="right")R=C(this.left),O=t.left,$=C(t.right)-M,N=R+M,T=this.left+y;else if(e==="x"){if(a==="center")R=C((t.top+t.bottom)/2+.5);else if(Pt(a)){const q=Object.keys(a)[0],J=a[q];R=C(this.chart.scales[q].getPixelForValue(J))}U=t.top,it=t.bottom,B=R+M,S=B+y}else if(e==="y"){if(a==="center")R=C((t.left+t.right)/2);else if(Pt(a)){const q=Object.keys(a)[0],J=a[q];R=C(this.chart.scales[q].getPixelForValue(J))}N=R-M,T=N-y,O=t.left,$=t.right}const at=Mt(r.ticks.maxTicksLimit,g),ot=Math.max(1,Math.ceil(g/at));for(F=0;F<g;F+=ot){const q=this.getContext(F),J=s.setContext(q),rt=l.setContext(q),tt=J.lineWidth,G=J.color,P=rt.dash||[],W=rt.dashOffset,j=J.tickWidth,pt=J.tickColor,lt=J.tickBorderDash||[],et=J.tickBorderDashOffset;I=oC(this,F,u),I!==void 0&&(L=or(i,I,tt),d?N=T=O=$=L:B=S=U=it=L,_.push({tx1:N,ty1:B,tx2:T,ty2:S,x1:O,y1:U,x2:$,y2:it,width:tt,color:G,borderDash:P,borderDashOffset:W,tickWidth:j,tickColor:pt,tickBorderDash:lt,tickBorderDashOffset:et}))}return this._ticksLength=g,this._borderValue=R,_}_computeLabelItems(t){const e=this.axis,i=this.options,{position:r,ticks:s}=i,a=this.isHorizontal(),l=this.ticks,{align:u,crossAlign:d,padding:h,mirror:g}=s,y=io(i.grid),_=y+h,x=g?-h:_,v=-xe(this.labelRotation),M=[];let C,R,F,I,L,N,B,T,S,O,U,$,it="middle";if(r==="top")N=this.bottom-x,B=this._getXAxisLabelAlignment();else if(r==="bottom")N=this.top+x,B=this._getXAxisLabelAlignment();else if(r==="left"){const ot=this._getYAxisLabelAlignment(y);B=ot.textAlign,L=ot.x}else if(r==="right"){const ot=this._getYAxisLabelAlignment(y);B=ot.textAlign,L=ot.x}else if(e==="x"){if(r==="center")N=(t.top+t.bottom)/2+_;else if(Pt(r)){const ot=Object.keys(r)[0],q=r[ot];N=this.chart.scales[ot].getPixelForValue(q)+_}B=this._getXAxisLabelAlignment()}else if(e==="y"){if(r==="center")L=(t.left+t.right)/2-_;else if(Pt(r)){const ot=Object.keys(r)[0],q=r[ot];L=this.chart.scales[ot].getPixelForValue(q)}B=this._getYAxisLabelAlignment(y).textAlign}e==="y"&&(u==="start"?it="top":u==="end"&&(it="bottom"));const at=this._getLabelSizes();for(C=0,R=l.length;C<R;++C){F=l[C],I=F.label;const ot=s.setContext(this.getContext(C));T=this.getPixelForTick(C)+s.labelOffset,S=this._resolveTickFontOptions(C),O=S.lineHeight,U=qt(I)?I.length:1;const q=U/2,J=ot.color,rt=ot.textStrokeColor,tt=ot.textStrokeWidth;let G=B;a?(L=T,B==="inner"&&(C===R-1?G=this.options.reverse?"left":"right":C===0?G=this.options.reverse?"right":"left":G="center"),r==="top"?d==="near"||v!==0?$=-U*O+O/2:d==="center"?$=-at.highest.height/2-q*O+O:$=-at.highest.height+O/2:d==="near"||v!==0?$=O/2:d==="center"?$=at.highest.height/2-q*O:$=at.highest.height-U*O,g&&($*=-1),v!==0&&!ot.showLabelBackdrop&&(L+=O/2*Math.sin(v))):(N=T,$=(1-U)*O/2);let P;if(ot.showLabelBackdrop){const W=we(ot.backdropPadding),j=at.heights[C],pt=at.widths[C];let lt=$-W.top,et=0-W.left;switch(it){case"middle":lt-=j/2;break;case"bottom":lt-=j;break}switch(B){case"center":et-=pt/2;break;case"right":et-=pt;break;case"inner":C===R-1?et-=pt:C>0&&(et-=pt/2);break}P={left:et,top:lt,width:pt+W.width,height:j+W.height,color:ot.backdropColor}}M.push({label:I,font:S,textOffset:$,options:{rotation:v,color:J,strokeColor:rt,strokeWidth:tt,textAlign:G,textBaseline:it,translation:[L,N],backdrop:P}})}return M}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-xe(this.labelRotation))return t==="top"?"left":"right";let r="center";return e.align==="start"?r="left":e.align==="end"?r="right":e.align==="inner"&&(r="inner"),r}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:r,padding:s}}=this.options,a=this._getLabelSizes(),l=t+s,u=a.widest.width;let d,h;return e==="left"?r?(h=this.right+s,i==="near"?d="left":i==="center"?(d="center",h+=u/2):(d="right",h+=u)):(h=this.right-l,i==="near"?d="right":i==="center"?(d="center",h-=u/2):(d="left",h=this.left)):e==="right"?r?(h=this.left+s,i==="near"?d="right":i==="center"?(d="center",h-=u/2):(d="left",h-=u)):(h=this.left+l,i==="near"?d="left":i==="center"?(d="center",h+=u/2):(d="right",h=this.right)):d="right",{textAlign:d,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:r,width:s,height:a}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,r,s,a),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const r=this.ticks.findIndex(s=>s.value===t);return r>=0?e.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const e=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,a;const l=(u,d,h)=>{!h.width||!h.color||(i.save(),i.lineWidth=h.width,i.strokeStyle=h.color,i.setLineDash(h.borderDash||[]),i.lineDashOffset=h.borderDashOffset,i.beginPath(),i.moveTo(u.x,u.y),i.lineTo(d.x,d.y),i.stroke(),i.restore())};if(e.display)for(s=0,a=r.length;s<a;++s){const u=r[s];e.drawOnChartArea&&l({x:u.x1,y:u.y1},{x:u.x2,y:u.y2},u),e.drawTicks&&l({x:u.tx1,y:u.ty1},{x:u.tx2,y:u.ty2},{color:u.tickColor,width:u.tickWidth,borderDash:u.tickBorderDash,borderDashOffset:u.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{border:i,grid:r}}=this,s=i.setContext(this.getContext()),a=i.display?s.width:0;if(!a)return;const l=r.setContext(this.getContext(0)).lineWidth,u=this._borderValue;let d,h,g,y;this.isHorizontal()?(d=or(t,this.left,a)-a/2,h=or(t,this.right,l)+l/2,g=y=u):(g=or(t,this.top,a)-a/2,y=or(t,this.bottom,l)+l/2,d=h=u),e.save(),e.lineWidth=s.width,e.strokeStyle=s.color,e.beginPath(),e.moveTo(d,g),e.lineTo(h,y),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const i=this.ctx,r=this._computeLabelArea();r&&js(i,r);const s=this.getLabelItems(t);for(const a of s){const l=a.options,u=a.font,d=a.label,h=a.textOffset;ar(i,d,0,h,u,l)}r&&Gs(i)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:r}}=this;if(!i.display)return;const s=le(i.font),a=we(i.padding),l=i.align;let u=s.lineHeight/2;e==="bottom"||e==="center"||Pt(e)?(u+=a.bottom,qt(i.text)&&(u+=s.lineHeight*(i.text.length-1))):u+=a.top;const{titleX:d,titleY:h,maxWidth:g,rotation:y}=dC(this,u,e,l);ar(t,i.text,0,0,s,{color:i.color,maxWidth:g,rotation:y,textAlign:uC(l,e,r),textBaseline:"middle",translation:[d,h]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=Mt(t.grid&&t.grid.z,-1),r=Mt(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==dr.prototype.draw?[{z:e,draw:s=>{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:e,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,a;for(s=0,a=e.length;s<a;++s){const l=e[s];l[i]===this.id&&(!t||l.type===t)&&r.push(l)}return r}_resolveTickFontOptions(t){const e=this.options.ticks.setContext(this.getContext(t));return le(e.font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class La{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;pC(e)&&(i=this.register(e));const r=this.items,s=t.id,a=this.scope+"."+s;if(!s)throw new Error("class does not have id: "+t);return s in r||(r[s]=t,fC(t,a,i),this.override&&se.override(t.id,t.overrides)),a}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,r=this.scope;i in e&&delete e[i],r&&i in se[r]&&(delete se[r][i],this.override&&delete sr[i])}}function fC(n,t,e){const i=Us(Object.create(null),[e?se.get(e):{},se.get(t),n.defaults]);se.set(t,i),n.defaultRoutes&&hC(t,n.defaultRoutes),n.descriptors&&se.describe(t,n.descriptors)}function hC(n,t){Object.keys(t).forEach(e=>{const i=e.split("."),r=i.pop(),s=[n].concat(i).join("."),a=t[e].split("."),l=a.pop(),u=a.join(".");se.route(s,r,u,l)})}function pC(n){return"id"in n&&"defaults"in n}class gC{constructor(){this.controllers=new La(Ei,"datasets",!0),this.elements=new La(Ve,"elements"),this.plugins=new La(Object,"plugins"),this.scales=new La(dr,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):Jt(r,a=>{const l=i||this._getRegistryForType(a);this._exec(t,l,a)})})}_exec(t,e,i){const r=Yc(t);Qt(i["before"+r],[],i),e[t](i),Qt(i["after"+r],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const r=e.get(t);if(r===void 0)throw new Error('"'+t+'" is not a registered '+i+".");return r}}var qn=new gC;class mC{constructor(){this._init=void 0}notify(t,e,i,r){if(e==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install")),this._init===void 0)return;const s=r?this._descriptors(t).filter(r):this._descriptors(t),a=this._notify(s,t,e,i);return e==="afterDestroy"&&(this._notify(s,t,"stop"),this._notify(this._init,t,"uninstall"),this._init=void 0),a}_notify(t,e,i,r){r=r||{};for(const s of t){const a=s.plugin,l=a[i],u=[e,r,s.options];if(Qt(l,u,a)===!1&&r.cancelable)return!1}return!0}invalidate(){xt(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,r=Mt(i.options&&i.options.plugins,{}),s=yC(i);return r===!1&&!e?[]:bC(t,s,r,e)}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,r=(s,a)=>s.filter(l=>!a.some(u=>l.plugin.id===u.plugin.id));this._notify(r(e,i),t,"stop"),this._notify(r(i,e),t,"start")}}function yC(n){const t={},e=[],i=Object.keys(qn.plugins.items);for(let s=0;s<i.length;s++)e.push(qn.getPlugin(i[s]));const r=n.plugins||[];for(let s=0;s<r.length;s++){const a=r[s];e.indexOf(a)===-1&&(e.push(a),t[a.id]=!0)}return{plugins:e,localIds:t}}function _C(n,t){return!t&&n===!1?null:n===!0?{}:n}function bC(n,{plugins:t,localIds:e},i,r){const s=[],a=n.getContext();for(const l of t){const u=l.id,d=_C(i[u],r);d!==null&&s.push({plugin:l,options:xC(n.config,{plugin:l,local:e[u]},d,a)})}return s}function xC(n,{plugin:t,local:e},i,r){const s=n.pluginScopeKeys(t),a=n.getOptionScopes(i,s);return e&&t.defaults&&a.push(t.defaults),n.createResolver(a,r,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function mu(n,t){const e=se.datasets[n]||{};return((t.datasets||{})[n]||{}).indexAxis||t.indexAxis||e.indexAxis||"x"}function wC(n,t){let e=n;return n==="_index_"?e=t:n==="_value_"&&(e=t==="x"?"y":"x"),e}function vC(n,t){return n===t?"_index_":"_value_"}function Yg(n){if(n==="x"||n==="y"||n==="r")return n}function SC(n){if(n==="top"||n==="bottom")return"x";if(n==="left"||n==="right")return"y"}function yu(n,...t){if(Yg(n))return n;for(const e of t){const i=e.axis||SC(e.position)||n.length>1&&Yg(n[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${n}' axis. Please provide 'axis' or 'position' option.`)}function qg(n,t,e){if(e[t+"AxisID"]===n)return{axis:t}}function TC(n,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(i=>i.xAxisID===n||i.yAxisID===n);if(e.length)return qg(n,"x",e[0])||qg(n,"y",e[0])}return{}}function MC(n,t){const e=sr[n.type]||{scales:{}},i=t.scales||{},r=mu(n.type,t),s=Object.create(null);return Object.keys(i).forEach(a=>{const l=i[a];if(!Pt(l))return console.error(`Invalid scale configuration for scale: ${a}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const u=yu(a,l,TC(a,n),se.scales[l.type]),d=vC(u,r),h=e.scales||{};s[a]=Hs(Object.create(null),[{axis:u},l,h[u],h[d]])}),n.data.datasets.forEach(a=>{const l=a.type||n.type,u=a.indexAxis||mu(l,t),h=(sr[l]||{}).scales||{};Object.keys(h).forEach(g=>{const y=wC(g,u),_=a[y+"AxisID"]||y;s[_]=s[_]||Object.create(null),Hs(s[_],[{axis:y},i[_],h[g]])})}),Object.keys(s).forEach(a=>{const l=s[a];Hs(l,[se.scales[l.type],se.scale])}),s}function jg(n){const t=n.options||(n.options={});t.plugins=Mt(t.plugins,{}),t.scales=MC(n,t)}function Gg(n){return n=n||{},n.datasets=n.datasets||[],n.labels=n.labels||[],n}function kC(n){return n=n||{},n.data=Gg(n.data),jg(n),n}const Kg=new Map,Xg=new Set;function Na(n,t){let e=Kg.get(n);return e||(e=t(),Kg.set(n,e),Xg.add(e)),e}const ro=(n,t,e)=>{const i=Mi(t,e);i!==void 0&&n.add(i)};class DC{constructor(t){this._config=kC(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Gg(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),jg(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Na(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return Na(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return Na(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,i=this.type;return Na(`${i}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const i=this._scopeCache;let r=i.get(t);return(!r||e)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,e,i){const{options:r,type:s}=this,a=this._cachedScopes(t,i),l=a.get(e);if(l)return l;const u=new Set;e.forEach(h=>{t&&(u.add(t),h.forEach(g=>ro(u,t,g))),h.forEach(g=>ro(u,r,g)),h.forEach(g=>ro(u,sr[s]||{},g)),h.forEach(g=>ro(u,se,g)),h.forEach(g=>ro(u,Zc,g))});const d=Array.from(u);return d.length===0&&d.push(Object.create(null)),Xg.has(e)&&a.set(e,d),d}chartOptionScopes(){const{options:t,type:e}=this;return[t,sr[e]||{},se.datasets[e]||{},{type:e},se,Zc]}resolveNamedOptions(t,e,i,r=[""]){const s={$shared:!0},{resolver:a,subPrefixes:l}=Zg(this._resolverCache,t,r);let u=a;if(OC(a,e)){s.$shared=!1,i=nn(i)?i():i;const d=this.createResolver(t,i,l);u=Wr(a,i,d)}for(const d of e)s[d]=u[d];return s}createResolver(t,e,i=[""],r){const{resolver:s}=Zg(this._resolverCache,t,i);return Pt(e)?Wr(s,e,void 0,r):s}}function Zg(n,t,e){let i=n.get(t);i||(i=new Map,n.set(t,i));const r=e.join();let s=i.get(r);return s||(s={resolver:eu(t,e),subPrefixes:e.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const CC=n=>Pt(n)&&Object.getOwnPropertyNames(n).some(t=>nn(n[t]));function OC(n,t){const{isScriptable:e,isIndexable:i}=Kp(n);for(const r of t){const s=e(r),a=i(r),l=(a||s)&&n[r];if(s&&(nn(l)||CC(l))||a&&qt(l))return!0}return!1}var AC="4.5.1";const RC=["top","bottom","left","right","chartArea"];function Qg(n,t){return n==="top"||n==="bottom"||RC.indexOf(n)===-1&&t==="x"}function Jg(n,t){return function(e,i){return e[n]===i[n]?e[t]-i[t]:e[n]-i[n]}}function tm(n){const t=n.chart,e=t.options.animation;t.notifyPlugins("afterRender"),Qt(e&&e.onComplete,[n],t)}function EC(n){const t=n.chart,e=t.options.animation;Qt(e&&e.onProgress,[n],t)}function em(n){return ru()&&typeof n=="string"?n=document.getElementById(n):n&&n.length&&(n=n[0]),n&&n.canvas&&(n=n.canvas),n}const Ba={},nm=n=>{const t=em(n);return Object.values(Ba).filter(e=>e.canvas===t).pop()};function PC(n,t,e){const i=Object.keys(n);for(const r of i){const s=+r;if(s>=t){const a=n[r];delete n[r],(e>0||s>t)&&(n[s+e]=a)}}}function IC(n,t,e,i){return!e||n.type==="mouseout"?null:i?t:n}let rn=class{static defaults=se;static instances=Ba;static overrides=sr;static registry=qn;static version=AC;static getChart=nm;static register(...t){qn.add(...t),im()}static unregister(...t){qn.remove(...t),im()}constructor(t,e){const i=this.config=new DC(e),r=em(t),s=nm(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const a=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||QD(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,a.aspectRatio),u=l&&l.canvas,d=u&&u.height,h=u&&u.width;if(this.id=LM(),this.ctx=l,this.canvas=u,this.width=h,this.height=d,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new mC,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ZM(g=>this.update(g),a.resizeDelay||0),this._dataChanges=[],Ba[this.id]=this,!l||!u){console.error("Failed to create chart: can't acquire context from the given item");return}si.listen(this,"complete",tm),si.listen(this,"progress",EC),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:r,_aspectRatio:s}=this;return xt(t)?e&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return qn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ig(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return qp(this.canvas,this.ctx),this}stop(){return si.stop(this),this}resize(t,e){si.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(r,t,e,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),u=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,ig(this,l,!0)&&(this.notifyPlugins("resize",{size:a}),Qt(i.onResize,[this,a],this),this.attached&&this._doResize(u)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};Jt(e,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,r=Object.keys(i).reduce((a,l)=>(a[l]=!1,a),{});let s=[];e&&(s=s.concat(Object.keys(e).map(a=>{const l=e[a],u=yu(a,l),d=u==="r",h=u==="x";return{options:l,dposition:d?"chartArea":h?"bottom":"left",dtype:d?"radialLinear":h?"category":"linear"}}))),Jt(s,a=>{const l=a.options,u=l.id,d=yu(u,l),h=Mt(l.type,a.dtype);(l.position===void 0||Qg(l.position,d)!==Qg(a.dposition))&&(l.position=a.dposition),r[u]=!0;let g=null;if(u in i&&i[u].type===h)g=i[u];else{const y=qn.getScale(h);g=new y({id:u,type:h,ctx:this.ctx,chart:this}),i[g.id]=g}g.init(l,t)}),Jt(r,(a,l)=>{a||delete i[l]}),Jt(i,a=>{We.configure(this,a,a.options),We.addBox(this,a)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>e){for(let r=e;r<i;++r)this._destroyDatasetMeta(r);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(Jg("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach((i,r)=>{e.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=e.length;i<r;i++){const s=e[i];let a=this.getDatasetMeta(i);const l=s.type||this.config.type;if(a.type&&a.type!==l&&(this._destroyDatasetMeta(i),a=this.getDatasetMeta(i)),a.type=l,a.indexAxis=s.indexAxis||mu(l,this.options),a.order=s.order||0,a.index=i,a.label=""+s.label,a.visible=this.isDatasetVisible(i),a.controller)a.controller.updateIndex(i),a.controller.linkScales();else{const u=qn.getController(l),{datasetElementType:d,dataElementType:h}=se.datasets[l];Object.assign(u,{dataElementType:qn.getElement(h),datasetElementType:d&&qn.getElement(d)}),a.controller=new u(this,i),t.push(a.controller)}}return this._updateMetasets(),t}_resetElements(){Jt(this.data.datasets,(t,e)=>{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let d=0,h=this.data.datasets.length;d<h;d++){const{controller:g}=this.getDatasetMeta(d),y=!r&&s.indexOf(g)===-1;g.buildOrUpdateElements(y),a=Math.max(+g.getMaxOverflow(),a)}a=this._minPadding=i.layout.autoPadding?a:0,this._updateLayout(a),r||Jt(s,d=>{d.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Jg("z","_idx"));const{_active:l,_lastEvent:u}=this;u?this._eventHandler(u,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){Jt(this.scales,t=>{We.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Rp(e,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of e){const a=i==="_removeElements"?-s:s;PC(t,r,a)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=s=>new Set(t.filter(a=>a[0]===s).map((a,l)=>l+","+a.splice(1).join(","))),r=i(0);for(let s=1;s<e;s++)if(!Rp(r,i(s)))return;return Array.from(r).map(s=>s.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;We.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],Jt(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,i=this.data.datasets.length;e<i;++e)this.getDatasetMeta(e).controller.configure();for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,nn(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),r={meta:i,index:t,mode:e,cancelable:!0};this.notifyPlugins("beforeDatasetUpdate",r)!==!1&&(i.controller._update(e),r.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",r))}render(){this.notifyPlugins("beforeRender",{cancelable:!0})!==!1&&(si.has(this)?this.attached&&!si.running(this)&&si.start(this):(this.draw(),tm({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:i,height:r}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(i,r)}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins("beforeDraw",{cancelable:!0})===!1)return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let r,s;for(r=0,s=e.length;r<s;++r){const a=e[r];(!t||a.visible)&&i.push(a)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0})===!1)return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i={meta:t,index:t.index,cancelable:!0},r=hg(this,t);this.notifyPlugins("beforeDatasetDraw",i)!==!1&&(r&&js(e,r),t.controller.draw(),r&&Gs(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return ri(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,r){const s=pu.modes[e];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===e).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=Oi(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!e.hidden}setDatasetVisibility(t,e){const i=this.getDatasetMeta(t);i.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),a=s.controller._resolveAnimations(void 0,r);en(e)?(s.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),a.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),si.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),qp(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),delete Ba[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(s,a)=>{e.addEventListener(this,s,a),t[s]=a},r=(s,a,l)=>{s.offsetX=a,s.offsetY=l,this._eventHandler(s)};Jt(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(u,d)=>{e.addEventListener(this,u,d),t[u]=d},r=(u,d)=>{t[u]&&(e.removeEventListener(this,u,d),delete t[u])},s=(u,d)=>{this.canvas&&this.resize(u,d)};let a;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",a)};a=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},e.isAttached(this.canvas)?l():a()}unbindEvents(){Jt(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},Jt(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const r=i?"set":"remove";let s,a,l,u;for(e==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,u=t.length;l<u;++l){a=t[l];const d=a&&this.getDatasetMeta(a.datasetIndex).controller;d&&d[r+"HoverStyle"](a.element,a.datasetIndex,a.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map(({datasetIndex:s,index:a})=>{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[a],index:a}});!ya(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,i){const r=this.options.hover,s=(u,d)=>u.filter(h=>!d.some(g=>h.datasetIndex===g.datasetIndex&&h.index===g.index)),a=s(e,t),l=i?t:s(t,e);a.length&&this.updateHoverStyle(a,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},r=a=>(a.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:r=[],options:s}=this,a=e,l=this._getActiveElements(t,r,i,a),u=HM(t),d=IC(t,this._lastEvent,i,u);i&&(this._lastEvent=null,Qt(s.onHover,[t,l,this],this),u&&Qt(s.onClick,[t,l,this],this));const h=!ya(l,r);return(h||e)&&(this._active=l,this._updateHoverStyles(l,r,e)),this._lastEvent=d,h}_getActiveElements(t,e,i,r){if(t.type==="mouseout")return[];if(!i)return e;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}};function im(){return Jt(rn.instances,n=>n._plugins.invalidate())}function LC(n,t,e){const{startAngle:i,x:r,y:s,outerRadius:a,innerRadius:l,options:u}=t,{borderWidth:d,borderJoinStyle:h}=u,g=Math.min(d/a,Ue(i-e));if(n.beginPath(),n.arc(r,s,a-d/2,i+g/2,e-g/2),l>0){const y=Math.min(d/l,Ue(i-e));n.arc(r,s,l+d/2,e-y/2,i+y/2,!0)}else{const y=Math.min(d/2,a*Ue(i-e));if(h==="round")n.arc(r,s,y,e-Rt/2,i+Rt/2,!0);else if(h==="bevel"){const _=2*y*y,x=-_*Math.cos(e+Rt/2)+r,v=-_*Math.sin(e+Rt/2)+s,M=_*Math.cos(i+Rt/2)+r,C=_*Math.sin(i+Rt/2)+s;n.lineTo(x,v),n.lineTo(M,C)}}n.closePath(),n.moveTo(0,0),n.rect(0,0,n.canvas.width,n.canvas.height),n.clip("evenodd")}function NC(n,t,e){const{startAngle:i,pixelMargin:r,x:s,y:a,outerRadius:l,innerRadius:u}=t;let d=r/l;n.beginPath(),n.arc(s,a,l,i-d,e+d),u>r?(d=r/u,n.arc(s,a,u,e+d,i-d,!0)):n.arc(s,a,r,e+re,i-re),n.closePath(),n.clip()}function BC(n){return tu(n,["outerStart","outerEnd","innerStart","innerEnd"])}function FC(n,t,e,i){const r=BC(n.options.borderRadius),s=(e-t)/2,a=Math.min(s,i*t/2),l=u=>{const d=(e-Math.min(s,u))*i/2;return Ce(u,0,Math.min(s,d))};return{outerStart:l(r.outerStart),outerEnd:l(r.outerEnd),innerStart:Ce(r.innerStart,0,a),innerEnd:Ce(r.innerEnd,0,a)}}function Yr(n,t,e,i){return{x:e+n*Math.cos(t),y:i+n*Math.sin(t)}}function Fa(n,t,e,i,r,s){const{x:a,y:l,startAngle:u,pixelMargin:d,innerRadius:h}=t,g=Math.max(t.outerRadius+i+e-d,0),y=h>0?h+i+e+d:0;let _=0;const x=r-u;if(i){const ot=h>0?h-i:0,q=g>0?g-i:0,J=(ot+q)/2,rt=J!==0?x*J/(J+i):x;_=(x-rt)/2}const v=Math.max(.001,x*g-e/Rt)/g,M=(x-v)/2,C=u+M+_,R=r-M-_,{outerStart:F,outerEnd:I,innerStart:L,innerEnd:N}=FC(t,y,g,R-C),B=g-F,T=g-I,S=C+F/B,O=R-I/T,U=y+L,$=y+N,it=C+L/U,at=R-N/$;if(n.beginPath(),s){const ot=(S+O)/2;if(n.arc(a,l,g,S,ot),n.arc(a,l,g,ot,O),I>0){const tt=Yr(T,O,a,l);n.arc(tt.x,tt.y,I,O,R+re)}const q=Yr($,R,a,l);if(n.lineTo(q.x,q.y),N>0){const tt=Yr($,at,a,l);n.arc(tt.x,tt.y,N,R+re,at+Math.PI)}const J=(R-N/y+(C+L/y))/2;if(n.arc(a,l,y,R-N/y,J,!0),n.arc(a,l,y,J,C+L/y,!0),L>0){const tt=Yr(U,it,a,l);n.arc(tt.x,tt.y,L,it+Math.PI,C-re)}const rt=Yr(B,C,a,l);if(n.lineTo(rt.x,rt.y),F>0){const tt=Yr(B,S,a,l);n.arc(tt.x,tt.y,F,C-re,S)}}else{n.moveTo(a,l);const ot=Math.cos(S)*g+a,q=Math.sin(S)*g+l;n.lineTo(ot,q);const J=Math.cos(O)*g+a,rt=Math.sin(O)*g+l;n.lineTo(J,rt)}n.closePath()}function zC(n,t,e,i,r){const{fullCircles:s,startAngle:a,circumference:l}=t;let u=t.endAngle;if(s){Fa(n,t,e,i,u,r);for(let d=0;d<s;++d)n.fill();isNaN(l)||(u=a+(l%te||te))}return Fa(n,t,e,i,u,r),n.fill(),u}function UC(n,t,e,i,r){const{fullCircles:s,startAngle:a,circumference:l,options:u}=t,{borderWidth:d,borderJoinStyle:h,borderDash:g,borderDashOffset:y,borderRadius:_}=u,x=u.borderAlign==="inner";if(!d)return;n.setLineDash(g||[]),n.lineDashOffset=y,x?(n.lineWidth=d*2,n.lineJoin=h||"round"):(n.lineWidth=d,n.lineJoin=h||"bevel");let v=t.endAngle;if(s){Fa(n,t,e,i,v,r);for(let M=0;M<s;++M)n.stroke();isNaN(l)||(v=a+(l%te||te))}x&&NC(n,t,v),u.selfJoin&&v-a>=Rt&&_===0&&h!=="miter"&&LC(n,t,v),s||(Fa(n,t,e,i,v,r),n.stroke())}class HC extends Ve{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const r=this.getProps(["x","y"],i),{angle:s,distance:a}=va(r,{x:t,y:e}),{startAngle:l,endAngle:u,innerRadius:d,outerRadius:h,circumference:g}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),y=(this.options.spacing+this.options.borderWidth)/2,_=Mt(g,u-l),x=Vs(s,l,u)&&l!==u,v=_>=te||x,M=ni(a,d+y,h+y);return v&&M}getCenterPoint(t){const{x:e,y:i,startAngle:r,endAngle:s,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:u,spacing:d}=this.options,h=(r+s)/2,g=(a+l+d+u)/2;return{x:e+Math.cos(h)*g,y:i+Math.sin(h)*g}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,r=(e.offset||0)/4,s=(e.spacing||0)/2,a=e.circular;if(this.pixelMargin=e.borderAlign==="inner"?.33:0,this.fullCircles=i>te?Math.floor(i/te):0,i===0||this.innerRadius<0||this.outerRadius<0)return;t.save();const l=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(l)*r,Math.sin(l)*r);const u=1-Math.sin(Math.min(Rt,i||0)),d=r*u;t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,zC(t,this,d,s,a),UC(t,this,d,s,a),t.restore()}}function rm(n,t,e=t){n.lineCap=Mt(e.borderCapStyle,t.borderCapStyle),n.setLineDash(Mt(e.borderDash,t.borderDash)),n.lineDashOffset=Mt(e.borderDashOffset,t.borderDashOffset),n.lineJoin=Mt(e.borderJoinStyle,t.borderJoinStyle),n.lineWidth=Mt(e.borderWidth,t.borderWidth),n.strokeStyle=Mt(e.borderColor,t.borderColor)}function WC(n,t,e){n.lineTo(e.x,e.y)}function VC(n){return n.stepped?ck:n.tension||n.cubicInterpolationMode==="monotone"?uk:WC}function sm(n,t,e={}){const i=n.length,{start:r=0,end:s=i-1}=e,{start:a,end:l}=t,u=Math.max(r,a),d=Math.min(s,l),h=r<a&&s<a||r>l&&s>l;return{count:i,start:u,loop:t.loop,ilen:d<u&&!h?i+d-u:d-u}}function $C(n,t,e,i){const{points:r,options:s}=t,{count:a,start:l,loop:u,ilen:d}=sm(r,e,i),h=VC(s);let{move:g=!0,reverse:y}=i||{},_,x,v;for(_=0;_<=d;++_)x=r[(l+(y?d-_:_))%a],!x.skip&&(g?(n.moveTo(x.x,x.y),g=!1):h(n,v,x,y,s.stepped),v=x);return u&&(x=r[(l+(y?d:0))%a],h(n,v,x,y,s.stepped)),!!u}function YC(n,t,e,i){const r=t.points,{count:s,start:a,ilen:l}=sm(r,e,i),{move:u=!0,reverse:d}=i||{};let h=0,g=0,y,_,x,v,M,C;const R=I=>(a+(d?l-I:I))%s,F=()=>{v!==M&&(n.lineTo(h,M),n.lineTo(h,v),n.lineTo(h,C))};for(u&&(_=r[R(0)],n.moveTo(_.x,_.y)),y=0;y<=l;++y){if(_=r[R(y)],_.skip)continue;const I=_.x,L=_.y,N=I|0;N===x?(L<v?v=L:L>M&&(M=L),h=(g*h+I)/++g):(F(),n.lineTo(I,L),x=N,g=0,v=M=L),C=L}F()}function _u(n){const t=n.options,e=t.borderDash&&t.borderDash.length;return!n._decimated&&!n._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?YC:$C}function qC(n){return n.stepped?Wk:n.tension||n.cubicInterpolationMode==="monotone"?Vk:cr}function jC(n,t,e,i){let r=t._path;r||(r=t._path=new Path2D,t.path(r,e,i)&&r.closePath()),rm(n,t.options),n.stroke(r)}function GC(n,t,e,i){const{segments:r,options:s}=t,a=_u(t);for(const l of r)rm(n,s,l.style),n.beginPath(),a(n,t,l,{start:e,end:e+i-1})&&n.closePath(),n.stroke()}const KC=typeof Path2D=="function";function XC(n,t,e,i){KC&&!t.options.segment?jC(n,t,e,i):GC(n,t,e,i)}class za extends Ve{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){const r=i.spanGaps?this._loop:this._fullLoop;Ik(this._points,i,t,r,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Kk(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,r=t[e],s=this.points,a=ug(this,{property:e,start:r,end:r});if(!a.length)return;const l=[],u=qC(i);let d,h;for(d=0,h=a.length;d<h;++d){const{start:g,end:y}=a[d],_=s[g],x=s[y];if(_===x){l.push(_);continue}const v=Math.abs((r-_[e])/(x[e]-_[e])),M=u(_,x,v,i.stepped);M[e]=t[e],l.push(M)}return l.length===1?l[0]:l}pathSegment(t,e,i){return _u(this)(t,this,e,i)}path(t,e,i){const r=this.segments,s=_u(this);let a=this._loop;e=e||0,i=i||this.points.length-e;for(const l of r)a&=s(t,this,l,{start:e,end:e+i-1});return!!a}draw(t,e,i,r){const s=this.options||{};(this.points||[]).length&&s.borderWidth&&(t.save(),XC(t,this,i,r),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function om(n,t,e,i){const r=n.options,{[e]:s}=n.getProps([e],i);return Math.abs(t-s)<r.radius+r.hitRadius}class ZC extends Ve{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const r=this.options,{x:s,y:a}=this.getProps(["x","y"],i);return Math.pow(t-s,2)+Math.pow(e-a,2)<Math.pow(r.hitRadius+r.radius,2)}inXRange(t,e){return om(this,t,"x",e)}inYRange(t,e){return om(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){t=t||this.options||{};let e=t.radius||0;e=Math.max(e,e&&t.hoverRadius||0);const i=e&&t.borderWidth||0;return(e+i)*2}draw(t,e){const i=this.options;this.skip||i.radius<.1||!ri(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,Jc(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}function am(n,t){const{x:e,y:i,base:r,width:s,height:a}=n.getProps(["x","y","base","width","height"],t);let l,u,d,h,g;return n.horizontal?(g=a/2,l=Math.min(e,r),u=Math.max(e,r),d=i-g,h=i+g):(g=s/2,l=e-g,u=e+g,d=Math.min(i,r),h=Math.max(i,r)),{left:l,top:d,right:u,bottom:h}}function Pi(n,t,e,i){return n?0:Ce(t,e,i)}function QC(n,t,e){const i=n.options.borderWidth,r=n.borderSkipped,s=Gp(i);return{t:Pi(r.top,s.top,0,e),r:Pi(r.right,s.right,0,t),b:Pi(r.bottom,s.bottom,0,e),l:Pi(r.left,s.left,0,t)}}function JC(n,t,e){const{enableBorderRadius:i}=n.getProps(["enableBorderRadius"]),r=n.options.borderRadius,s=Ci(r),a=Math.min(t,e),l=n.borderSkipped,u=i||Pt(r);return{topLeft:Pi(!u||l.top||l.left,s.topLeft,0,a),topRight:Pi(!u||l.top||l.right,s.topRight,0,a),bottomLeft:Pi(!u||l.bottom||l.left,s.bottomLeft,0,a),bottomRight:Pi(!u||l.bottom||l.right,s.bottomRight,0,a)}}function tO(n){const t=am(n),e=t.right-t.left,i=t.bottom-t.top,r=QC(n,e/2,i/2),s=JC(n,e/2,i/2);return{outer:{x:t.left,y:t.top,w:e,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:e-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function bu(n,t,e,i){const r=t===null,s=e===null,l=n&&!(r&&s)&&am(n,i);return l&&(r||ni(t,l.left,l.right))&&(s||ni(e,l.top,l.bottom))}function eO(n){return n.topLeft||n.topRight||n.bottomLeft||n.bottomRight}function nO(n,t){n.rect(t.x,t.y,t.w,t.h)}function xu(n,t,e={}){const i=n.x!==e.x?-t:0,r=n.y!==e.y?-t:0,s=(n.x+n.w!==e.x+e.w?t:0)-i,a=(n.y+n.h!==e.y+e.h?t:0)-r;return{x:n.x+i,y:n.y+r,w:n.w+s,h:n.h+a,radius:n.radius}}class iO extends Ve{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:a}=tO(this),l=eO(a.radius)?Hr:nO;t.save(),(a.w!==s.w||a.h!==s.h)&&(t.beginPath(),l(t,xu(a,e,s)),t.clip(),l(t,xu(s,-e,a)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,xu(s,e)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,e,i){return bu(this,t,e,i)}inXRange(t,e){return bu(this,t,null,e)}inYRange(t,e){return bu(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(e+r)/2:e,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}var rO=Object.freeze({__proto__:null,ArcElement:HC,BarElement:iO,LineElement:za,PointElement:ZC});const wu=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],lm=wu.map(n=>n.replace("rgb(","rgba(").replace(")",", 0.5)"));function cm(n){return wu[n%wu.length]}function um(n){return lm[n%lm.length]}function sO(n,t){return n.borderColor=cm(t),n.backgroundColor=um(t),++t}function oO(n,t){return n.backgroundColor=n.data.map(()=>cm(t++)),t}function aO(n,t){return n.backgroundColor=n.data.map(()=>um(t++)),t}function lO(n){let t=0;return(e,i)=>{const r=n.getDatasetMeta(i).controller;r instanceof Zs?t=oO(e,t):r instanceof Dg?t=aO(e,t):r&&(t=sO(e,t))}}function dm(n){let t;for(t in n)if(n[t].borderColor||n[t].backgroundColor)return!0;return!1}function cO(n){return n&&(n.borderColor||n.backgroundColor)}function uO(){return se.borderColor!=="rgba(0,0,0,0.1)"||se.backgroundColor!=="rgba(0,0,0,0.1)"}var dO={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(n,t,e){if(!e.enabled)return;const{data:{datasets:i},options:r}=n.config,{elements:s}=r,a=dm(i)||cO(r)||s&&dm(s)||uO();if(!e.forceOverride&&a)return;const l=lO(n);i.forEach(l)}};function fO(n,t,e,i,r){const s=r.samples||i;if(s>=e)return n.slice(t,t+e);const a=[],l=(e-2)/(s-2);let u=0;const d=t+e-1;let h=t,g,y,_,x,v;for(a[u++]=n[h],g=0;g<s-2;g++){let M=0,C=0,R;const F=Math.floor((g+1)*l)+1+t,I=Math.min(Math.floor((g+2)*l)+1,e)+t,L=I-F;for(R=F;R<I;R++)M+=n[R].x,C+=n[R].y;M/=L,C/=L;const N=Math.floor(g*l)+1+t,B=Math.min(Math.floor((g+1)*l)+1,e)+t,{x:T,y:S}=n[h];for(_=x=-1,R=N;R<B;R++)x=.5*Math.abs((T-M)*(n[R].y-S)-(T-n[R].x)*(C-S)),x>_&&(_=x,y=n[R],v=R);a[u++]=y,h=v}return a[u++]=n[d],a}function hO(n,t,e,i){let r=0,s=0,a,l,u,d,h,g,y,_,x,v;const M=[],C=t+e-1,R=n[t].x,I=n[C].x-R;for(a=t;a<t+e;++a){l=n[a],u=(l.x-R)/I*i,d=l.y;const L=u|0;if(L===h)d<x?(x=d,g=a):d>v&&(v=d,y=a),r=(s*r+l.x)/++s;else{const N=a-1;if(!xt(g)&&!xt(y)){const B=Math.min(g,y),T=Math.max(g,y);B!==_&&B!==N&&M.push({...n[B],x:r}),T!==_&&T!==N&&M.push({...n[T],x:r})}a>0&&N!==_&&M.push(n[N]),M.push(l),h=L,s=0,x=v=d,g=y=_=a}}return M}function fm(n){if(n._decimated){const t=n._data;delete n._decimated,delete n._data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function hm(n){n.data.datasets.forEach(t=>{fm(t)})}function pO(n,t){const e=t.length;let i=0,r;const{iScale:s}=n,{min:a,max:l,minDefined:u,maxDefined:d}=s.getUserBounds();return u&&(i=Ce(ii(t,s.axis,a).lo,0,e-1)),d?r=Ce(ii(t,s.axis,l).hi+1,i,e)-i:r=e-i,{start:i,count:r}}var gO={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(n,t,e)=>{if(!e.enabled){hm(n);return}const i=n.width;n.data.datasets.forEach((r,s)=>{const{_data:a,indexAxis:l}=r,u=n.getDatasetMeta(s),d=a||r.data;if(Ks([l,n.options.indexAxis])==="y"||!u.controller.supportsDecimation)return;const h=n.scales[u.xAxisID];if(h.type!=="linear"&&h.type!=="time"||n.options.parsing)return;let{start:g,count:y}=pO(u,d);const _=e.threshold||4*i;if(y<=_){fm(r);return}xt(a)&&(r._data=d,delete r.data,Object.defineProperty(r,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(v){this._data=v}}));let x;switch(e.algorithm){case"lttb":x=fO(d,g,y,i,e);break;case"min-max":x=hO(d,g,y,i);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}r._decimated=x})},destroy(n){hm(n)}};function mO(n,t,e){const i=n.segments,r=n.points,s=t.points,a=[];for(const l of i){let{start:u,end:d}=l;d=Ua(u,d,r);const h=vu(e,r[u],r[d],l.loop);if(!t.segments){a.push({source:l,target:h,start:r[u],end:r[d]});continue}const g=ug(t,h);for(const y of g){const _=vu(e,s[y.start],s[y.end],y.loop),x=cg(l,r,_);for(const v of x)a.push({source:v,target:y,start:{[e]:pm(h,_,"start",Math.max)},end:{[e]:pm(h,_,"end",Math.min)}})}}return a}function vu(n,t,e,i){if(i)return;let r=t[n],s=e[n];return n==="angle"&&(r=Ue(r),s=Ue(s)),{property:n,start:r,end:s}}function yO(n,t){const{x:e=null,y:i=null}=n||{},r=t.points,s=[];return t.segments.forEach(({start:a,end:l})=>{l=Ua(a,l,r);const u=r[a],d=r[l];i!==null?(s.push({x:u.x,y:i}),s.push({x:d.x,y:i})):e!==null&&(s.push({x:e,y:u.y}),s.push({x:e,y:d.y}))}),s}function Ua(n,t,e){for(;t>n;t--){const i=e[t];if(!isNaN(i.x)&&!isNaN(i.y))break}return t}function pm(n,t,e,i){return n&&t?i(n[e],t[e]):n?n[e]:t?t[e]:0}function gm(n,t){let e=[],i=!1;return qt(n)?(i=!0,e=n):e=yO(n,t),e.length?new za({points:e,options:{tension:0},_loop:i,_fullLoop:i}):null}function mm(n){return n&&n.fill!==!1}function _O(n,t,e){let r=n[t].fill;const s=[t];let a;if(!e)return r;for(;r!==!1&&s.indexOf(r)===-1;){if(!ae(r))return r;if(a=n[r],!a)return!1;if(a.visible)return r;s.push(r),r=a.fill}return!1}function bO(n,t,e){const i=SO(n);if(Pt(i))return isNaN(i.value)?!1:i;let r=parseFloat(i);return ae(r)&&Math.floor(r)===r?xO(i[0],t,r,e):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function xO(n,t,e,i){return(n==="-"||n==="+")&&(e=t+e),e===t||e<0||e>=i?!1:e}function wO(n,t){let e=null;return n==="start"?e=t.bottom:n==="end"?e=t.top:Pt(n)?e=t.getPixelForValue(n.value):t.getBasePixel&&(e=t.getBasePixel()),e}function vO(n,t,e){let i;return n==="start"?i=e:n==="end"?i=t.options.reverse?t.min:t.max:Pt(n)?i=n.value:i=t.getBaseValue(),i}function SO(n){const t=n.options,e=t.fill;let i=Mt(e&&e.target,e);return i===void 0&&(i=!!t.backgroundColor),i===!1||i===null?!1:i===!0?"origin":i}function TO(n){const{scale:t,index:e,line:i}=n,r=[],s=i.segments,a=i.points,l=MO(t,e);l.push(gm({x:null,y:t.bottom},i));for(let u=0;u<s.length;u++){const d=s[u];for(let h=d.start;h<=d.end;h++)kO(r,a[h],l)}return new za({points:r,options:{}})}function MO(n,t){const e=[],i=n.getMatchingVisibleMetas("line");for(let r=0;r<i.length;r++){const s=i[r];if(s.index===t)break;s.hidden||e.unshift(s.dataset)}return e}function kO(n,t,e){const i=[];for(let r=0;r<e.length;r++){const s=e[r],{first:a,last:l,point:u}=DO(s,t,"x");if(!(!u||a&&l)){if(a)i.unshift(u);else if(n.push(u),!l)break}}n.push(...i)}function DO(n,t,e){const i=n.interpolate(t,e);if(!i)return{};const r=i[e],s=n.segments,a=n.points;let l=!1,u=!1;for(let d=0;d<s.length;d++){const h=s[d],g=a[h.start][e],y=a[h.end][e];if(ni(r,g,y)){l=r===g,u=r===y;break}}return{first:l,last:u,point:i}}class ym{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:r,y:s,radius:a}=this;return e=e||{start:0,end:te},t.arc(r,s,a,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:r}=this,s=t.angle;return{x:e+Math.cos(s)*r,y:i+Math.sin(s)*r,angle:s}}}function CO(n){const{chart:t,fill:e,line:i}=n;if(ae(e))return OO(t,e);if(e==="stack")return TO(n);if(e==="shape")return!0;const r=AO(n);return r instanceof ym?r:gm(r,i)}function OO(n,t){const e=n.getDatasetMeta(t);return e&&n.isDatasetVisible(t)?e.dataset:null}function AO(n){return(n.scale||{}).getPointPositionForValue?EO(n):RO(n)}function RO(n){const{scale:t={},fill:e}=n,i=wO(e,t);if(ae(i)){const r=t.isHorizontal();return{x:r?i:null,y:r?null:i}}return null}function EO(n){const{scale:t,fill:e}=n,i=t.options,r=t.getLabels().length,s=i.reverse?t.max:t.min,a=vO(e,t,s),l=[];if(i.grid.circular){const u=t.getPointPositionForValue(0,s);return new ym({x:u.x,y:u.y,radius:t.getDistanceFromCenterForValue(a)})}for(let u=0;u<r;++u)l.push(t.getPointPositionForValue(u,a));return l}function Su(n,t,e){const i=CO(t),{chart:r,index:s,line:a,scale:l,axis:u}=t,d=a.options,h=d.fill,g=d.backgroundColor,{above:y=g,below:_=g}=h||{},x=r.getDatasetMeta(s),v=hg(r,x);i&&a.points.length&&(js(n,e),PO(n,{line:a,target:i,above:y,below:_,area:e,scale:l,axis:u,clip:v}),Gs(n))}function PO(n,t){const{line:e,target:i,above:r,below:s,area:a,scale:l,clip:u}=t,d=e._loop?"angle":t.axis;n.save();let h=s;s!==r&&(d==="x"?(_m(n,i,a.top),Tu(n,{line:e,target:i,color:r,scale:l,property:d,clip:u}),n.restore(),n.save(),_m(n,i,a.bottom)):d==="y"&&(bm(n,i,a.left),Tu(n,{line:e,target:i,color:s,scale:l,property:d,clip:u}),n.restore(),n.save(),bm(n,i,a.right),h=r)),Tu(n,{line:e,target:i,color:h,scale:l,property:d,clip:u}),n.restore()}function _m(n,t,e){const{segments:i,points:r}=t;let s=!0,a=!1;n.beginPath();for(const l of i){const{start:u,end:d}=l,h=r[u],g=r[Ua(u,d,r)];s?(n.moveTo(h.x,h.y),s=!1):(n.lineTo(h.x,e),n.lineTo(h.x,h.y)),a=!!t.pathSegment(n,l,{move:a}),a?n.closePath():n.lineTo(g.x,e)}n.lineTo(t.first().x,e),n.closePath(),n.clip()}function bm(n,t,e){const{segments:i,points:r}=t;let s=!0,a=!1;n.beginPath();for(const l of i){const{start:u,end:d}=l,h=r[u],g=r[Ua(u,d,r)];s?(n.moveTo(h.x,h.y),s=!1):(n.lineTo(e,h.y),n.lineTo(h.x,h.y)),a=!!t.pathSegment(n,l,{move:a}),a?n.closePath():n.lineTo(e,g.y)}n.lineTo(e,t.first().y),n.closePath(),n.clip()}function Tu(n,t){const{line:e,target:i,property:r,color:s,scale:a,clip:l}=t,u=mO(e,i,r);for(const{source:d,target:h,start:g,end:y}of u){const{style:{backgroundColor:_=s}={}}=d,x=i!==!0;n.save(),n.fillStyle=_,IO(n,a,l,x&&vu(r,g,y)),n.beginPath();const v=!!e.pathSegment(n,d);let M;if(x){v?n.closePath():xm(n,i,y,r);const C=!!i.pathSegment(n,h,{move:v,reverse:!0});M=v&&C,M||xm(n,i,g,r)}n.closePath(),n.fill(M?"evenodd":"nonzero"),n.restore()}}function IO(n,t,e,i){const r=t.chart.chartArea,{property:s,start:a,end:l}=i||{};if(s==="x"||s==="y"){let u,d,h,g;s==="x"?(u=a,d=r.top,h=l,g=r.bottom):(u=r.left,d=a,h=r.right,g=l),n.beginPath(),e&&(u=Math.max(u,e.left),h=Math.min(h,e.right),d=Math.max(d,e.top),g=Math.min(g,e.bottom)),n.rect(u,d,h-u,g-d),n.clip()}}function xm(n,t,e,i){const r=t.interpolate(e,i);r&&n.lineTo(r.x,r.y)}var LO={id:"filler",afterDatasetsUpdate(n,t,e){const i=(n.data.datasets||[]).length,r=[];let s,a,l,u;for(a=0;a<i;++a)s=n.getDatasetMeta(a),l=s.dataset,u=null,l&&l.options&&l instanceof za&&(u={visible:n.isDatasetVisible(a),index:a,fill:bO(l,a,i),chart:n,axis:s.controller.options.indexAxis,scale:s.vScale,line:l}),s.$filler=u,r.push(u);for(a=0;a<i;++a)u=r[a],!(!u||u.fill===!1)&&(u.fill=_O(r,a,e.propagate))},beforeDraw(n,t,e){const i=e.drawTime==="beforeDraw",r=n.getSortedVisibleDatasetMetas(),s=n.chartArea;for(let a=r.length-1;a>=0;--a){const l=r[a].$filler;l&&(l.line.updateControlPoints(s,l.axis),i&&l.fill&&Su(n.ctx,l,s))}},beforeDatasetsDraw(n,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const i=n.getSortedVisibleDatasetMetas();for(let r=i.length-1;r>=0;--r){const s=i[r].$filler;mm(s)&&Su(n.ctx,s,n.chartArea)}},beforeDatasetDraw(n,t,e){const i=t.meta.$filler;!mm(i)||e.drawTime!=="beforeDatasetDraw"||Su(n.ctx,i,n.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const wm=(n,t)=>{let{boxHeight:e=t,boxWidth:i=t}=n;return n.usePointStyle&&(e=Math.min(e,t),i=n.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:e,itemHeight:Math.max(t,e)}},NO=(n,t)=>n!==null&&t!==null&&n.datasetIndex===t.datasetIndex&&n.index===t.index;class vm extends Ve{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=Qt(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(i=>t.filter(i,this.chart.data))),t.sort&&(e=e.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=le(i.font),s=r.size,a=this._computeTitleHeight(),{boxWidth:l,itemHeight:u}=wm(i,s);let d,h;e.font=r.string,this.isHorizontal()?(d=this.maxWidth,h=this._fitRows(a,s,l,u)+10):(h=this.maxHeight,d=this._fitCols(a,r,l,u)+10),this.width=Math.min(d,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,r){const{ctx:s,maxWidth:a,options:{labels:{padding:l}}}=this,u=this.legendHitBoxes=[],d=this.lineWidths=[0],h=r+l;let g=t;s.textAlign="left",s.textBaseline="middle";let y=-1,_=-h;return this.legendItems.forEach((x,v)=>{const M=i+e/2+s.measureText(x.text).width;(v===0||d[d.length-1]+M+2*l>a)&&(g+=h,d[d.length-(v>0?0:1)]=0,_+=h,y++),u[v]={left:0,top:_,row:y,width:M,height:r},d[d.length-1]+=M+l}),g}_fitCols(t,e,i,r){const{ctx:s,maxHeight:a,options:{labels:{padding:l}}}=this,u=this.legendHitBoxes=[],d=this.columnSizes=[],h=a-t;let g=l,y=0,_=0,x=0,v=0;return this.legendItems.forEach((M,C)=>{const{itemWidth:R,itemHeight:F}=BO(i,e,s,M,r);C>0&&_+F+2*l>h&&(g+=y+l,d.push({width:y,height:_}),x+=y+l,v++,y=_=0),u[C]={left:x,top:_,col:v,width:R,height:F},y=Math.max(y,R),_+=F+l}),g+=y,d.push({width:y,height:_}),g}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:r},rtl:s}}=this,a=$r(s,this.left,this.width);if(this.isHorizontal()){let l=0,u=He(i,this.left+r,this.right-this.lineWidths[l]);for(const d of e)l!==d.row&&(l=d.row,u=He(i,this.left+r,this.right-this.lineWidths[l])),d.top+=this.top+t+r,d.left=a.leftForLtr(a.x(u),d.width),u+=d.width+r}else{let l=0,u=He(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const d of e)d.col!==l&&(l=d.col,u=He(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),d.top=u,d.left+=this.left+r,d.left=a.leftForLtr(a.x(d.left),d.width),u+=d.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;js(t,this),this._draw(),Gs(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:r}=this,{align:s,labels:a}=t,l=se.color,u=$r(t.rtl,this.left,this.width),d=le(a.font),{padding:h}=a,g=d.size,y=g/2;let _;this.drawTitle(),r.textAlign=u.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=d.string;const{boxWidth:x,boxHeight:v,itemHeight:M}=wm(a,g),C=function(N,B,T){if(isNaN(x)||x<=0||isNaN(v)||v<0)return;r.save();const S=Mt(T.lineWidth,1);if(r.fillStyle=Mt(T.fillStyle,l),r.lineCap=Mt(T.lineCap,"butt"),r.lineDashOffset=Mt(T.lineDashOffset,0),r.lineJoin=Mt(T.lineJoin,"miter"),r.lineWidth=S,r.strokeStyle=Mt(T.strokeStyle,l),r.setLineDash(Mt(T.lineDash,[])),a.usePointStyle){const O={radius:v*Math.SQRT2/2,pointStyle:T.pointStyle,rotation:T.rotation,borderWidth:S},U=u.xPlus(N,x/2),$=B+y;jp(r,O,U,$,a.pointStyleWidth&&x)}else{const O=B+Math.max((g-v)/2,0),U=u.leftForLtr(N,x),$=Ci(T.borderRadius);r.beginPath(),Object.values($).some(it=>it!==0)?Hr(r,{x:U,y:O,w:x,h:v,radius:$}):r.rect(U,O,x,v),r.fill(),S!==0&&r.stroke()}r.restore()},R=function(N,B,T){ar(r,T.text,N,B+M/2,d,{strikethrough:T.hidden,textAlign:u.textAlign(T.textAlign)})},F=this.isHorizontal(),I=this._computeTitleHeight();F?_={x:He(s,this.left+h,this.right-i[0]),y:this.top+h+I,line:0}:_={x:this.left+h,y:He(s,this.top+I+h,this.bottom-e[0].height),line:0},sg(this.ctx,t.textDirection);const L=M+h;this.legendItems.forEach((N,B)=>{r.strokeStyle=N.fontColor,r.fillStyle=N.fontColor;const T=r.measureText(N.text).width,S=u.textAlign(N.textAlign||(N.textAlign=a.textAlign)),O=x+y+T;let U=_.x,$=_.y;u.setWidth(this.width),F?B>0&&U+O+h>this.right&&($=_.y+=L,_.line++,U=_.x=He(s,this.left+h,this.right-i[_.line])):B>0&&$+L>this.bottom&&(U=_.x=U+e[_.line].width+h,_.line++,$=_.y=He(s,this.top+I+h,this.bottom-e[_.line].height));const it=u.x(U);if(C(it,$,N),U=QM(S,U+x+y,F?U+O:this.right,t.rtl),R(u.x(U),$,N),F)_.x+=O+h;else if(typeof N.text!="string"){const at=d.lineHeight;_.y+=Sm(N,at)+h}else _.y+=L}),og(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=le(e.font),r=we(e.padding);if(!e.display)return;const s=$r(t.rtl,this.left,this.width),a=this.ctx,l=e.position,u=i.size/2,d=r.top+u;let h,g=this.left,y=this.width;if(this.isHorizontal())y=Math.max(...this.lineWidths),h=this.top+d,g=He(t.align,g,this.right-y);else{const x=this.columnSizes.reduce((v,M)=>Math.max(v,M.height),0);h=d+He(t.align,this.top,this.bottom-x-t.labels.padding-this._computeTitleHeight())}const _=He(l,g,g+y);a.textAlign=s.textAlign(Gc(l)),a.textBaseline="middle",a.strokeStyle=e.color,a.fillStyle=e.color,a.font=i.string,ar(a,e.text,_,h,i)}_computeTitleHeight(){const t=this.options.title,e=le(t.font),i=we(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,r,s;if(ni(t,this.left,this.right)&&ni(e,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;i<s.length;++i)if(r=s[i],ni(t,r.left,r.left+r.width)&&ni(e,r.top,r.top+r.height))return this.legendItems[i]}return null}handleEvent(t){const e=this.options;if(!UO(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if(t.type==="mousemove"||t.type==="mouseout"){const r=this._hoveredItem,s=NO(r,i);r&&!s&&Qt(e.onLeave,[t,r,this],this),this._hoveredItem=i,i&&!s&&Qt(e.onHover,[t,i,this],this)}else i&&Qt(e.onClick,[t,i,this],this)}}function BO(n,t,e,i,r){const s=FO(i,n,t,e),a=zO(r,i,t.lineHeight);return{itemWidth:s,itemHeight:a}}function FO(n,t,e,i){let r=n.text;return r&&typeof r!="string"&&(r=r.reduce((s,a)=>s.length>a.length?s:a)),t+e.size/2+i.measureText(r).width}function zO(n,t,e){let i=n;return typeof t.text!="string"&&(i=Sm(t,e)),i}function Sm(n,t){const e=n.text?n.text.length:0;return t*e}function UO(n,t){return!!((n==="mousemove"||n==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(n==="click"||n==="mouseup"))}var HO={id:"legend",_element:vm,start(n,t,e){const i=n.legend=new vm({ctx:n.ctx,options:e,chart:n});We.configure(n,i,e),We.addBox(n,i)},stop(n){We.removeBox(n,n.legend),delete n.legend},beforeUpdate(n,t,e){const i=n.legend;We.configure(n,i,e),i.options=e},afterUpdate(n){const t=n.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(n,t){t.replay||n.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(n,t,e){const i=t.datasetIndex,r=e.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:n=>n.chart.options.color,boxWidth:40,padding:10,generateLabels(n){const t=n.data.datasets,{labels:{usePointStyle:e,pointStyle:i,textAlign:r,color:s,useBorderRadius:a,borderRadius:l}}=n.legend.options;return n._getSortedDatasetMetas().map(u=>{const d=u.controller.getStyle(e?0:void 0),h=we(d.borderWidth);return{text:t[u.index].label,fillStyle:d.backgroundColor,fontColor:s,hidden:!u.visible,lineCap:d.borderCapStyle,lineDash:d.borderDash,lineDashOffset:d.borderDashOffset,lineJoin:d.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:d.borderColor,pointStyle:i||d.pointStyle,rotation:d.rotation,textAlign:r||d.textAlign,borderRadius:a&&(l||d.borderRadius),datasetIndex:u.index}},this)}},title:{color:n=>n.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:n=>!n.startsWith("on"),labels:{_scriptable:n=>!["generateLabels","filter","sort"].includes(n)}}};class Mu extends Ve{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;const r=qt(i.text)?i.text.length:1;this._padding=we(i.padding);const s=r*le(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:e,left:i,bottom:r,right:s,options:a}=this,l=a.align;let u=0,d,h,g;return this.isHorizontal()?(h=He(l,i,s),g=e+t,d=s-i):(a.position==="left"?(h=i+t,g=He(l,r,e),u=Rt*-.5):(h=s-t,g=He(l,e,r),u=Rt*.5),d=r-e),{titleX:h,titleY:g,maxWidth:d,rotation:u}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=le(e.font),s=i.lineHeight/2+this._padding.top,{titleX:a,titleY:l,maxWidth:u,rotation:d}=this._drawArgs(s);ar(t,e.text,0,0,i,{color:e.color,maxWidth:u,rotation:d,textAlign:Gc(e.align),textBaseline:"middle",translation:[a,l]})}}function WO(n,t){const e=new Mu({ctx:n.ctx,options:t,chart:n});We.configure(n,e,t),We.addBox(n,e),n.titleBlock=e}var VO={id:"title",_element:Mu,start(n,t,e){WO(n,e)},stop(n){const t=n.titleBlock;We.removeBox(n,t),delete n.titleBlock},beforeUpdate(n,t,e){const i=n.titleBlock;We.configure(n,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Ha=new WeakMap;var $O={id:"subtitle",start(n,t,e){const i=new Mu({ctx:n.ctx,options:e,chart:n});We.configure(n,i,e),We.addBox(n,i),Ha.set(n,i)},stop(n){We.removeBox(n,Ha.get(n)),Ha.delete(n)},beforeUpdate(n,t,e){const i=Ha.get(n);We.configure(n,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const so={average(n){if(!n.length)return!1;let t,e,i=new Set,r=0,s=0;for(t=0,e=n.length;t<e;++t){const l=n[t].element;if(l&&l.hasValue()){const u=l.tooltipPosition();i.add(u.x),r+=u.y,++s}}return s===0||i.size===0?!1:{x:[...i].reduce((l,u)=>l+u)/i.size,y:r/s}},nearest(n,t){if(!n.length)return!1;let e=t.x,i=t.y,r=Number.POSITIVE_INFINITY,s,a,l;for(s=0,a=n.length;s<a;++s){const u=n[s].element;if(u&&u.hasValue()){const d=u.getCenterPoint(),h=Ur(t,d);h<r&&(r=h,l=u)}}if(l){const u=l.tooltipPosition();e=u.x,i=u.y}return{x:e,y:i}}};function jn(n,t){return t&&(qt(t)?Array.prototype.push.apply(n,t):n.push(t)),n}function oi(n){return(typeof n=="string"||n instanceof String)&&n.indexOf(`
|
|
2
2
|
`)>-1?n.split(`
|
|
3
3
|
`):n}function YO(n,t){const{element:e,datasetIndex:i,index:r}=t,s=n.getDatasetMeta(i).controller,{label:a,value:l}=s.getLabelAndValue(r);return{chart:n,label:a,parsed:s.getParsed(r),raw:n.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:e}}function Tm(n,t){const e=n.chart.ctx,{body:i,footer:r,title:s}=n,{boxWidth:a,boxHeight:l}=t,u=le(t.bodyFont),d=le(t.titleFont),h=le(t.footerFont),g=s.length,y=r.length,_=i.length,x=we(t.padding);let v=x.height,M=0,C=i.reduce((I,L)=>I+L.before.length+L.lines.length+L.after.length,0);if(C+=n.beforeBody.length+n.afterBody.length,g&&(v+=g*d.lineHeight+(g-1)*t.titleSpacing+t.titleMarginBottom),C){const I=t.displayColors?Math.max(l,u.lineHeight):u.lineHeight;v+=_*I+(C-_)*u.lineHeight+(C-1)*t.bodySpacing}y&&(v+=t.footerMarginTop+y*h.lineHeight+(y-1)*t.footerSpacing);let R=0;const F=function(I){M=Math.max(M,e.measureText(I).width+R)};return e.save(),e.font=d.string,Jt(n.title,F),e.font=u.string,Jt(n.beforeBody.concat(n.afterBody),F),R=t.displayColors?a+2+t.boxPadding:0,Jt(i,I=>{Jt(I.before,F),Jt(I.lines,F),Jt(I.after,F)}),R=0,e.font=h.string,Jt(n.footer,F),e.restore(),M+=x.width,{width:M,height:v}}function qO(n,t){const{y:e,height:i}=t;return e<i/2?"top":e>n.height-i/2?"bottom":"center"}function jO(n,t,e,i){const{x:r,width:s}=i,a=e.caretSize+e.caretPadding;if(n==="left"&&r+s+a>t.width||n==="right"&&r-s-a<0)return!0}function GO(n,t,e,i){const{x:r,width:s}=e,{width:a,chartArea:{left:l,right:u}}=n;let d="center";return i==="center"?d=r<=(l+u)/2?"left":"right":r<=s/2?d="left":r>=a-s/2&&(d="right"),jO(d,n,t,e)&&(d="center"),d}function Mm(n,t,e){const i=e.yAlign||t.yAlign||qO(n,e);return{xAlign:e.xAlign||t.xAlign||GO(n,t,e,i),yAlign:i}}function KO(n,t){let{x:e,width:i}=n;return t==="right"?e-=i:t==="center"&&(e-=i/2),e}function XO(n,t,e){let{y:i,height:r}=n;return t==="top"?i+=e:t==="bottom"?i-=r+e:i-=r/2,i}function km(n,t,e,i){const{caretSize:r,caretPadding:s,cornerRadius:a}=n,{xAlign:l,yAlign:u}=e,d=r+s,{topLeft:h,topRight:g,bottomLeft:y,bottomRight:_}=Ci(a);let x=KO(t,l);const v=XO(t,u,d);return u==="center"?l==="left"?x+=d:l==="right"&&(x-=d):l==="left"?x-=Math.max(h,y)+r:l==="right"&&(x+=Math.max(g,_)+r),{x:Ce(x,0,i.width-t.width),y:Ce(v,0,i.height-t.height)}}function Wa(n,t,e){const i=we(e.padding);return t==="center"?n.x+n.width/2:t==="right"?n.x+n.width-i.right:n.x+i.left}function Dm(n){return jn([],oi(n))}function ZO(n,t,e){return Oi(n,{tooltip:t,tooltipItems:e,type:"tooltip"})}function Cm(n,t){const e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?n.override(e):n}const Om={beforeTitle:ei,title(n){if(n.length>0){const t=n[0],e=t.chart.data.labels,i=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex<i)return e[t.dataIndex]}return""},afterTitle:ei,beforeBody:ei,beforeLabel:ei,label(n){if(this&&this.options&&this.options.mode==="dataset")return n.label+": "+n.formattedValue||n.formattedValue;let t=n.dataset.label||"";t&&(t+=": ");const e=n.formattedValue;return xt(e)||(t+=e),t},labelColor(n){const e=n.chart.getDatasetMeta(n.datasetIndex).controller.getStyle(n.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(n){const e=n.chart.getDatasetMeta(n.datasetIndex).controller.getStyle(n.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:ei,afterBody:ei,beforeFooter:ei,footer:ei,afterFooter:ei};function sn(n,t,e,i){const r=n[t].call(e,i);return typeof r>"u"?Om[t].call(e,i):r}class Am extends Ve{static positioners=so;constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&e.options.animation&&i.animations,s=new ou(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=ZO(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:i}=e,r=sn(i,"beforeTitle",this,t),s=sn(i,"title",this,t),a=sn(i,"afterTitle",this,t);let l=[];return l=jn(l,oi(r)),l=jn(l,oi(s)),l=jn(l,oi(a)),l}getBeforeBody(t,e){return Dm(sn(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:i}=e,r=[];return Jt(t,s=>{const a={before:[],lines:[],after:[]},l=Cm(i,s);jn(a.before,oi(sn(l,"beforeLabel",this,s))),jn(a.lines,sn(l,"label",this,s)),jn(a.after,oi(sn(l,"afterLabel",this,s))),r.push(a)}),r}getAfterBody(t,e){return Dm(sn(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,r=sn(i,"beforeFooter",this,t),s=sn(i,"footer",this,t),a=sn(i,"afterFooter",this,t);let l=[];return l=jn(l,oi(r)),l=jn(l,oi(s)),l=jn(l,oi(a)),l}_createItems(t){const e=this._active,i=this.chart.data,r=[],s=[],a=[];let l=[],u,d;for(u=0,d=e.length;u<d;++u)l.push(YO(this.chart,e[u]));return t.filter&&(l=l.filter((h,g,y)=>t.filter(h,g,y,i))),t.itemSort&&(l=l.sort((h,g)=>t.itemSort(h,g,i))),Jt(l,h=>{const g=Cm(t.callbacks,h);r.push(sn(g,"labelColor",this,h)),s.push(sn(g,"labelPointStyle",this,h)),a.push(sn(g,"labelTextColor",this,h))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=a,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),r=this._active;let s,a=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=so[i.position].call(this,r,this._eventPosition);a=this._createItems(i),this.title=this.getTitle(a,i),this.beforeBody=this.getBeforeBody(a,i),this.body=this.getBody(a,i),this.afterBody=this.getAfterBody(a,i),this.footer=this.getFooter(a,i);const u=this._size=Tm(this,i),d=Object.assign({},l,u),h=Mm(this.chart,i,d),g=km(i,d,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,s={opacity:1,x:g.x,y:g.y,width:u.width,height:u.height,caretX:l.x,caretY:l.y}}this._tooltipItems=a,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,r){const s=this.getCaretPosition(t,i,r);e.lineTo(s.x1,s.y1),e.lineTo(s.x2,s.y2),e.lineTo(s.x3,s.y3)}getCaretPosition(t,e,i){const{xAlign:r,yAlign:s}=this,{caretSize:a,cornerRadius:l}=i,{topLeft:u,topRight:d,bottomLeft:h,bottomRight:g}=Ci(l),{x:y,y:_}=t,{width:x,height:v}=e;let M,C,R,F,I,L;return s==="center"?(I=_+v/2,r==="left"?(M=y,C=M-a,F=I+a,L=I-a):(M=y+x,C=M+a,F=I-a,L=I+a),R=M):(r==="left"?C=y+Math.max(u,h)+a:r==="right"?C=y+x-Math.max(d,g)-a:C=this.caretX,s==="top"?(F=_,I=F-a,M=C-a,R=C+a):(F=_+v,I=F+a,M=C+a,R=C-a),L=F),{x1:M,x2:C,x3:R,y1:F,y2:I,y3:L}}drawTitle(t,e,i){const r=this.title,s=r.length;let a,l,u;if(s){const d=$r(i.rtl,this.x,this.width);for(t.x=Wa(this,i.titleAlign,i),e.textAlign=d.textAlign(i.titleAlign),e.textBaseline="middle",a=le(i.titleFont),l=i.titleSpacing,e.fillStyle=i.titleColor,e.font=a.string,u=0;u<s;++u)e.fillText(r[u],d.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+l,u+1===s&&(t.y+=i.titleMarginBottom-l)}}_drawColorBox(t,e,i,r,s){const a=this.labelColors[i],l=this.labelPointStyles[i],{boxHeight:u,boxWidth:d}=s,h=le(s.bodyFont),g=Wa(this,"left",s),y=r.x(g),_=u<h.lineHeight?(h.lineHeight-u)/2:0,x=e.y+_;if(s.usePointStyle){const v={radius:Math.min(d,u)/2,pointStyle:l.pointStyle,rotation:l.rotation,borderWidth:1},M=r.leftForLtr(y,d)+d/2,C=x+u/2;t.strokeStyle=s.multiKeyBackground,t.fillStyle=s.multiKeyBackground,Jc(t,v,M,C),t.strokeStyle=a.borderColor,t.fillStyle=a.backgroundColor,Jc(t,v,M,C)}else{t.lineWidth=Pt(a.borderWidth)?Math.max(...Object.values(a.borderWidth)):a.borderWidth||1,t.strokeStyle=a.borderColor,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset||0;const v=r.leftForLtr(y,d),M=r.leftForLtr(r.xPlus(y,1),d-2),C=Ci(a.borderRadius);Object.values(C).some(R=>R!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,Hr(t,{x:v,y:x,w:d,h:u,radius:C}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),Hr(t,{x:M,y:x+1,w:d-2,h:u-2,radius:C}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(v,x,d,u),t.strokeRect(v,x,d,u),t.fillStyle=a.backgroundColor,t.fillRect(M,x+1,d-2,u-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:r}=this,{bodySpacing:s,bodyAlign:a,displayColors:l,boxHeight:u,boxWidth:d,boxPadding:h}=i,g=le(i.bodyFont);let y=g.lineHeight,_=0;const x=$r(i.rtl,this.x,this.width),v=function(T){e.fillText(T,x.x(t.x+_),t.y+y/2),t.y+=y+s},M=x.textAlign(a);let C,R,F,I,L,N,B;for(e.textAlign=a,e.textBaseline="middle",e.font=g.string,t.x=Wa(this,M,i),e.fillStyle=i.bodyColor,Jt(this.beforeBody,v),_=l&&M!=="right"?a==="center"?d/2+h:d+2+h:0,I=0,N=r.length;I<N;++I){for(C=r[I],R=this.labelTextColors[I],e.fillStyle=R,Jt(C.before,v),F=C.lines,l&&F.length&&(this._drawColorBox(e,t,I,x,i),y=Math.max(g.lineHeight,u)),L=0,B=F.length;L<B;++L)v(F[L]),y=g.lineHeight;Jt(C.after,v)}_=0,y=g.lineHeight,Jt(this.afterBody,v),t.y-=s}drawFooter(t,e,i){const r=this.footer,s=r.length;let a,l;if(s){const u=$r(i.rtl,this.x,this.width);for(t.x=Wa(this,i.footerAlign,i),t.y+=i.footerMarginTop,e.textAlign=u.textAlign(i.footerAlign),e.textBaseline="middle",a=le(i.footerFont),e.fillStyle=i.footerColor,e.font=a.string,l=0;l<s;++l)e.fillText(r[l],u.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+i.footerSpacing}}drawBackground(t,e,i,r){const{xAlign:s,yAlign:a}=this,{x:l,y:u}=t,{width:d,height:h}=i,{topLeft:g,topRight:y,bottomLeft:_,bottomRight:x}=Ci(r.cornerRadius);e.fillStyle=r.backgroundColor,e.strokeStyle=r.borderColor,e.lineWidth=r.borderWidth,e.beginPath(),e.moveTo(l+g,u),a==="top"&&this.drawCaret(t,e,i,r),e.lineTo(l+d-y,u),e.quadraticCurveTo(l+d,u,l+d,u+y),a==="center"&&s==="right"&&this.drawCaret(t,e,i,r),e.lineTo(l+d,u+h-x),e.quadraticCurveTo(l+d,u+h,l+d-x,u+h),a==="bottom"&&this.drawCaret(t,e,i,r),e.lineTo(l+_,u+h),e.quadraticCurveTo(l,u+h,l,u+h-_),a==="center"&&s==="left"&&this.drawCaret(t,e,i,r),e.lineTo(l,u+g),e.quadraticCurveTo(l,u,l+g,u),e.closePath(),e.fill(),r.borderWidth>0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const a=so[t.position].call(this,this._active,this._eventPosition);if(!a)return;const l=this._size=Tm(this,t),u=Object.assign({},a,this._size),d=Mm(e,t,u),h=km(t,u,d,e);(r._to!==h.x||s._to!==h.y)&&(this.xAlign=d.xAlign,this.yAlign=d.yAlign,this.width=l.width,this.height=l.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const a=we(e.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,e),sg(t,e.textDirection),s.y+=a.top,this.drawTitle(s,t,e),this.drawBody(s,t,e),this.drawFooter(s,t,e),og(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,r=t.map(({datasetIndex:l,index:u})=>{const d=this.chart.getDatasetMeta(l);if(!d)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:d.data[u],index:u}}),s=!ya(i,r),a=this._positionChanged(r,e);(s||a)&&(this._active=r,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],a=this._getActiveElements(t,s,e,i),l=this._positionChanged(a,t),u=e||!ya(a,s)||l;return u&&(this._active=a,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),u}_getActiveElements(t,e,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return e.filter(l=>this.chart.data.datasets[l.datasetIndex]&&this.chart.getDatasetMeta(l.datasetIndex).controller.getParsed(l.index)!==void 0);const a=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&a.reverse(),a}_positionChanged(t,e){const{caretX:i,caretY:r,options:s}=this,a=so[s.position].call(this,t,e);return a!==!1&&(i!==a.x||r!==a.y)}}var $e={id:"tooltip",_element:Am,positioners:so,afterInit(n,t,e){e&&(n.tooltip=new Am({chart:n,options:e}))},beforeUpdate(n,t,e){n.tooltip&&n.tooltip.initialize(e)},reset(n,t,e){n.tooltip&&n.tooltip.initialize(e)},afterDraw(n){const t=n.tooltip;if(t&&t._willRender()){const e={tooltip:t};if(n.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(n.ctx),n.notifyPlugins("afterTooltipDraw",e)}},afterEvent(n,t){if(n.tooltip){const e=t.replay;n.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(n,t)=>t.bodyFont.size,boxWidth:(n,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Om},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:n=>n!=="filter"&&n!=="itemSort"&&n!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},QO=Object.freeze({__proto__:null,Colors:dO,Decimation:gO,Filler:LO,Legend:HO,SubTitle:$O,Title:VO,Tooltip:$e});const JO=(n,t,e,i)=>(typeof t=="string"?(e=n.push(t)-1,i.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function tA(n,t,e,i){const r=n.indexOf(t);if(r===-1)return JO(n,t,e,i);const s=n.lastIndexOf(t);return r!==s?e:r}const eA=(n,t)=>n===null?null:Ce(Math.round(n),0,t);function Rm(n){const t=this.getLabels();return n>=0&&n<t.length?t[n]:n}class nA extends dr{static id="category";static defaults={ticks:{callback:Rm}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const i=this.getLabels();for(const{index:r,label:s}of e)i[r]===s&&i.splice(r,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(xt(t))return null;const i=this.getLabels();return e=isFinite(e)&&i[e]===t?e:tA(i,t,Mt(e,t),this._addedLabels),eA(e,i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:r}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(i=0),e||(r=this.getLabels().length-1)),this.min=i,this.max=r}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,r=[];let s=this.getLabels();s=t===0&&e===s.length-1?s:s.slice(t,e+1),this._valueRange=Math.max(s.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let a=t;a<=e;a++)r.push({value:a});return r}getLabelForValue(t){return Rm.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function iA(n,t){const e=[],{bounds:r,step:s,min:a,max:l,precision:u,count:d,maxTicks:h,maxDigits:g,includeBounds:y}=n,_=s||1,x=h-1,{min:v,max:M}=t,C=!xt(a),R=!xt(l),F=!xt(d),I=(M-v)/(g+1);let L=Ep((M-v)/x/_)*_,N,B,T,S;if(L<1e-14&&!C&&!R)return[{value:v},{value:M}];S=Math.ceil(M/L)-Math.floor(v/L),S>x&&(L=Ep(S*L/x/_)*_),xt(u)||(N=Math.pow(10,u),L=Math.ceil(L*N)/N),r==="ticks"?(B=Math.floor(v/L)*L,T=Math.ceil(M/L)*L):(B=v,T=M),C&&R&&s&&YM((l-a)/s,L/1e3)?(S=Math.round(Math.min((l-a)/L,h)),L=(l-a)/S,B=a,T=l):F?(B=C?a:B,T=R?l:T,S=d-1,L=(T-B)/S):(S=(T-B)/L,Ws(S,Math.round(S),L/1e3)?S=Math.round(S):S=Math.ceil(S));const O=Math.max(Ip(L),Ip(B));N=Math.pow(10,xt(u)?O:u),B=Math.round(B*N)/N,T=Math.round(T*N)/N;let U=0;for(C&&(y&&B!==a?(e.push({value:a}),B<a&&U++,Ws(Math.round((B+U*L)*N)/N,a,Em(a,I,n))&&U++):B<a&&U++);U<S;++U){const $=Math.round((B+U*L)*N)/N;if(R&&$>l)break;e.push({value:$})}return R&&y&&T!==l?e.length&&Ws(e[e.length-1].value,l,Em(l,I,n))?e[e.length-1].value=l:e.push({value:l}):(!R||T===l)&&e.push({value:T}),e}function Em(n,t,{horizontal:e,minRotation:i}){const r=xe(i),s=(e?Math.sin(r):Math.cos(r))||.001,a=.75*t*(""+n).length;return Math.min(t/s,a)}class Va extends dr{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return xt(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const a=u=>r=e?r:u,l=u=>s=i?s:u;if(t){const u=Yn(r),d=Yn(s);u<0&&d<0?l(0):u>0&&d>0&&a(0)}if(r===s){let u=s===0?1:Math.abs(s*.05);l(s+u),t||a(r-u)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:e,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),e=e||11),e&&(r=Math.min(e,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},s=this._range||this,a=iA(r,s);return t.bounds==="ticks"&&Pp(a,this,"value"),t.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),a}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-e)/Math.max(t.length-1,1)/2;e-=r,i+=r}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return Ys(t,this.chart.options.locale,this.options.ticks.format)}}class rA extends Va{static id="linear";static defaults={ticks:{callback:Ma.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=ae(t)?t:0,this.max=ae(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=xe(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const oo=n=>Math.floor(ki(n)),fr=(n,t)=>Math.pow(10,oo(n)+t);function Pm(n){return n/Math.pow(10,oo(n))===1}function Im(n,t,e){const i=Math.pow(10,e),r=Math.floor(n/i);return Math.ceil(t/i)-r}function sA(n,t){const e=t-n;let i=oo(e);for(;Im(n,t,i)>10;)i++;for(;Im(n,t,i)<10;)i--;return Math.min(i,oo(n))}function oA(n,{min:t,max:e}){t=pn(n.min,t);const i=[],r=oo(t);let s=sA(t,e),a=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),u=r>s?Math.pow(10,r):0,d=Math.round((t-u)*a)/a,h=Math.floor((t-u)/l/10)*l*10;let g=Math.floor((d-h)/Math.pow(10,s)),y=pn(n.min,Math.round((u+h+g*Math.pow(10,s))*a)/a);for(;y<e;)i.push({value:y,major:Pm(y),significand:g}),g>=10?g=g<15?15:20:g++,g>=20&&(s++,g=2,a=s>=0?1:a),y=Math.round((u+h+g*Math.pow(10,s))*a)/a;const _=pn(n.max,y);return i.push({value:_,major:Pm(_),significand:g}),i}class aA extends dr{static id="logarithmic";static defaults={ticks:{callback:Ma.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=Va.prototype.parse.apply(this,[t,e]);if(i===0){this._zero=!0;return}return ae(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=ae(t)?Math.max(0,t):null,this.max=ae(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ae(this._userMin)&&(this.min=t===fr(this.min,0)?fr(this.min,-1):fr(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,a=l=>r=e?r:l;i===r&&(i<=0?(s(1),a(10)):(s(fr(i,-1)),a(fr(r,1)))),i<=0&&s(fr(r,-1)),r<=0&&a(fr(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},i=oA(e,this);return t.bounds==="ticks"&&Pp(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":Ys(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=ki(t),this._valueRange=ki(this.max)-ki(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(ki(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function ku(n){const t=n.ticks;if(t.display&&n.display){const e=we(t.backdropPadding);return Mt(t.font&&t.font.size,se.font.size)+e.height}return 0}function lA(n,t,e){return e=qt(e)?e:[e],{w:lk(n,t.string,e),h:e.length*t.lineHeight}}function Lm(n,t,e,i,r){return n===i||n===r?{start:t-e/2,end:t+e/2}:n<i||n>r?{start:t-e,end:t}:{start:t,end:t+e}}function cA(n){const t={l:n.left+n._padding.left,r:n.right-n._padding.right,t:n.top+n._padding.top,b:n.bottom-n._padding.bottom},e=Object.assign({},t),i=[],r=[],s=n._pointLabels.length,a=n.options.pointLabels,l=a.centerPointLabels?Rt/s:0;for(let u=0;u<s;u++){const d=a.setContext(n.getPointLabelContext(u));r[u]=d.padding;const h=n.getPointPosition(u,n.drawingArea+r[u],l),g=le(d.font),y=lA(n.ctx,g,n._pointLabels[u]);i[u]=y;const _=Ue(n.getIndexAngle(u)+l),x=Math.round(wa(_)),v=Lm(x,h.x,y.w,0,180),M=Lm(x,h.y,y.h,90,270);uA(e,t,_,v,M)}n.setCenterPoint(t.l-e.l,e.r-t.r,t.t-e.t,e.b-t.b),n._pointLabelItems=hA(n,i,r)}function uA(n,t,e,i,r){const s=Math.abs(Math.sin(e)),a=Math.abs(Math.cos(e));let l=0,u=0;i.start<t.l?(l=(t.l-i.start)/s,n.l=Math.min(n.l,t.l-l)):i.end>t.r&&(l=(i.end-t.r)/s,n.r=Math.max(n.r,t.r+l)),r.start<t.t?(u=(t.t-r.start)/a,n.t=Math.min(n.t,t.t-u)):r.end>t.b&&(u=(r.end-t.b)/a,n.b=Math.max(n.b,t.b+u))}function dA(n,t,e){const i=n.drawingArea,{extra:r,additionalAngle:s,padding:a,size:l}=e,u=n.getPointPosition(t,i+r+a,s),d=Math.round(wa(Ue(u.angle+re))),h=mA(u.y,l.h,d),g=pA(d),y=gA(u.x,l.w,g);return{visible:!0,x:u.x,y:h,textAlign:g,left:y,top:h,right:y+l.w,bottom:h+l.h}}function fA(n,t){if(!t)return!0;const{left:e,top:i,right:r,bottom:s}=n;return!(ri({x:e,y:i},t)||ri({x:e,y:s},t)||ri({x:r,y:i},t)||ri({x:r,y:s},t))}function hA(n,t,e){const i=[],r=n._pointLabels.length,s=n.options,{centerPointLabels:a,display:l}=s.pointLabels,u={extra:ku(s)/2,additionalAngle:a?Rt/r:0};let d;for(let h=0;h<r;h++){u.padding=e[h],u.size=t[h];const g=dA(n,h,u);i.push(g),l==="auto"&&(g.visible=fA(g,d),g.visible&&(d=g))}return i}function pA(n){return n===0||n===180?"center":n<180?"left":"right"}function gA(n,t,e){return e==="right"?n-=t:e==="center"&&(n-=t/2),n}function mA(n,t,e){return e===90||e===270?n-=t/2:(e>270||e<90)&&(n-=t),n}function yA(n,t,e){const{left:i,top:r,right:s,bottom:a}=e,{backdropColor:l}=t;if(!xt(l)){const u=Ci(t.borderRadius),d=we(t.backdropPadding);n.fillStyle=l;const h=i-d.left,g=r-d.top,y=s-i+d.width,_=a-r+d.height;Object.values(u).some(x=>x!==0)?(n.beginPath(),Hr(n,{x:h,y:g,w:y,h:_,radius:u}),n.fill()):n.fillRect(h,g,y,_)}}function _A(n,t){const{ctx:e,options:{pointLabels:i}}=n;for(let r=t-1;r>=0;r--){const s=n._pointLabelItems[r];if(!s.visible)continue;const a=i.setContext(n.getPointLabelContext(r));yA(e,a,s);const l=le(a.font),{x:u,y:d,textAlign:h}=s;ar(e,n._pointLabels[r],u,d+l.lineHeight/2,l,{color:a.color,textAlign:h,textBaseline:"middle"})}}function Nm(n,t,e,i){const{ctx:r}=n;if(e)r.arc(n.xCenter,n.yCenter,t,0,te);else{let s=n.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let a=1;a<i;a++)s=n.getPointPosition(a,t),r.lineTo(s.x,s.y)}}function bA(n,t,e,i,r){const s=n.ctx,a=t.circular,{color:l,lineWidth:u}=t;!a&&!i||!l||!u||e<0||(s.save(),s.strokeStyle=l,s.lineWidth=u,s.setLineDash(r.dash||[]),s.lineDashOffset=r.dashOffset,s.beginPath(),Nm(n,e,a,i),s.closePath(),s.stroke(),s.restore())}function xA(n,t,e){return Oi(n,{label:e,index:t,type:"pointLabel"})}class wA extends Va{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ma.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=we(ku(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=ae(t)&&!isNaN(t)?t:0,this.max=ae(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/ku(this.options))}generateTickLabels(t){Va.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map((e,i)=>{const r=Qt(this.options.pointLabels.callback,[e,i],this);return r||r===0?r:""}).filter((e,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?cA(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,r){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,r))}getIndexAngle(t){const e=te/(this._pointLabels.length||1),i=this.options.startAngle||0;return Ue(t*e+xe(i))}getDistanceFromCenterForValue(t){if(xt(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(xt(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t<e.length){const i=e[t];return xA(this.getContext(),t,i)}}getPointPosition(t,e,i=0){const r=this.getIndexAngle(t)-re+i;return{x:Math.cos(r)*e+this.xCenter,y:Math.sin(r)*e+this.yCenter,angle:r}}getPointPositionForValue(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:e,top:i,right:r,bottom:s}=this._pointLabelItems[t];return{left:e,top:i,right:r,bottom:s}}drawBackground(){const{backgroundColor:t,grid:{circular:e}}=this.options;if(t){const i=this.ctx;i.save(),i.beginPath(),Nm(this,this.getDistanceFromCenterForValue(this._endValue),e,this._pointLabels.length),i.closePath(),i.fillStyle=t,i.fill(),i.restore()}}drawGrid(){const t=this.ctx,e=this.options,{angleLines:i,grid:r,border:s}=e,a=this._pointLabels.length;let l,u,d;if(e.pointLabels.display&&_A(this,a),r.display&&this.ticks.forEach((h,g)=>{if(g!==0||g===0&&this.min<0){u=this.getDistanceFromCenterForValue(h.value);const y=this.getContext(g),_=r.setContext(y),x=s.setContext(y);bA(this,_,u,a,x)}}),i.display){for(t.save(),l=a-1;l>=0;l--){const h=i.setContext(this.getPointLabelContext(l)),{color:g,lineWidth:y}=h;!y||!g||(t.lineWidth=y,t.strokeStyle=g,t.setLineDash(h.borderDash),t.lineDashOffset=h.borderDashOffset,u=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),d=this.getPointPosition(l,u),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(d.x,d.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,a;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,u)=>{if(u===0&&this.min>=0&&!e.reverse)return;const d=i.setContext(this.getContext(u)),h=le(d.font);if(s=this.getDistanceFromCenterForValue(this.ticks[u].value),d.showLabelBackdrop){t.font=h.string,a=t.measureText(l.label).width,t.fillStyle=d.backdropColor;const g=we(d.backdropPadding);t.fillRect(-a/2-g.left,-s-h.size/2-g.top,a+g.width,h.size+g.height)}ar(t,l.label,0,-s,h,{color:d.color,strokeColor:d.textStrokeColor,strokeWidth:d.textStrokeWidth})}),t.restore()}drawTitle(){}}const $a={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},on=Object.keys($a);function Bm(n,t){return n-t}function Fm(n,t){if(xt(t))return null;const e=n._adapter,{parser:i,round:r,isoWeekday:s}=n._parseOpts;let a=t;return typeof i=="function"&&(a=i(a)),ae(a)||(a=typeof i=="string"?e.parse(a,i):e.parse(a)),a===null?null:(r&&(a=r==="week"&&(Di(s)||s===!0)?e.startOf(a,"isoWeek",s):e.startOf(a,r)),+a)}function zm(n,t,e,i){const r=on.length;for(let s=on.indexOf(n);s<r-1;++s){const a=$a[on[s]],l=a.steps?a.steps:Number.MAX_SAFE_INTEGER;if(a.common&&Math.ceil((e-t)/(l*a.size))<=i)return on[s]}return on[r-1]}function vA(n,t,e,i,r){for(let s=on.length-1;s>=on.indexOf(e);s--){const a=on[s];if($a[a].common&&n._adapter.diff(r,i,a)>=t-1)return a}return on[e?on.indexOf(e):0]}function SA(n){for(let t=on.indexOf(n)+1,e=on.length;t<e;++t)if($a[on[t]].common)return on[t]}function Um(n,t,e){if(!e)n[t]=!0;else if(e.length){const{lo:i,hi:r}=jc(e,t),s=e[i]>=t?e[i]:e[r];n[s]=!0}}function TA(n,t,e,i){const r=n._adapter,s=+r.startOf(t[0].value,i),a=t[t.length-1].value;let l,u;for(l=s;l<=a;l=+r.add(l,1,i))u=e[l],u>=0&&(t[u].major=!0);return t}function Hm(n,t,e){const i=[],r={},s=t.length;let a,l;for(a=0;a<s;++a)l=t[a],r[l]=a,i.push({value:l,major:!1});return s===0||!e?i:TA(n,i,r,e)}class Du extends dr{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),r=this._adapter=new Og._date(t.adapters.date);r.init(e),Hs(i.displayFormats,r.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return t===void 0?null:Fm(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:r,max:s,minDefined:a,maxDefined:l}=this.getUserBounds();function u(d){!a&&!isNaN(d.min)&&(r=Math.min(r,d.min)),!l&&!isNaN(d.max)&&(s=Math.max(s,d.max))}(!a||!l)&&(u(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&u(this.getMinMax(!1))),r=ae(r)&&!isNaN(r)?r:+e.startOf(Date.now(),i),s=ae(s)&&!isNaN(s)?s:+e.endOf(Date.now(),i)+1,this.min=Math.min(r,s-1),this.max=Math.max(r+1,s)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,r=i.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&r.length&&(this.min=this._userMin||r[0],this.max=this._userMax||r[r.length-1]);const s=this.min,a=this.max,l=KM(r,s,a);return this._unit=e.unit||(i.autoSkip?zm(e.minUnit,this.min,this.max,this._getLabelCapacity(s)):vA(this,l.length,e.minUnit,this.min,this.max)),this._majorUnit=!i.major.enabled||this._unit==="year"?void 0:SA(this._unit),this.initOffsets(r),t.reverse&&l.reverse(),Hm(this,l,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let e=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?e=1-r:e=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const a=t.length<3?.5:.25;e=Ce(e,0,a),i=Ce(i,0,a),this._offsets={start:e,end:i,factor:1/(e+1+i)}}_generate(){const t=this._adapter,e=this.min,i=this.max,r=this.options,s=r.time,a=s.unit||zm(s.minUnit,e,i,this._getLabelCapacity(e)),l=Mt(r.ticks.stepSize,1),u=a==="week"?s.isoWeekday:!1,d=Di(u)||u===!0,h={};let g=e,y,_;if(d&&(g=+t.startOf(g,"isoWeek",u)),g=+t.startOf(g,d?"day":a),t.diff(i,e,a)>1e5*l)throw new Error(e+" and "+i+" are too far apart with stepSize of "+l+" "+a);const x=r.ticks.source==="data"&&this.getDataTimestamps();for(y=g,_=0;y<i;y=+t.add(y,l,a),_++)Um(h,y,x);return(y===i||r.bounds==="ticks"||_===1)&&Um(h,y,x),Object.keys(h).sort(Bm).map(v=>+v)}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const r=this.options.time.displayFormats,s=this._unit,a=e||r[s];return this._adapter.format(t,a)}_tickFormatFunction(t,e,i,r){const s=this.options,a=s.ticks.callback;if(a)return Qt(a,[t,e,i],this);const l=s.time.displayFormats,u=this._unit,d=this._majorUnit,h=u&&l[u],g=d&&l[d],y=i[e],_=d&&g&&y&&y.major;return this._adapter.format(t,r||(_?g:h))}generateTickLabels(t){let e,i,r;for(e=0,i=t.length;e<i;++e)r=t[e],r.label=this._tickFormatFunction(r.value,e,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const e=this.options.ticks,i=this.ctx.measureText(t).width,r=xe(this.isHorizontal()?e.maxRotation:e.minRotation),s=Math.cos(r),a=Math.sin(r),l=this._resolveTickFontOptions(0).size;return{w:i*s+l*a,h:i*a+l*s}}_getLabelCapacity(t){const e=this.options.time,i=e.displayFormats,r=i[e.unit]||i.millisecond,s=this._tickFormatFunction(t,0,Hm(this,[t],this._majorUnit),r),a=this._getLabelSize(s),l=Math.floor(this.isHorizontal()?this.width/a.w:this.height/a.h)-1;return l>0?l:1}getDataTimestamps(){let t=this._cache.data||[],e,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(e=0,i=r.length;e<i;++e)t=t.concat(r[e].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let e,i;if(t.length)return t;const r=this.getLabels();for(e=0,i=r.length;e<i;++e)t.push(Fm(this,r[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return Bp(t.sort(Bm))}}function Ya(n,t,e){let i=0,r=n.length-1,s,a,l,u;e?(t>=n[i].pos&&t<=n[r].pos&&({lo:i,hi:r}=ii(n,"pos",t)),{pos:s,time:l}=n[i],{pos:a,time:u}=n[r]):(t>=n[i].time&&t<=n[r].time&&({lo:i,hi:r}=ii(n,"time",t)),{time:s,pos:l}=n[i],{time:a,pos:u}=n[r]);const d=a-s;return d?l+(u-l)*(t-s)/d:l}class MA extends Du{static id="timeseries";static defaults=Du.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ya(e,this.min),this._tableRange=Ya(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,r=[],s=[];let a,l,u,d,h;for(a=0,l=t.length;a<l;++a)d=t[a],d>=e&&d<=i&&r.push(d);if(r.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(a=0,l=r.length;a<l;++a)h=r[a+1],u=r[a-1],d=r[a],Math.round((h+u)/2)!==d&&s.push({time:d,pos:a/(l-1)});return s}_generate(){const t=this.min,e=this.max;let i=super.getDataTimestamps();return(!i.includes(t)||!i.length)&&i.splice(0,0,t),(!i.includes(e)||i.length===1)&&i.push(e),i.sort((r,s)=>r-s)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return e.length&&i.length?t=this.normalize(e.concat(i)):t=e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(Ya(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return Ya(this._table,i*this._tableRange+this._minPos,!0)}}var kA=Object.freeze({__proto__:null,CategoryScale:nA,LinearScale:rA,LogarithmicScale:aA,RadialLinearScale:wA,TimeScale:Du,TimeSeriesScale:MA});const DA=[DD,rO,QO,kA];function CA(n){const e=`barChartTooltipPosition-${n.tooltipState.chartID}`,i={enabled:!1,position:e,callbacks:{label:u=>({label:u.dataset.label,value:u.label})}};$e.positioners[e]=function(u,d){if(!u.length||n.tooltipState.interactionMode==="interactive"||d.x===null||d.y===null)return!1;const h=this.chart.canvas.getBoundingClientRect(),g=n.tooltipState.width||this.width,y=h.width/2,_=Xa(d,g,y),x=d.y,v=d.x<y?"left":"center";return{x:_-n.tooltipState.offsetX,y:x-n.tooltipState.offsetY,xAlign:v}},pu.modes.customInteractionMode=function(u,d){const h=Ai(d,u),g=[];return pu.evaluateInteractionItems(u,u.options.indexAxis||"x",h,(y,_,x)=>{u.options.indexAxis==="y"&&y.inYRange(h.y,!0)&&u.data.datasets[_].data[x]&&g.push({element:y,datasetIndex:_,index:x}),u.options.indexAxis==="x"&&h.x!==null&&y.inXRange(h.x,!0)&&u.data.datasets[_].data[x]&&g.push({element:y,datasetIndex:_,index:x})}),g};const r=n.numLabels.value>25?ey:ny,s=({chart:u,index:d})=>{const h=u.data;return{size:r,style:h?.isLabelEmpty?.[d]?"italic":"normal"}},a=(u,d,h)=>u.chart.options.indexAxis===u.axis?(d=u.getLabelForValue(h),d&&d.length>Za?d.slice(0,Za)+"...":d):u.getLabelForValue(Number(d)),l=p.computed(()=>({indexAxis:n.indexAxis,skipNull:!0,scales:{x:{stacked:n.stacked.value,grid:{offset:!1,drawOnChartArea:!1,drawBorder:!1,drawTicks:!0},ticks:{maxRotation:90,autoSkip:!1,font:s,callback:function(u,d){return a(this,u,d)}},title:{display:n.indexAxis==="y"?!xt(n.metricAxesTitle?.value):!xt(n.dimensionAxesTitle?.value),text:n.indexAxis==="y"?n.metricAxesTitle?.value:n.dimensionAxesTitle?.value,padding:{top:3,bottom:0,left:0,right:0},font:{weight:"bold"}}},y:{stacked:n.stacked.value,beginAtZero:!0,grid:{offset:!1,drawOnChartArea:!1,drawBorder:!1,drawTicks:!0},ticks:{padding:0,font:s,callback:function(u,d){return a(this,u,d)}},title:{display:n.indexAxis==="x"?!xt(n.metricAxesTitle?.value):!xt(n.dimensionAxesTitle?.value),text:n.indexAxis==="x"?n.metricAxesTitle?.value:n.dimensionAxesTitle?.value,padding:{bottom:3,top:0,left:0,right:0},font:{weight:"bold"}}}},plugins:{htmlLegend:{containerID:n.legendID},legend:{display:!1},tooltip:{...i,external:u=>{Qm(n.tooltipState,u)}}},interaction:{mode:"customInteractionMode",intersect:!0},maxBarThickness:60,maintainAspectRatio:!1,layout:{padding:{left:0,right:0,top:0,bottom:0}}}));return p.getCurrentInstance()&&p.onUnmounted(()=>{$e.positioners[e]&&delete $e.positioners[e]}),l}rn.register(...DA);const OA=(n,t)=>{const e=t.datasets.map(r=>r.label),i=n.datasets.map(r=>r.label);return n.datasets.length===t.datasets.length&&e.every((r,s)=>r===i[s])};function AA(n,t,e,i,r){const s=p.shallowRef(null),a=(l,u)=>{if(t.value)return new rn(t.value,{type:n,data:l,plugins:i,options:u})};return p.onMounted(()=>{s.value=a(e.value,r.value)}),p.onBeforeUnmount(()=>{xt(s.value)||s.value.destroy()}),p.watch(e,(l,u)=>{if(OA(u,l)&&!xt(s.value)){for(const[d,h]of l.datasets.entries())Object.assign(s.value.data.datasets[d],h);s.value.data.labels=l.labels,s.value.update()}else xt(s.value)||s.value.destroy(),s.value=a(l,r.value)}),p.watch(t,()=>{xt(s.value)||s.value.destroy(),s.value=a(e.value,r.value)}),p.watch(r,(l,u)=>{(l.indexAxis!==u.indexAxis||JSON.stringify(l.scales.x.title)!==JSON.stringify(u.scales.x.title)||JSON.stringify(l.scales.y.title)!==JSON.stringify(u.scales.y.title))&&(xt(s.value)||s.value.destroy(),s.value=a(e.value,l))}),s}const Wm=1e3,RA=1e4,Vm=1e6,$m=1e9,Ym=1e12,ao=(n,t)=>{if(t.separator===!1||n<1e3)return n.toString();const e=typeof t.separator=="string"?t.separator:",",i=[];return Math.round(n).toString().split("").reverse().forEach((s,a)=>{a&&a%3===0&&i.push(e),i.push(s)}),i.reverse().join("")},qr=(n,t,e)=>{const i=n/t,r=e.round?"round":"floor";if(e.decimal===!1)return Math[r](i).toString();let s;e.precision?s=i:s=i<10?Math[r](i*10)/10:Math[r](i);let a=s.toString();return typeof e.decimal=="string"&&(a=a.replace(".",e.decimal)),a};function lo(n,t={}){let e;const i=n<0;i&&(n=Math.abs(n)),t.precision&&(n=parseFloat(n.toPrecision(t.precision)));const r=t.min10k?RA:Wm;return n<r||t.precision&&t.precision>Math.log10(n)?e=ao(qr(n,1,t),t):n<Vm?e=`${qr(n,Wm,t)}k`:n<$m?e=`${qr(n,Vm,t)}m`:n<Ym?e=`${ao(qr(n,$m,t),t)}b`:e=`${ao(qr(n,Ym,t),t)}t`,i&&(e=`-${e}`),t.capital&&(e=e.toUpperCase()),t.prefix&&(e=`${t.prefix}${e}`),t.suffix&&(e=`${e}${t.suffix}`),e}lo.addCommas=ao;function EA(n,t,e){const{i18n:i}=kt.useI18n(),{formatBytes:r}=er({i18n:i}),{translateUnit:s}=kt.useTranslatedUnits();return{legendValues:p.computed(()=>n.value.datasets.reduce((l,u)=>{const d=u.total?u.total:u.data.reduce((g,y)=>g+(typeof y=="number"?Number(y)||0:Number(y&&y.y)||0),0);let h;if(e.value==="bytes")h=r(d);else{const g=s(e.value,d);h=i&&i.t("legend.datapointValueDisplay",{value:lo(d,{capital:!0}),unit:g})||`${lo(d,{capital:!0})} ${e.value}`}return{...l,[u.label]:{raw:d,formatted:h,isThreshold:u.isThreshold}}},{}))}}function PA(n){return p.computed(()=>{if(!n.value?.meta)return"";const e=n.value.meta.start,i=n.value.meta.end;return e&&i?`${Lh(new Date(e))} - ${Lh(new Date(i),{includeTZ:!0})}`:""})}function IA(n){const e=`donutChartTooltipPosition-${n.tooltipState.chartID}`,i={enabled:!1,position:e,callbacks:{label:s=>({label:s.dataset.label,value:s.label})}};$e.positioners[e]=function(s,a){if(!s.length||a.x===null||a.y===null)return!1;const l=this.chart.canvas.getBoundingClientRect(),u=n.tooltipState.width||this.width,d=l.width/2,h=Xa(a,u,d),g=a.y,y=a.x<d?"left":"center";return{x:h-n.tooltipState.offsetX,y:g,xAlign:y}};const r=p.computed(()=>({cutout:"65%",responsive:!0,maintainAspectRatio:!1,plugins:{htmlLegend:{containerID:n.legendID},legend:{display:!1},tooltip:{...i,external:s=>{Qm(n.tooltipState,s)}}},layout:{padding:{left:0,right:0,top:5,bottom:0}}}));return p.onUnmounted(()=>{$e.positioners[e]&&delete $e.positioners[e]}),{options:r}}function LA(n){const t=p.computed(()=>({type:"timeseries",display:!0,grid:{display:!0,drawOnChartArea:!1,drawTicks:!0,drawBorder:!1},ticks:{padding:0,autoSkipPadding:100,source:"auto",maxRotation:0,callback:u=>{const d=new Date(u);return xy({tickValue:d,granularity:n.granularity.value,dayBoundaryCrossed:a.value})}},title:{display:!xt(n.dimensionAxesTitle?.value),text:n.dimensionAxesTitle?.value,padding:{top:3},font:{weight:"bold"}},border:{display:!1},stacked:n.stacked.value})),e=p.computed(()=>({title:{display:!xt(n.metricAxesTitle?.value),text:n.metricAxesTitle?.value,padding:{bottom:3},font:{weight:"bold"}},ticks:{maxTicksLimit:5},grid:{drawBorder:!1},id:"main-y-axis",beginAtZero:!0,border:{display:!1},stacked:n.stacked.value})),r=`lineChartTooltipPosition-${n.tooltipState.chartID}`,s={enabled:!1,position:r};$e.positioners[r]=function(u,d){if(!u.length||n.tooltipState.interactionMode==="interactive"||d.x===null||d.y===null)return!1;const h=this.chart.canvas.getBoundingClientRect(),g=n.tooltipState.width||this.width,y=n.tooltipState.height||this.height,_=h.width/2,x=h.height/2,v=Xa(d,g,_);let M=Jm(d,y,x);const C=d.y<x?"top":"bottom",R=d.x<_?"left":"center";return y>h.height&&(M=0),{x:v,y:M,xAlign:R,yAlign:C}};const a=p.computed(()=>{const u=Number(n.timeRangeMs.value),d=new Date,h=new Date(d.getTime()-u);return _p(u)>24||h.getDate()!==d.getDate()}),l=p.computed(()=>({hover:{mode:"index",intersect:!1},elements:{point:{radius:n.pointsWithoutHover?.value?3:0,hitRadius:4,hoverRadius:4}},animation:{duration:250,easing:"linear"},scales:{x:t.value,y:e.value},responsive:!0,maintainAspectRatio:!1,plugins:{htmlLegend:{containerID:n.legendID},legend:{display:!1},streaming:!1,tooltip:{...s,external:u=>{Cu(n.tooltipState,u,n.granularity.value)}},thresholdPlugin:{threshold:n.threshold?.value}},interaction:{mode:"index",intersect:!1},layout:{padding:{left:0,right:0,top:0,bottom:0}}}));return p.onUnmounted(()=>{$e.positioners[r]&&delete $e.positioners[r]}),{options:l}}function NA(n){const t=p.computed(()=>{const l=Number(n.timeRangeMs.value),u=new Date,d=new Date(u.getTime()-l);return _p(l)>24||d.getDate()!==u.getDate()}),e=p.computed(()=>({type:"time",display:!0,grid:{display:!0,drawOnChartArea:!1,drawTicks:!0,drawBorder:!1},ticks:{padding:0,autoSkipPadding:100,source:"auto",maxRotation:0,callback:l=>xy({tickValue:new Date(l),granularity:n.granularity.value,dayBoundaryCrossed:t.value})},title:{display:!xt(n.dimensionAxesTitle?.value),text:n.dimensionAxesTitle?.value,padding:{top:3},font:{weight:"bold"}},border:{display:!1}})),i=p.computed(()=>({title:{display:!xt(n.metricAxesTitle?.value),text:n.metricAxesTitle?.value,padding:{bottom:3},font:{weight:"bold"}},ticks:{maxTicksLimit:5},grid:{drawBorder:!1},id:"main-y-axis",beginAtZero:!0,border:{display:!1}})),s=`scatterChartTooltipPosition-${n.tooltipState.chartID}`;$e.positioners[s]=function(l,u){if(!l.length||n.tooltipState.interactionMode==="interactive"||u.x===null||u.y===null)return!1;const d=this.chart.canvas.getBoundingClientRect(),h=n.tooltipState.width||this.width,g=n.tooltipState.height||this.height,y=d.width/2,_=d.height/2,x=Xa(u,h,y);let v=Jm(u,g,_);const M=u.y<_?"top":"bottom",C=u.x<y?"left":"center";return g>d.height&&(v=0),{x,y:v,xAlign:C,yAlign:M}};const a=p.computed(()=>({hover:{mode:"nearest",intersect:!1},interaction:{mode:"nearest",intersect:!1},animation:{duration:250,easing:"linear"},scales:{x:e.value,y:i.value},responsive:!0,maintainAspectRatio:!1,plugins:{htmlLegend:{containerID:n.legendID},legend:{display:!1},streaming:!1,tooltip:{enabled:!1,position:s,external:l=>{Cu(n.tooltipState,l,n.granularity.value)}},outlierBandPlugin:{value:n.outlierValue?.value,color:n.themeColors.value.outlierBand}},layout:{padding:{left:0,right:0,top:0,bottom:0}}}));return p.onUnmounted(()=>{$e.positioners[s]&&delete $e.positioners[s]}),{options:a}}function BA(n){const{isMultiMetric:t,hasDimensions:e,metricNames:i,barSegmentLabels:r,pivotRecords:s,rowLabels:a,colorPalette:l}=n,{i18n:u}=kt.useI18n();return t?i.map(h=>({label:u&&u.te(`chartLabels.${h}`)&&u.t(`chartLabels.${h}`)||h,backgroundColor:Au(i.indexOf(h),ai),data:a.map((g,y)=>e?s[`${g.id},${h}`]||0:s[`${y},${h}`]||null)})):Array.from(r).flatMap((h,g)=>{if(!h)return[];const y=Ru(g,h.name,h.id==="empty",l);return{label:u&&u.te(`chartLabels.${h.name}`)&&u.t(`chartLabels.${h.name}`)||h.name,backgroundColor:y,data:a.map(_=>s[`${_.id},${h.id}`]||null),isSegmentEmpty:h.id==="empty"}})}function FA(n,t){const{i18n:e}=kt.useI18n();return p.computed(()=>{try{if(t.value&&"meta"in t.value&&"data"in t.value){const r=t.value.data,{display:s,metric_names:a}=t.value.meta,l=s&&Object.keys(s),u=a&&a.length>1,d=s&&l&&l.length>0,h=d&&l.length>1;if(!r.length||!a)return{datasets:[],labels:[]};const g=d&&l||a,y=g[0],_=g.length>1?g[1]:g[0],x=Object.fromEntries(u?r.flatMap(S=>a.map((O,U)=>{const $=S.event[y],it=d?`${$},${O}`:`${U},${O}`,at=S.event[O];return[it,at]})):r.map(S=>{const O=d?`${S.event[y]},${S.event[_]}`:`${y},${_}`,U=S.event[a[0]];return[O,U]})),v=Object.keys(x).reduce((S,O)=>{const[U]=O.split(","),$=x[O];return S[U]?S[U]+=$:S[U]=$,S},{}),M=Object.entries(v).sort(([,S],[,O])=>Number(O)-Number(S)).map(([S])=>S),C=s[y],R=s[_];let F=d&&C&&Object.entries(C).map(([S,O])=>({id:S,name:O.name}))||a.map(S=>({id:S,name:S})),I=d&&R&&Object.entries(R).map(([S,O])=>({id:S,name:O.name}))||a.map(S=>({id:S,name:S}));if(d&&y==="country_code"&&(F=F.map(S=>({...S,name:kc(S.id)||S.name}))),d&&_==="country_code"&&(I=I.map(S=>({...S,name:kc(S.id)||S.name}))),y!=="status_code"&&y!=="status_code_grouped"&&(F.sort((S,O)=>M.indexOf(S.id)-M.indexOf(O.id)),I.sort((S,O)=>M.indexOf(S.id)-M.indexOf(O.id))),!F||!I)return{labels:[],datasets:[]};const L=BA({isMultiMetric:u,hasDimensions:d,metricNames:a,dimensionFieldNames:g,barSegmentLabels:I,pivotRecords:x,rowLabels:F,colorPalette:n.colorPalette||ai}),N=d?F.map(S=>e&&e.te(`chartLabels.${S.name}`)&&e.t(`chartLabels.${S.name}`)||S.name):a.map(S=>e&&e.te(`chartLabels.${S}`)&&e.t(`chartLabels.${S}`)||S),B=F.map(S=>S.id==="empty");return{labels:N,datasets:L,isLabelEmpty:B,isMultiDimension:h}}}catch(r){return console.error(r),{datasets:[],labels:[]}}return{labels:[],datasets:[]}})}const zA=(n,t,e=1)=>Array(Math.ceil((t-n)/e)).fill(n).map((i,r)=>i+r*e),UA=n=>{if(typeof n=="string"){const t=+n;if(t)return t;try{return bp(n).getTime()}catch(e){if(e instanceof RangeError)return 0;throw e}}return n},HA=(n,t,e,i,r)=>{const a=Math.max(t-6e4,Math.max(...(r||[]).map(d=>new Date(d.timestamp).valueOf()))),l=Math.floor((n-i)/e)*e+i,u=Math.floor((a-i)/e)*e+i+e;return zA(l,u,e)};function WA(n,t){const{i18n:e}=kt.useI18n();return p.computed(()=>{try{if(t.value&&"meta"in t.value&&"data"in t.value){const r=t.value.data,{display:s,metric_names:a,start:l,end:u}=t.value.meta,d=new Date(l).getTime(),h=new Date(u).getTime();if(!a)return console.error("Cannot build chart data from this explore result. Missing metric names."),{datasets:[]};const g=s&&Object.keys(s)||a,y=g&&g[0],_=s[y];let x=s&&_&&Object.keys(_).map(N=>({id:N,name:_[N].name}))||a.map(N=>({id:N,name:N}));y==="country_code"&&(x=x.map(N=>({...N,name:kc(N.id)||N.name})));const v=t.value.meta.granularity_ms;if(typeof v!="number"||isNaN(v)||!isFinite(v)||v===0)return console.error("Invalid step value:",v),{datasets:[],labels:[]};if(!r.length)return{datasets:[],labels:[]};const M=UA(d),C=HA(d,h,v,M,r),R=new Set,F=r?.length?r.reduce((N,B)=>{const T=new Date(B.timestamp).valueOf(),S=B.event;for(const O of a)R.add(O),T in N||(N[T]={}),O in N[T]||(N[T][O]={});for(const O of a)x.forEach(U=>{S[y]===U.id||O===U.id?(N[T][O]||(N[T][O]={}),N[T][O][U.id]=Math.round(Number(S[O])*1e3)/1e3):g.length||(N[T][O]||(N[T][O]={}),N[T][O][U.id]=Math.round(Number(S[U.id])*1e3)/1e3)});return N},{}):{},L=[...a.length===1?a.flatMap(N=>x.map(B=>[N,B.id,B.name,B.id==="empty"])):x.map(N=>[N.name,N.id,N.name,N.id==="empty"])].map(([N,B,T,S],O)=>{const U=C.map(ot=>ot in F&&N in F[ot]?{x:ot,y:F[ot][N][B]||0}:{x:ot,y:0});let{colorPalette:$,fill:it}=n;xt($)&&($=ai);const at=Ru(O,T,S,$);return{rawDimension:T,rawMetric:N,label:e&&e.te(`chartLabels.${T}`)&&e.t(`chartLabels.${T}`)||T,borderColor:at,backgroundColor:at,data:U,total:U.reduce((ot,{y:q})=>ot+Number(q),0),...CR,fill:it,borderWidth:it?AR:OR,isSegmentEmpty:S}});return y==="status_code"||y==="status_code_grouped"?L.sort((N,B)=>(N.label??"")<(B.label??"")?-1:1):L.sort((N,B)=>Number(N.total)<Number(B.total)?-1:1),{datasets:L}}}catch(r){return console.error(r),{labels:[],datasets:[]}}return{labels:[],datasets:[]}})}const VA=2,$A=.6,YA=1.5,qm=50,qA=[6,4],jA=[2,3],GA=n=>n?Math.random()*n:0;function KA(n,t){const{i18n:e}=kt.useI18n(),i=(r,s)=>s||(r===qm?e.t("scatter.median"):e.t("scatter.percentile",{value:r}));return p.computed(()=>{try{const r=t.value;if(!r?.points?.length)return{datasets:[]};const{metric:s,dimension:a,display:l,start:u,end:d}=r,h=n.scatter||{},g=h.jitterMs??0,y=h.pointRadius??VA,_=h.pointOpacity??$A,x=new Map,v=[];r.points.forEach(q=>{const J=q.group??s,rt=x.get(J)||[];rt.push({x:q.timestamp+GA(g),y:q.value}),x.set(J,rt),v.push(q.value)});const M=h.percentileLines||[],C=[...M.map(q=>q.percentile),...h.outlierPercentile!==void 0?[h.outlierPercentile]:[]],R=C.length?bE(v,C):new Map,F=h.outlierPercentile!==void 0?R.get(h.outlierPercentile):void 0,I=F!==void 0&&Number.isFinite(F),L=I?i(h.outlierPercentile):"",N=xt(n.colorPalette)?ai:n.colorPalette,B=n.themeColors?.value??Ja(),T=[],S=[],O=(q,J)=>{if(!I)return q;const rt=[];for(const tt of q){if(tt.y<=F){rt.push(tt);continue}S.push({...tt,tooltipLabel:e.t("scatter.outlierTooltip",{series:J,label:L})})}return rt};if(Array.from(x.entries()).forEach(([q,J],rt)=>{const tt=a&&l?.[q]?.name||q,G=q==="empty",P=Ru(rt,tt,G,N),W=e.te(`chartLabels.${tt}`)&&e.t(`chartLabels.${tt}`)||tt,j=O(J,W);T.push({type:"scatter",rawDimension:tt,rawMetric:s,label:W,borderColor:P,backgroundColor:qu(P,_),data:j,pointRadius:y,pointHoverRadius:y+2,pointBorderWidth:0,showLine:!1,isSegmentEmpty:G})}),I&&S.length){const q=B.outlier;T.push({type:"scatter",rawDimension:"outlier",rawMetric:s,label:e.t("scatter.outlier",{label:L}),borderColor:q,backgroundColor:q,data:S,pointRadius:y,pointHoverRadius:y+2,pointBorderWidth:0,showLine:!1})}const U=Array.from(x.values()).flat().map(q=>q.x),$=new Date(u).valueOf(),it=new Date(d).valueOf(),at=Number.isFinite($)?$:Math.min(...U),ot=Number.isFinite(it)?it:Math.max(...U);return M.forEach(q=>{const J=R.get(q.percentile);if(J===void 0||!Number.isFinite(J))return;const rt=q.percentile===qm,tt=q.color||(rt?B.medianLine:B.outlier);T.push({type:"line",rawDimension:`percentile-${q.percentile}`,rawMetric:s,label:i(q.percentile,q.label),data:[{x:at,y:J},{x:ot,y:J}],borderColor:tt,backgroundColor:tt,borderDash:q.borderDash||(rt?qA:jA),borderWidth:YA,pointRadius:0,pointHitRadius:0,fill:!1,total:J})}),{datasets:T,...I?{outlierValue:F}:{}}}catch(r){return console.warn(r),{datasets:[]}}})}const XA=(n,t)=>{p.watch([n,t],(e,i,r)=>{const[s,a]=e;!a||!window||(window._AnalyticsChartDataInternal||(window._AnalyticsChartDataInternal=new Map),window._AnalyticsChartDataInternal.set(a,s),r(()=>{window._AnalyticsChartDataInternal?.delete(a)}))},{immediate:!0})};function ZA(){const{i18n:n}=kt.useI18n();return{translateUnit:(e,i)=>{const r=i===1,s=`chartUnits.${e}`;return po(e)?"":n.te(s)?n.t(s,{plural:r?"":"s"}):e}}}const QA="analytics-query-provider",jm=2;function JA(){const n=p.inject(QA);return{evaluateFeatureFlag:(e,i)=>n?n.evaluateFeatureFlagFn(e,i):i}}function Gm(n,t){return p.getCurrentScope()?(p.onScopeDispose(n,t),!0):!1}const Km=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const tR=n=>n!=null,eR=Object.prototype.toString,nR=n=>eR.call(n)==="[object Object]";function qa(n){return Array.isArray(n)?n:[n]}function iR(n){return p.getCurrentInstance()}function rR(n,t={}){if(!p.isRef(n))return p.toRefs(n);const e=Array.isArray(n.value)?Array.from({length:n.value.length}):{};for(const i in n.value)e[i]=p.customRef(()=>({get(){return n.value[i]},set(r){var s;if(!((s=p.toValue(t.replaceRef))!==null&&s!==void 0)||s)if(Array.isArray(n.value)){const a=[...n.value];a[i]=r,n.value=a}else{const a={...n.value,[i]:r};Object.setPrototypeOf(a,Object.getPrototypeOf(n.value)),n.value=a}else n.value[i]=r}}));return e}function sR(n,t=!0,e){iR()?p.onMounted(n,e):t?n():p.nextTick(n)}function oR(n,t,e){return p.watch(n,t,{...e,immediate:!0})}const ja=Km?window:void 0;function jr(n){var t;const e=p.toValue(n);return(t=e?.$el)!==null&&t!==void 0?t:e}function co(...n){const t=(i,r,s,a)=>(i.addEventListener(r,s,a),()=>i.removeEventListener(r,s,a)),e=p.computed(()=>{const i=qa(p.toValue(n[0])).filter(r=>r!=null);return i.every(r=>typeof r!="string")?i:void 0});return oR(()=>{var i,r;return[(i=(r=e.value)===null||r===void 0?void 0:r.map(s=>jr(s)))!==null&&i!==void 0?i:[ja].filter(s=>s!=null),qa(p.toValue(e.value?n[1]:n[0])),qa(p.unref(e.value?n[2]:n[1])),p.toValue(e.value?n[3]:n[2])]},([i,r,s,a],l,u)=>{if(!i?.length||!r?.length||!s?.length)return;const d=nR(a)?{...a}:a,h=i.flatMap(g=>r.flatMap(y=>s.map(_=>t(g,y,_,d))));u(()=>{h.forEach(g=>g())})},{flush:"post"})}function aR(){const n=p.shallowRef(!1),t=p.getCurrentInstance();return t&&p.onMounted(()=>{n.value=!0},t),n}function Xm(n){const t=aR();return p.computed(()=>(t.value,!!n()))}function lR(n,t,e={}){const{window:i=ja,...r}=e;let s;const a=Xm(()=>i&&"MutationObserver"in i),l=()=>{s&&(s.disconnect(),s=void 0)},u=p.watch(p.computed(()=>{const g=qa(p.toValue(n)).map(jr).filter(tR);return new Set(g)}),g=>{l(),a.value&&g.size&&(s=new MutationObserver(t),g.forEach(y=>s.observe(y,r)))},{immediate:!0,flush:"post"}),d=()=>s?.takeRecords(),h=()=>{u(),l()};return Gm(h),{isSupported:a,stop:h,takeRecords:d}}const Ga={speed:2,margin:30,direction:"both"};function cR(n){n.scrollLeft>n.scrollWidth-n.clientWidth&&(n.scrollLeft=Math.max(0,n.scrollWidth-n.clientWidth)),n.scrollTop>n.scrollHeight-n.clientHeight&&(n.scrollTop=Math.max(0,n.scrollHeight-n.clientHeight))}function uR(n,t={}){var e,i,r,s;const{pointerTypes:a,preventDefault:l,stopPropagation:u,exact:d,onMove:h,onEnd:g,onStart:y,initialValue:_,axis:x="both",draggingElement:v=ja,containerElement:M,handle:C=n,buttons:R=[0],restrictInView:F,autoScroll:I=!1}=t,L=p.ref((e=p.toValue(_))!==null&&e!==void 0?e:{x:0,y:0}),N=p.ref(),B=P=>a?a.includes(P.pointerType):!0,T=P=>{p.toValue(l)&&P.preventDefault(),p.toValue(u)&&P.stopPropagation()},S=p.toValue(I),O=typeof S=="object"?{speed:(i=p.toValue(S.speed))!==null&&i!==void 0?i:Ga.speed,margin:(r=p.toValue(S.margin))!==null&&r!==void 0?r:Ga.margin,direction:(s=S.direction)!==null&&s!==void 0?s:Ga.direction}:Ga,U=P=>typeof P=="number"?[P,P]:[P.x,P.y],$=(P,W,j)=>{const{clientWidth:pt,clientHeight:lt,scrollLeft:et,scrollTop:ht,scrollWidth:ft,scrollHeight:ct}=P,[mt,ut]=U(O.margin),[Lt,zt]=U(O.speed);let vt=0,Ct=0;(O.direction==="x"||O.direction==="both")&&(j.x<mt&&et>0?vt=-Lt:j.x+W.width>pt-mt&&et<ft-pt&&(vt=Lt)),(O.direction==="y"||O.direction==="both")&&(j.y<ut&&ht>0?Ct=-zt:j.y+W.height>lt-ut&&ht<ct-lt&&(Ct=zt)),(vt||Ct)&&P.scrollBy({left:vt,top:Ct,behavior:"auto"})};let it=null;const at=()=>{const P=p.toValue(M);P&&!it&&(it=setInterval(()=>{const W=p.toValue(n).getBoundingClientRect(),{x:j,y:pt}=L.value,lt={x:j-P.scrollLeft,y:pt-P.scrollTop};lt.x>=0&<.y>=0&&($(P,W,lt),lt.x+=P.scrollLeft,lt.y+=P.scrollTop,L.value=lt)},1e3/60))},ot=()=>{it&&(clearInterval(it),it=null)},q=(P,W,j,pt)=>{const[lt,et]=typeof j=="number"?[j,j]:[j.x,j.y],{clientWidth:ht,clientHeight:ft}=W;return P.x<lt||P.x+pt.width>ht-lt||P.y<et||P.y+pt.height>ft-et},J=()=>{if(p.toValue(t.disabled)||!N.value)return;const P=p.toValue(M);if(!P)return;const W=p.toValue(n).getBoundingClientRect(),{x:j,y:pt}=L.value,lt={x:j-P.scrollLeft,y:pt-P.scrollTop};q(lt,P,O.margin,W)?at():ot()};p.toValue(I)&&p.watch(L,J);const rt=P=>{var W;if(!p.toValue(R).includes(P.button)||p.toValue(t.disabled)||!B(P)||p.toValue(d)&&P.target!==p.toValue(n))return;const j=p.toValue(M),pt=j==null||(W=j.getBoundingClientRect)===null||W===void 0?void 0:W.call(j),lt=p.toValue(n).getBoundingClientRect(),et={x:P.clientX-(j?lt.left-pt.left+(I?0:j.scrollLeft):lt.left),y:P.clientY-(j?lt.top-pt.top+(I?0:j.scrollTop):lt.top)};y?.(et,P)!==!1&&(N.value=et,T(P))},tt=P=>{if(p.toValue(t.disabled)||!B(P)||!N.value)return;const W=p.toValue(M);W instanceof HTMLElement&&cR(W);const j=p.toValue(n).getBoundingClientRect();let{x:pt,y:lt}=L.value;if((x==="x"||x==="both")&&(pt=P.clientX-N.value.x,W&&(pt=Math.min(Math.max(0,pt),W.scrollWidth-j.width))),(x==="y"||x==="both")&&(lt=P.clientY-N.value.y,W&&(lt=Math.min(Math.max(0,lt),W.scrollHeight-j.height))),p.toValue(I)&&W&&(it===null&&$(W,j,{x:pt,y:lt}),pt+=W.scrollLeft,lt+=W.scrollTop),W&&(F||I)){if(x!=="y"){const et=pt-W.scrollLeft;et<0?pt=W.scrollLeft:et>W.clientWidth-j.width&&(pt=W.clientWidth-j.width+W.scrollLeft)}if(x!=="x"){const et=lt-W.scrollTop;et<0?lt=W.scrollTop:et>W.clientHeight-j.height&&(lt=W.clientHeight-j.height+W.scrollTop)}}L.value={x:pt,y:lt},h?.(L.value,P),T(P)},G=P=>{p.toValue(t.disabled)||!B(P)||N.value&&(N.value=void 0,I&&ot(),g?.(L.value,P),T(P))};if(Km){const P=()=>{var W;return{capture:(W=t.capture)!==null&&W!==void 0?W:!0,passive:!p.toValue(l)}};co(C,"pointerdown",rt,P),co(v,"pointermove",tt,P),co(v,["pointerup","pointercancel"],G,P)}return{...rR(L),position:L,isDragging:p.computed(()=>!!N.value),style:p.computed(()=>`
|
|
4
4
|
left: ${L.value.x}px;
|