diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..41443795 --- /dev/null +++ b/404.html @@ -0,0 +1,2939 @@ + + + + + + + + + + + + + + + + + + + Lyrion Music Server + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ +

404 - Not found

+ +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..e1f56487 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +lyrion.org diff --git a/analytics/index.html b/analytics/index.html new file mode 100644 index 00000000..e5cc1127 --- /dev/null +++ b/analytics/index.html @@ -0,0 +1,3224 @@ + + + + + + + + + + + + + + + + + + + + + Some numbers about LMS Installations - Lyrion Music Server + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + +

Some numbers about LMS Installations

+ + + +

Lyrion Music Server encourages users to share their usage data with the LMS community. It is used to steer and influence Lyrion Music Server development priorities. The plugin responsible for the data collection is part of LMS since version 8.5.1.

+

Learn more about how this data is gathered

+

{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "title": "Number of LMS installations", + "description": "Time series chart of LMS installations by version", + "data": { + "url": "/analytics/stats.json", + "format": {"property": "versions"} + }, + "encoding": { + "x": {"field": "d", "type": "temporal", "title": "Date", "timeUnit": "yearmonthdate"}, + "y": {"field": "c", "type": "quantitative", "title": "Installations"}, + "color": {"field": "v", "type": "nominal", "title": "Version"} + }, + "layer": [ + { + "mark": { + "type": "line", + "point": { + "filled": true, + "size": 15 + } + } + }, + { + "params": [{ + "name": "hover", + "select": {"type": "point", "on": "pointerover", "clear": "pointerout"} + }], + "mark": {"type": "circle", "tooltip": true}, + "encoding": { + "opacity": { + "condition": {"test": {"param": "hover", "empty": false}, "value": 1}, + "value": 0 + }, + "size": { + "condition": {"test": {"param": "hover", "empty": false}, "value": 48}, + "value": 100 + } + } + }] +}

+

{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "title": "Number of connected players", + "description": "Time series chart of number of connected players", + "data": { + "url": "/analytics/stats.json", + "format": {"property": "players"} + }, + "encoding": { + "x": {"field": "d", "type": "temporal", "title": "Date", "timeUnit": "yearmonthdate"}, + "y": {"field": "p", "type": "quantitative", "title": "Connected Players"} + }, + "layer": [ + { + "mark": { + "type": "line", + "point": { + "filled": true, + "size": 15 + } + } + }, + { + "params": [{ + "name": "hover", + "select": {"type": "point", "on": "pointerover", "clear": "pointerout"} + }], + "mark": {"type": "circle", "tooltip": true}, + "encoding": { + "opacity": { + "condition": {"test": {"param": "hover", "empty": false}, "value": 1}, + "value": 0 + }, + "size": { + "condition": {"test": {"param": "hover", "empty": false}, "value": 48}, + "value": 100 + } + } + }] +}

+

{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "title": "Connected players per LMS installation", + "description": "Histogram which shows how many players are connected per LMS installation", + "data": { + "url": "/analytics/stats.json", + "format": { + "property": "connectedPlayers", + "parse": { + "p": "number" + } + } + }, + "mark": {"type": "bar", "tooltip": true}, + "encoding": { + "x": { + "field": "p", + "type": "ordinal", + "title": "Connected players per installation" + }, + "y": {"field": "c", "type": "quantitative", "title": "Count of installations"} + } +}

+

{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "title": "Number of tracks in library", + "description": "Histogram which shows how many tracks (about) are in a LMS installation", + "data": { + "url": "/analytics/stats.json", + "format": {"property": "tracks"} + }, + "mark": {"type": "bar", "tooltip": true}, + "transform": [ + { + "lookup": "t", + "from": { + "key": "t", + "fields": ["l"], + "data": { + "values": [ + { "t": "0", "l": "0" }, + { "t": "1", "l": "1-500" }, + { "t": "500", "l": "501-1,000" }, + { "t": "1000", "l": "1,001-5,000" }, + { "t": "5000", "l": "5,001-10,000" }, + { "t": "10000", "l": "10,001-20,000" }, + { "t": "20000", "l": "20,001-50,000" }, + { "t": "50000", "l": "50,001-100,000" }, + { "t": "100000", "l": "100,001-500,000" }, + { "t": "500000", "l": "500,001-1,000,000" }, + { "t": "1000000", "l": ">1,000,001" } + ] + } + } + } + ], + "encoding": { + "y": { + "field": "l", + "type": "ordinal", + "title": "Tracks in Library", + "sort": ["0","1","500","1000","5000","10000","20000","50000","100000","500000","1000000"] + }, + "x": {"field": "c", "type": "quantitative", "title": "Count of installations"} + } +}

+

{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "width": "container", + "height": 420, + "title": "Player types", + "description": "Pie chart with player types", + "data": { + "url": "/analytics/stats.json", + "format": {"property": "playerTypes"} + }, + "mark": {"type": "arc", "tooltip": true}, + "encoding": { + "theta": {"field": "c", "type": "quantitative", "stack": "normalize", "title": "Percentage"}, + "color": {"field": "p", "type": "nominal", "title": "Player type", "sort": "c"}, + "order": {"field": "c", "type": "quantitative", "sort": "descending", "title": "Count"} + } +}

+

{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "width": "container", + "height": 420, + "title": "Operating systems and architectures", + "description": "Pie chart with operating systems and architectures", + "data": { + "url": "/analytics/stats.json", + "format": {"property": "os"} + }, + "mark": {"type": "arc", "tooltip": true}, + "encoding": { + "theta": {"field": "c", "type": "quantitative", "stack": "normalize", "title": "Percentage"}, + "color": {"field": "o", "type": "nominal", "title": "Operating System", "sort": "c"}, + "order": {"field": "c", "type": "quantitative", "sort": "descending", "title": "Count"} + } +}

+

{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "width": "container", + "height": 450, + "title": "LMS installations worldwide", + "description": "Map of LMS installations worldwide", + "data": { + "url": "/analytics/world_map.json", + "format": {"property": "features"} + }, + "projection": {"type": "naturalEarth1"}, + "transform": [ + { + "lookup": "properties.iso_a2_eh", + "from": { + "key": "c", + "fields": ["i"], + "data": { + "url": "/analytics/stats.json", + "format": {"property": "countries"} + } + } + } + ], + "mark": { + "type": "geoshape", + "stroke": "#141010", + "strokeWidth": 0.5 + }, + "encoding": { + "color": { + "field": "i", + "type": "quantitative", + "scale": {"scheme": "greens"}, + "title": "Installations" + }, + "tooltip": [ + {"field": "properties.name", "title": "Country"}, + { + "field": "i", + "type": "quantitative", + "title": "Installations" + } + ] + }, + "config": {"mark": {"invalid": null}} +}

+ + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/analytics/learn-more/index.html b/analytics/learn-more/index.html new file mode 100644 index 00000000..03579b36 --- /dev/null +++ b/analytics/learn-more/index.html @@ -0,0 +1,3045 @@ + + + + + + + + + + + + + + + + + + + + + Learn more about how this data is gathered - Lyrion Music Server + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + +

Learn more about how this data is gathered

+

Bundled in LMS versions 8.5.1 and later is the "Report Analytics Data" plugin. This plugin doesn't collect personal data. It can be disabled like any plugin, but users are encouraged to keep it enabled. Reports will be sent a few minutes after the system start, and then once a week. The analytics data is sent to stats.lms-community.org, for which the code is maintained on Github.

+

The following data is gathered:

+
    +
  • Hashed UUID of server
  • +
  • LMS version and revision
  • +
  • Operating System
  • +
  • Perl version
  • +
  • Hardware platform
  • +
  • Number and types of connected players
  • +
  • List of installed plugins
  • +
  • Selected skin
  • +
  • Number of tracks
  • +
  • Country (a lookup is done based on the IP address of the LMS-server which is then discarded)
  • +
+

You can enable debug logging for plugin.analytics to see what is being reported:

+
Slim::Plugin::Analytics::Plugin::_reportStats (53) nIj.............YhF8: {
+  os          => "linux",
+  osname      => "Debian (Docker)",
+  perl        => "5.32.1",
+  platform    => "x86_64-linux",
+  playerTypes => { baby => 1, fab4 => 1, receiver => 1 },
+  players     => 3,
+  plugins     => [
+                   "1001Albums",
+                   "AudioScrobbler",
+                   "Bandcamp",
+                   .........
+                   "TIDAL",
+                   "ViewTags",
+                 ],
+  revision    => "1712965357",
+  skin        => "Default",
+  tracks      => 441,
+  version     => "9.0.0",
+}
+
+

How to disable the data collection

+

If you want to disable the data collection you can inactivate the plugin "Report Analytics Data" within LMS.

+
    +
  1. Launch your web browser (eg. Edge, Firefox) and type: http://[ip address of LMS server]:9000. Then, press Enter.
  2. +
  3. Go to "Settings" (on the bottom right of the page).
  4. +
  5. Go to the "Manage plugins" tab.
  6. +
  7. Search for the "Report Analytics Data" plugin and deselect the checkbox in front of it.
  8. +
  9. Press Apply (on the bottom right).
  10. +
  11. You will be prompted to reboot LMS, after restart the data collection has been disabled.
  12. +
+ + + + + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/analytics/stats.json b/analytics/stats.json new file mode 100644 index 00000000..8dba4d44 --- /dev/null +++ b/analytics/stats.json @@ -0,0 +1 @@ +{"playerTypes":[{"c":18117,"p":"Squeezelite"},{"c":16261,"p":"Daphile"},{"p":"Squeezebox Radio","c":14476},{"p":"UPnPBridge","c":7595},{"p":"RaopBridge","c":5754},{"c":5402,"p":"CastBridge"},{"c":5253,"p":"Squeezebox Touch"},{"p":"Squeezebox Boom","c":3001},{"c":1817,"p":"Squeezebox Receiver"},{"p":"Squeezebox 2/3/Classic","c":1569},{"c":1560,"p":"SqueezeLite-pCP"},{"c":1241,"p":"SqueezePlay"},{"p":"Squeezelite-X","c":1109},{"c":975,"p":"SqueezeESP32"},{"c":852,"p":"MusicServer4(Home|Loxone)"},{"c":477,"p":"SqueezePlayer"},{"p":"Transporter","c":451},{"p":"Unknown","c":426},{"p":"SB Player","c":332},{"p":"HiFiBerry","c":285},{"p":"Web Client","c":270},{"p":"SqueezeLite-HA-Addon","c":224},{"p":"SqueezePad","c":196},{"p":"SqueezeLiteBT","c":182},{"c":162,"p":"Squeezebox Controller"},{"c":142,"p":"Ropieee"},{"p":"Denon/Marantz AVR","c":88},{"p":"Squeezebox 1","c":60},{"p":"Softsqueeze","c":60},{"c":55,"p":"ZeroPlayer"},{"c":55,"p":"DMP-A6"},{"c":52,"p":"GentooPlayer"},{"c":49,"p":"SqueezeLiteBT-pCP"},{"p":"SqueezeLiteAndroid","c":39},{"p":"SqueezeLite-R2","c":37},{"c":36,"p":"OLADRA"},{"c":25,"p":"SliMP3"},{"c":22,"p":"AroioOS"},{"c":21,"p":"AVE"},{"c":17,"p":"Str@mbo"},{"c":17,"p":"Squeezeslave"},{"p":"Pure","c":16},{"p":"K50player","c":15},{"p":"OpenFrame","c":12},{"c":11,"p":"K22"},{"p":"HTTP","c":11},{"c":10,"p":"StylusEP"},{"c":10,"p":"SlimLibrary"},{"c":10,"p":"DMP-A8"},{"c":9,"p":"Z9X 8K"},{"c":9,"p":"RaspberryPi"},{"p":"Companion","c":9},{"c":8,"p":"HI-Player-SqueezeBox"},{"c":7,"p":"Kodi"},{"p":"iPeng iPhone","c":7},{"c":7,"p":"iPeng iPad"},{"p":"DaphileUpnPBridge","c":7},{"p":"SqueezeLiteTTS","c":6},{"c":6,"p":"K21"},{"p":"S30mini","c":5},{"c":5,"p":"M6 Encore"},{"c":5,"p":"LARA"},{"p":"EX","c":5},{"c":4,"p":"S40"},{"p":"LentusAudio I2S LVDS IAN-CANADA","c":4},{"c":4,"p":"Denon RHEOS"},{"p":"TPL-MR3020","c":3},{"c":3,"p":"K30player"},{"c":3,"p":"Borresen"},{"c":2,"p":"ZgotmplZ-UPnP/AV"},{"c":2,"p":"TPL-ArcherC7"},{"c":2,"p":"SqueezeWRT"},{"c":2,"p":"SqueezeLiteWin"},{"c":2,"p":"SqueezeDAC Edge"},{"p":"PiCorePlayer","c":2},{"p":"Pi Zero","c":2},{"p":"OrangePi Plus2E","c":2},{"p":"NQLaptop","c":2},{"c":2,"p":"Living Room"},{"p":"LinQ","c":2},{"p":"DX","c":2},{"p":"Couisine","c":2},{"c":2,"p":"Yulong"},{"p":"Topping","c":2},{"p":"Antipodes","c":2},{"c":1,"p":"Zen.local"},{"c":1,"p":"Z30 PRO"},{"p":"Woodbook","c":1},{"p":"Wohnen","c":1},{"p":"Wc","c":1},{"p":"USB","c":1},{"p":"UPnP/DLNA","c":1},{"p":"Ubuntu","c":1},{"p":"Terrsasse","c":1},{"p":"SWANplayer","c":1},{"c":1,"p":"Suptronics-x400v3"},{"c":1,"p":"Stereo [USB]"},{"c":1,"p":"SqzLiteTi48"},{"c":1,"p":"SqueezeLiteLivingRoom"},{"c":1,"p":"SqueezeLiteFedora"},{"c":1,"p":"SqueezeLiteAcer"},{"p":"SqueezeLite-Slaapkamer","c":1},{"p":"SQL_Spring3","c":1},{"c":1,"p":"SPIDF"},{"c":1,"p":"Sorcere"},{"c":1,"p":"Sonata"},{"p":"SMS-200-USB-Salon-UPnP/AV:|:8b866cf9-e19a-844a-eaea-025404025e79","c":1},{"p":"SMS-200-USB-Office-UPnP/AV:|:d0d9f9d4-d4b8-af4e-18b1-02cb0a01e57b","c":1},{"p":"Salon","c":1},{"c":1,"p":"S30"},{"c":1,"p":"Rpi0w_wm8960"},{"c":1,"p":"RPi-3B+"},{"p":"ROKSAN","c":1},{"c":1,"p":"Raspberry Pi4b Rev1.5 8GB"},{"p":"Raspberry Pi4b Rev1.5 4GB","c":1},{"p":"Radio","c":1},{"p":"Radagast-192k","c":1},{"c":1,"p":"Pond"},{"c":1,"p":"PlayerEX"},{"c":1,"p":"PiWoonkamer"},{"p":"Piano Room","c":1},{"p":"Pi4","c":1},{"p":"Pi2AES","c":1},{"c":1,"p":"Pi HiFi"},{"p":"Pi Boss","c":1},{"p":"PARKERplayer","c":1},{"p":"Output4","c":1},{"p":"Output3","c":1},{"c":1,"p":"Output2"},{"p":"Output1","c":1},{"p":"Oscar","c":1},{"p":"Okto-pi [OktoPi]","c":1},{"c":1,"p":"OFFICEplayer1"},{"p":"Nixbox","c":1},{"p":"Narbondel","c":1},{"c":1,"p":"MWieza"},{"p":"MusicSteamer [Living Room]","c":1},{"c":1,"p":"Musicat"},{"p":"MurraysK50G4","c":1},{"p":"Moto X4","c":1},{"p":"Moomusic","c":1},{"c":1,"p":"MLazienka"},{"p":"MKuchnia","c":1},{"p":"MINGUSplayer","c":1},{"c":1,"p":"MDzieci"},{"c":1,"p":"MDPokoj"},{"c":1,"p":"McIntosh"},{"p":"MCastWozi","c":1},{"c":1,"p":"MCastKitchen"},{"p":"Mateloos.local","c":1},{"p":"Marantz M-CR511:|:5f9ec1b3-ff59-19bb-8530-0006782f5a04","c":1},{"c":1,"p":"LucasAudioLabs_SPDIF"},{"c":1,"p":"LucasAudioLabs"},{"p":"Lounge","c":1},{"p":"Logitech UE Smart Radio","c":1},{"c":1,"p":"Living-room-pi [LivingRoomPi]"},{"p":"Living-room [slimproto]","c":1},{"c":1,"p":"Living"},{"p":"LampizatorJL","c":1},{"c":1,"p":"Lampizator"},{"p":"Kontor Pi","c":1},{"p":"Kitchen Stadium","c":1},{"p":"Kitchen HiFi","c":1},{"p":"Kitchen","c":1},{"p":"K50playerMARK","c":1},{"p":"K22Room4","c":1},{"p":"IPad (iPeng)","c":1},{"c":1,"p":"IMac"},{"p":"Hi-Fi Way","c":1},{"c":1,"p":"HeadSqueezeS3"},{"c":1,"p":"Foorocks"},{"p":"Foobar2000","c":1},{"p":"Fardrimm","c":1},{"c":1,"p":"Dolblunde"},{"p":"Desktop","c":1},{"c":1,"p":"Botic7_192.168.1.64"},{"p":"Botic7_192.168.0.9","c":1},{"p":"Bedroom Stereo","c":1},{"c":1,"p":"Bad"},{"c":1,"p":"AvantGardplayer"},{"c":1,"p":"Arbeitszimmer"},{"p":"Aoe-vsound","c":1},{"p":"Acer Laptop Headphone Out","c":1},{"c":1,"p":"A90"},{"p":"4UServer_Topping-D10-DAC","c":1}],"os":[{"o":"Daphile - x86_64","c":10244},{"c":6281,"o":"Debian (Docker) - x86_64"},{"c":5762,"o":"Windows (64-bit) - 8664"},{"o":"Debian - x86_64","c":4719},{"o":"Windows (32-bit) - 8664","c":3235},{"c":2964,"o":"piCore - aarch64"},{"c":2054,"o":"piCore - armv7l"},{"o":"Debian - armv7l","c":1873},{"c":1829,"o":"Debian - aarch64"},{"c":1195,"o":"Debian (Docker) - aarch64"},{"c":978,"o":"macOS - x86_64"},{"o":"Daphile - i686","c":794},{"c":521,"o":"QLMS 2.X [Debian] - x86_64"},{"o":"macOS - arm64","c":423},{"c":412,"o":"Red Hat - x86_64"},{"o":"Linux - x86_64","c":186},{"c":175,"o":"Debian (Docker) - armv7l"},{"c":149,"o":"Windows (32-bit) - 586"},{"c":109,"o":"macOS - x86_64 (Rosetta)"},{"o":"Debian (Android) - aarch64","c":66},{"c":66,"o":"QLMS 2.X [Debian] - aarch64"},{"c":49,"o":"QLMS 2.X [Debian] - armv7l"},{"o":"FreeBSD - amd64-freebsd","c":42},{"o":"SuSE - x86_64","c":37},{"o":"Linux - aarch64","c":33},{"o":"Debian - i686","c":32},{"c":29,"o":"QLMS 2.X [Debian] - i686"},{"c":27,"o":"piCore - armv8l"},{"c":23,"o":"QLMS 2.X [Debian] - armv5tel"},{"o":"Alpine Linux - x86_64","c":14},{"o":"Debian (Android) - armv7l","c":13},{"c":12,"o":"Gentoo Linux - x86_64"},{"c":10,"o":"freebsd - amd64-freebsd"},{"c":6,"o":"Debian - armv8l"},{"c":4,"o":"Encore OS - x86_64"},{"c":4,"o":"Gentoo Linux - armv5tel"},{"c":4,"o":"Linux - i686"},{"c":3,"o":"Linux - armv5tel"},{"o":"Red Hat - aarch64","c":3},{"o":"LMSXX (LMS 2.x, generic Linux) - armv7l","c":2},{"o":"Linux - armv7l","c":2},{"o":"Red Hat - i686","c":2},{"c":2,"o":"macOS - Unknown"},{"c":1,"o":"Debian - ppc"},{"o":"Linux (optware-ng) - armv5eabi-legacy","c":1},{"o":"SSOTS 4.x (QNAP TurboStation) - i686","c":1},{"o":"openbsd - amd64-openbsd","c":1}],"tracks":[{"c":13658,"t":"0"},{"t":"1","c":6591},{"t":"500","c":1728},{"c":6397,"t":"1000"},{"c":4342,"t":"5000"},{"c":4646,"t":"10000"},{"t":"20000","c":4271},{"t":"50000","c":1700},{"c":1026,"t":"100000"},{"t":"500000","c":28},{"c":5,"t":"1000000"}],"countries":[{"i":8076,"c":"DE"},{"i":5200,"c":"CN"},{"i":5197,"c":"US"},{"i":3038,"c":"FR"},{"i":3014,"c":"GB"},{"c":"NL","i":2402},{"i":2253,"c":"IT"},{"i":1364,"c":"CH"},{"i":1137,"c":"SE"},{"i":1131,"c":"CA"},{"c":"PL","i":1050},{"i":992,"c":"JP"},{"i":739,"c":"RU"},{"c":"BE","i":728},{"i":666,"c":"AU"},{"c":"AT","i":665},{"i":520,"c":"NO"},{"i":455,"c":"ES"},{"i":440,"c":"DK"},{"i":388,"c":"HK"},{"i":360,"c":"TW"},{"i":275,"c":"HU"},{"i":270,"c":"CZ"},{"c":"RO","i":266},{"c":"NZ","i":250},{"i":222,"c":"UA"},{"i":217,"c":"FI"},{"c":"VN","i":179},{"i":162,"c":"IE"},{"i":154,"c":"PT"},{"i":143,"c":"GR"},{"i":142,"c":"RS"},{"c":"KR","i":133},{"i":129,"c":"BR"},{"i":119,"c":"SG"},{"i":109,"c":"ZA"},{"c":"SK","i":103},{"c":"SI","i":96},{"c":"IN","i":90},{"c":"IL","i":84},{"i":84,"c":"HR"},{"i":83,"c":"MX"},{"c":"BG","i":79},{"c":"BY","i":77},{"i":73,"c":"AR"},{"c":"CL","i":68},{"c":"MY","i":65},{"c":"TR","i":64},{"c":"LU","i":63},{"i":61,"c":"LT"},{"i":56,"c":"TH"},{"i":45,"c":"EE"},{"i":41,"c":"ID"},{"i":40,"c":"LV"},{"c":"PH","i":34},{"i":29,"c":"BA"},{"i":28,"c":"CO"},{"i":26,"c":"TN"},{"c":"MA","i":26},{"i":17,"c":"CY"},{"c":"MK","i":15},{"i":14,"c":"MO"},{"i":14,"c":"GE"},{"c":"EG","i":13},{"i":12,"c":"AE"},{"i":11,"c":"PE"},{"i":10,"c":"SA"},{"i":10,"c":"MQ"},{"i":9,"c":"RE"},{"c":"PY","i":9},{"c":"MT","i":9},{"i":9,"c":"DZ"},{"c":"XK","i":8},{"i":8,"c":"VE"},{"c":"LI","i":8},{"c":"KZ","i":8},{"c":"KE","i":8},{"c":"CR","i":8},{"c":"AX","i":8},{"c":"PR","i":7},{"i":7,"c":"FO"},{"i":6,"c":"MU"},{"i":6,"c":"CM"},{"i":5,"c":"UY"},{"i":5,"c":"NG"},{"c":"LK","i":5},{"i":5,"c":"IS"},{"c":"IR","i":5},{"i":5,"c":"IM"},{"c":"DO","i":5},{"c":"CD","i":5},{"i":5,"c":"AZ"},{"i":4,"c":"TG"},{"c":"ML","i":4},{"i":4,"c":"ME"},{"c":"MD","i":4},{"c":"GT","i":4},{"c":"GH","i":4},{"i":4,"c":"GG"},{"c":"EC","i":4},{"c":"TZ","i":3},{"c":"QA","i":3},{"i":3,"c":"PF"},{"c":"NP","i":3},{"i":3,"c":"NC"},{"i":3,"c":"LA"},{"c":"JO","i":3},{"i":3,"c":"JE"},{"i":3,"c":"BZ"},{"i":3,"c":"BO"},{"c":"TT","i":2},{"i":2,"c":"TJ"},{"i":2,"c":"SV"},{"c":"SR","i":2},{"i":2,"c":"RW"},{"c":"PK","i":2},{"i":2,"c":"PA"},{"c":"MW","i":2},{"i":2,"c":"MC"},{"c":"LB","i":2},{"c":"CW","i":2},{"c":"BS","i":2},{"c":"BD","i":2},{"i":2,"c":"AD"},{"c":"VG","i":1},{"c":"UZ","i":1},{"c":"T1","i":1},{"c":"SM","i":1},{"i":1,"c":"SC"},{"c":"PS","i":1},{"c":"PM","i":1},{"i":1,"c":"NI"},{"c":"MV","i":1},{"c":"MM","i":1},{"i":1,"c":"MH"},{"i":1,"c":"IQ"},{"c":"GQ","i":1},{"c":"GP","i":1},{"c":"GD","i":1},{"c":"ET","i":1},{"c":"CV","i":1},{"i":1,"c":"BM"},{"i":1,"c":"BJ"},{"c":"BB","i":1},{"c":"AW","i":1},{"c":"AL","i":1},{"i":1,"c":"null"}],"players":[{"p":925,"d":"2024-04-13"},{"p":4696,"d":"2024-04-16"},{"p":9016,"d":"2024-04-19"},{"d":"2024-04-22","p":12499},{"p":14916,"d":"2024-04-25"},{"d":"2024-04-28","p":18319},{"d":"2024-05-01","p":21345},{"d":"2024-05-04","p":23757},{"d":"2024-05-07","p":26024},{"d":"2024-05-10","p":28784},{"p":33639,"d":"2024-05-13"},{"d":"2024-05-16","p":37094},{"d":"2024-05-19","p":40228},{"d":"2024-05-22","p":42893},{"p":44903,"d":"2024-05-25"},{"d":"2024-05-28","p":47850},{"d":"2024-05-31","p":51173},{"d":"2024-06-03","p":55102},{"p":57121,"d":"2024-06-06"},{"d":"2024-06-09","p":58828},{"d":"2024-06-12","p":59623},{"p":60869,"d":"2024-06-15"},{"d":"2024-06-18","p":61777},{"p":62074,"d":"2024-06-21"},{"d":"2024-06-24","p":63082},{"d":"2024-06-27","p":62975},{"p":65039,"d":"2024-06-30"},{"p":66047,"d":"2024-07-03"},{"p":66551,"d":"2024-07-06"},{"d":"2024-07-08","p":66089},{"p":65691,"d":"2024-07-10"},{"p":65759,"d":"2024-07-12"},{"p":65675,"d":"2024-07-14"},{"d":"2024-07-16","p":66005},{"d":"2024-07-18","p":66422},{"d":"2024-07-20","p":66771},{"d":"2024-07-22","p":67458},{"p":67748,"d":"2024-07-24"},{"p":68055,"d":"2024-07-26"},{"p":68390,"d":"2024-07-28"},{"d":"2024-07-30","p":68840},{"p":69248,"d":"2024-08-01"},{"p":69334,"d":"2024-08-03"},{"p":69898,"d":"2024-08-05"},{"p":69727,"d":"2024-08-07"},{"p":70007,"d":"2024-08-09"},{"p":70299,"d":"2024-08-11"},{"p":70748,"d":"2024-08-13"},{"d":"2024-08-15","p":71026},{"d":"2024-08-17","p":71464},{"d":"2024-08-19","p":72054},{"p":71942,"d":"2024-08-21"},{"p":72416,"d":"2024-08-23"},{"d":"2024-08-25","p":72565},{"d":"2024-08-27","p":73051},{"p":72905,"d":"2024-08-29"},{"d":"2024-08-31","p":73232},{"p":73967,"d":"2024-09-02"},{"d":"2024-09-04","p":74367},{"d":"2024-09-06","p":74882},{"d":"2024-09-08","p":75611},{"p":76426,"d":"2024-09-10"},{"d":"2024-09-12","p":76776},{"p":77415,"d":"2024-09-14"},{"p":78622,"d":"2024-09-16"},{"d":"2024-09-18","p":78794},{"p":79043,"d":"2024-09-20"},{"d":"2024-09-22","p":79204},{"d":"2024-09-24","p":79576},{"d":"2024-09-26","p":79698},{"d":"2024-09-28","p":80402},{"p":81271,"d":"2024-09-30"},{"p":81778,"d":"2024-10-02"},{"d":"2024-10-04","p":82630},{"p":83056,"d":"2024-10-06"},{"d":"2024-10-08","p":83427},{"d":"2024-10-10","p":83629},{"d":"2024-10-12","p":83677},{"p":84238,"d":"2024-10-14"},{"p":84271,"d":"2024-10-16"},{"p":84421,"d":"2024-10-18"},{"p":85028,"d":"2024-10-20"},{"p":85822,"d":"2024-10-22"},{"p":86247,"d":"2024-10-24"},{"d":"2024-10-26","p":86860},{"p":87416,"d":"2024-10-28"},{"d":"2024-10-30","p":88028},{"p":88399,"d":"2024-11-01"},{"p":89373,"d":"2024-11-03"},{"d":"2024-11-05","p":90046}],"connectedPlayers":[{"c":17040,"p":"1"},{"p":"0","c":8667},{"p":"2","c":7723},{"p":"3","c":3918},{"p":"4","c":2237},{"p":"5","c":1495},{"p":"6","c":957},{"c":638,"p":"7"},{"p":"8","c":452},{"p":"9","c":373},{"p":"10","c":219},{"c":168,"p":"11"},{"c":119,"p":"12"},{"c":88,"p":"13"},{"p":"14","c":59},{"p":"15","c":53},{"p":"16","c":37},{"c":31,"p":"17"},{"c":24,"p":"18"},{"p":"19","c":18},{"c":12,"p":"21"},{"p":"22","c":10},{"c":8,"p":"20"},{"c":6,"p":"24"},{"p":"23","c":6},{"c":5,"p":"28"},{"c":5,"p":"25"},{"c":4,"p":"31"},{"p":"43","c":3},{"c":3,"p":"29"},{"p":"85","c":1},{"p":"62","c":1},{"p":"51","c":1},{"p":"42","c":1},{"p":"41","c":1},{"p":"40","c":1},{"p":"39","c":1},{"c":1,"p":"38"},{"c":1,"p":"36"},{"p":"34","c":1},{"p":"33","c":1},{"c":1,"p":"32"},{"c":1,"p":"30"},{"p":"27","c":1}],"versions":[{"d":"2024-04-13","v":"8.5.1","c":201},{"d":"2024-04-13","v":"9.0.0","c":75},{"d":"2024-04-13","v":"8.5.0","c":1},{"c":277,"v":"All","d":"2024-04-13"},{"v":"8.5.1","c":1408,"d":"2024-04-16"},{"d":"2024-04-16","v":"9.0.0","c":345},{"c":251,"v":"8.5.2","d":"2024-04-16"},{"d":"2024-04-16","v":"8.5.0","c":4},{"d":"2024-04-16","v":"All","c":2008},{"d":"2024-04-19","c":3173,"v":"8.5.1"},{"c":649,"v":"8.5.2","d":"2024-04-19"},{"d":"2024-04-19","v":"9.0.0","c":487},{"c":13,"v":"8.5.0","d":"2024-04-19"},{"c":1,"v":"8.4.0","d":"2024-04-19"},{"d":"2024-04-19","v":"All","c":4323},{"v":"8.5.1","c":4782,"d":"2024-04-22"},{"d":"2024-04-22","c":994,"v":"8.5.2"},{"v":"9.0.0","c":608,"d":"2024-04-22"},{"c":31,"v":"8.5.0","d":"2024-04-22"},{"d":"2024-04-22","v":"8.4.0","c":1},{"d":"2024-04-22","c":6416,"v":"All"},{"d":"2024-04-25","v":"8.5.1","c":6106},{"c":1216,"v":"8.5.2","d":"2024-04-25"},{"v":"9.0.0","c":730,"d":"2024-04-25"},{"c":40,"v":"8.5.0","d":"2024-04-25"},{"c":2,"v":"8.4.0","d":"2024-04-25"},{"c":8094,"v":"All","d":"2024-04-25"},{"d":"2024-04-28","c":7880,"v":"8.5.1"},{"c":1600,"v":"8.5.2","d":"2024-04-28"},{"d":"2024-04-28","v":"9.0.0","c":834},{"v":"8.5.0","c":45,"d":"2024-04-28"},{"d":"2024-04-28","c":2,"v":"8.4.0"},{"c":1,"v":"8.4.1","d":"2024-04-28"},{"v":"All","c":10362,"d":"2024-04-28"},{"v":"8.5.1","c":9313,"d":"2024-05-01"},{"v":"8.5.2","c":1961,"d":"2024-05-01"},{"v":"9.0.0","c":956,"d":"2024-05-01"},{"d":"2024-05-01","v":"8.5.0","c":46},{"d":"2024-05-01","v":"8.4.1","c":3},{"d":"2024-05-01","c":3,"v":"8.4.0"},{"d":"2024-05-01","c":1,"v":"8.3.1"},{"d":"2024-05-01","v":"All","c":12283},{"d":"2024-05-04","c":10496,"v":"8.5.1"},{"v":"8.5.2","c":2367,"d":"2024-05-04"},{"v":"9.0.0","c":1052,"d":"2024-05-04"},{"d":"2024-05-04","v":"8.5.0","c":53},{"d":"2024-05-04","v":"8.4.1","c":4},{"c":4,"v":"8.4.0","d":"2024-05-04"},{"d":"2024-05-04","c":1,"v":"8.3.1"},{"c":13977,"v":"All","d":"2024-05-04"},{"d":"2024-05-07","v":"8.5.1","c":11706},{"d":"2024-05-07","c":2685,"v":"8.5.2"},{"v":"9.0.0","c":1155,"d":"2024-05-07"},{"d":"2024-05-07","v":"8.5.0","c":61},{"d":"2024-05-07","c":4,"v":"8.4.1"},{"v":"8.4.0","c":4,"d":"2024-05-07"},{"d":"2024-05-07","v":"All","c":15615},{"v":"8.5.1","c":12636,"d":"2024-05-10"},{"v":"8.5.2","c":3260,"d":"2024-05-10"},{"v":"9.0.0","c":1219,"d":"2024-05-10"},{"v":"8.5.0","c":65,"d":"2024-05-10"},{"v":"8.4.1","c":4,"d":"2024-05-10"},{"c":4,"v":"8.4.0","d":"2024-05-10"},{"v":"All","c":17188,"d":"2024-05-10"},{"d":"2024-05-13","v":"8.5.1","c":13588},{"d":"2024-05-13","c":4711,"v":"8.5.2"},{"d":"2024-05-13","v":"9.0.0","c":1292},{"c":69,"v":"8.5.0","d":"2024-05-13"},{"d":"2024-05-13","c":4,"v":"8.4.1"},{"d":"2024-05-13","v":"8.4.0","c":4},{"d":"2024-05-13","v":"All","c":19668},{"d":"2024-05-16","c":14280,"v":"8.5.1"},{"d":"2024-05-16","v":"8.5.2","c":5829},{"d":"2024-05-16","v":"9.0.0","c":1338},{"v":"8.5.0","c":79,"d":"2024-05-16"},{"d":"2024-05-16","c":5,"v":"8.4.1"},{"d":"2024-05-16","c":4,"v":"8.4.0"},{"v":"All","c":21535,"d":"2024-05-16"},{"d":"2024-05-19","v":"8.5.1","c":14853},{"v":"8.5.2","c":6786,"d":"2024-05-19"},{"d":"2024-05-19","v":"9.0.0","c":1402},{"d":"2024-05-19","v":"8.5.0","c":85},{"d":"2024-05-19","c":5,"v":"8.4.1"},{"d":"2024-05-19","c":5,"v":"8.4.0"},{"v":"All","c":23136,"d":"2024-05-19"},{"d":"2024-05-22","c":15262,"v":"8.5.1"},{"d":"2024-05-22","c":7641,"v":"8.5.2"},{"d":"2024-05-22","c":1468,"v":"9.0.0"},{"d":"2024-05-22","v":"8.5.0","c":85},{"v":"8.4.0","c":6,"d":"2024-05-22"},{"c":5,"v":"8.4.1","d":"2024-05-22"},{"c":24467,"v":"All","d":"2024-05-22"},{"d":"2024-05-25","v":"8.5.1","c":15556},{"d":"2024-05-25","v":"8.5.2","c":8386},{"d":"2024-05-25","c":1532,"v":"9.0.0"},{"d":"2024-05-25","c":83,"v":"8.5.0"},{"v":"8.4.1","c":5,"d":"2024-05-25"},{"d":"2024-05-25","c":5,"v":"8.4.0"},{"d":"2024-05-25","v":"All","c":25567},{"d":"2024-05-28","c":14582,"v":"8.5.1"},{"v":"8.5.2","c":9926,"d":"2024-05-28"},{"d":"2024-05-28","c":1579,"v":"9.0.0"},{"v":"8.5.3","c":406,"d":"2024-05-28"},{"v":"8.5.0","c":83,"d":"2024-05-28"},{"v":"8.4.1","c":5,"d":"2024-05-28"},{"d":"2024-05-28","c":5,"v":"8.4.0"},{"c":26586,"v":"All","d":"2024-05-28"},{"c":13381,"v":"8.5.1","d":"2024-05-31"},{"c":11685,"v":"8.5.2","d":"2024-05-31"},{"v":"9.0.0","c":1577,"d":"2024-05-31"},{"d":"2024-05-31","c":747,"v":"8.5.3"},{"c":82,"v":"8.5.0","d":"2024-05-31"},{"v":"8.4.1","c":5,"d":"2024-05-31"},{"v":"8.4.0","c":5,"d":"2024-05-31"},{"v":"All","c":27482,"d":"2024-05-31"},{"v":"8.5.2","c":14095,"d":"2024-06-03"},{"d":"2024-06-03","v":"8.5.1","c":11850},{"c":1613,"v":"9.0.0","d":"2024-06-03"},{"v":"8.5.3","c":1027,"d":"2024-06-03"},{"v":"8.5.0","c":83,"d":"2024-06-03"},{"d":"2024-06-03","c":5,"v":"8.4.1"},{"d":"2024-06-03","c":5,"v":"8.4.0"},{"d":"2024-06-03","v":"All","c":28678},{"v":"8.5.2","c":15432,"d":"2024-06-06"},{"c":10992,"v":"8.5.1","d":"2024-06-06"},{"d":"2024-06-06","c":1608,"v":"9.0.0"},{"v":"8.5.3","c":1196,"d":"2024-06-06"},{"c":85,"v":"8.5.0","d":"2024-06-06"},{"c":5,"v":"8.4.1","d":"2024-06-06"},{"c":5,"v":"8.4.0","d":"2024-06-06"},{"d":"2024-06-06","v":"All","c":29323},{"v":"8.5.2","c":16527,"d":"2024-06-09"},{"d":"2024-06-09","v":"8.5.1","c":10358},{"v":"9.0.0","c":1614,"d":"2024-06-09"},{"d":"2024-06-09","v":"8.5.3","c":1471},{"c":90,"v":"8.5.0","d":"2024-06-09"},{"v":"8.4.1","c":5,"d":"2024-06-09"},{"d":"2024-06-09","c":5,"v":"8.4.0"},{"d":"2024-06-09","v":"All","c":30070},{"d":"2024-06-12","v":"8.5.2","c":16846},{"d":"2024-06-12","c":9713,"v":"8.5.1"},{"v":"8.5.3","c":1949,"d":"2024-06-12"},{"v":"9.0.0","c":1617,"d":"2024-06-12"},{"d":"2024-06-12","v":"8.5.0","c":92},{"d":"2024-06-12","v":"8.4.0","c":5},{"d":"2024-06-12","v":"8.4.1","c":4},{"v":"All","c":30226,"d":"2024-06-12"},{"d":"2024-06-15","v":"8.5.2","c":16592},{"v":"8.5.1","c":9240,"d":"2024-06-15"},{"d":"2024-06-15","c":2936,"v":"8.5.3"},{"d":"2024-06-15","c":1616,"v":"9.0.0"},{"c":90,"v":"8.5.0","d":"2024-06-15"},{"d":"2024-06-15","v":"8.4.0","c":6},{"v":"8.4.1","c":4,"d":"2024-06-15"},{"c":30484,"v":"All","d":"2024-06-15"},{"v":"8.5.2","c":16485,"d":"2024-06-18"},{"v":"8.5.1","c":8701,"d":"2024-06-18"},{"d":"2024-06-18","v":"8.5.3","c":3882},{"d":"2024-06-18","c":1607,"v":"9.0.0"},{"v":"8.5.0","c":92,"d":"2024-06-18"},{"d":"2024-06-18","c":6,"v":"8.4.0"},{"v":"8.4.1","c":4,"d":"2024-06-18"},{"v":"All","c":30777,"d":"2024-06-18"},{"d":"2024-06-21","c":16478,"v":"8.5.2"},{"d":"2024-06-21","v":"8.5.1","c":8193},{"v":"8.5.3","c":4600,"d":"2024-06-21"},{"c":1582,"v":"9.0.0","d":"2024-06-21"},{"v":"8.5.0","c":94,"d":"2024-06-21"},{"d":"2024-06-21","v":"8.4.0","c":5},{"v":"8.4.1","c":4,"d":"2024-06-21"},{"c":30956,"v":"All","d":"2024-06-21"},{"d":"2024-06-24","c":16550,"v":"8.5.2"},{"c":7763,"v":"8.5.1","d":"2024-06-24"},{"v":"8.5.3","c":5438,"d":"2024-06-24"},{"d":"2024-06-24","c":1556,"v":"9.0.0"},{"c":95,"v":"8.5.0","d":"2024-06-24"},{"v":"8.4.1","c":4,"d":"2024-06-24"},{"d":"2024-06-24","v":"8.4.0","c":4},{"d":"2024-06-24","c":31410,"v":"All"},{"d":"2024-06-27","v":"8.5.2","c":16387},{"d":"2024-06-27","v":"8.5.1","c":7379},{"d":"2024-06-27","c":6049,"v":"8.5.3"},{"d":"2024-06-27","v":"9.0.0","c":1542},{"d":"2024-06-27","v":"8.5.0","c":96},{"c":4,"v":"8.4.1","d":"2024-06-27"},{"d":"2024-06-27","c":4,"v":"8.4.0"},{"c":31461,"v":"All","d":"2024-06-27"},{"d":"2024-06-30","c":16129,"v":"8.5.2"},{"v":"8.5.1","c":7189,"d":"2024-06-30"},{"v":"8.5.3","c":6749,"d":"2024-06-30"},{"v":"9.0.0","c":1536,"d":"2024-06-30"},{"d":"2024-06-30","v":"8.5.0","c":97},{"d":"2024-06-30","v":"8.4.1","c":4},{"d":"2024-06-30","c":4,"v":"8.4.0"},{"d":"2024-06-30","c":31708,"v":"All"},{"d":"2024-07-03","v":"8.5.2","c":15745},{"v":"8.5.3","c":7340,"d":"2024-07-03"},{"c":6979,"v":"8.5.1","d":"2024-07-03"},{"d":"2024-07-03","c":1518,"v":"9.0.0"},{"d":"2024-07-03","v":"8.5.0","c":102},{"d":"2024-07-03","c":4,"v":"8.4.1"},{"v":"8.4.0","c":4,"d":"2024-07-03"},{"d":"2024-07-03","c":31692,"v":"All"},{"c":15552,"v":"8.5.2","d":"2024-07-06"},{"d":"2024-07-06","c":7889,"v":"8.5.3"},{"d":"2024-07-06","c":6827,"v":"8.5.1"},{"v":"9.0.0","c":1537,"d":"2024-07-06"},{"d":"2024-07-06","v":"8.5.0","c":106},{"c":4,"v":"8.4.1","d":"2024-07-06"},{"d":"2024-07-06","c":4,"v":"8.4.0"},{"v":"All","c":31919,"d":"2024-07-06"},{"d":"2024-07-08","v":"8.5.2","c":15478},{"d":"2024-07-08","c":8430,"v":"8.5.3"},{"c":6723,"v":"8.5.1","d":"2024-07-08"},{"d":"2024-07-08","v":"9.0.0","c":1533},{"v":"8.5.0","c":107,"d":"2024-07-08"},{"v":"8.4.1","c":4,"d":"2024-07-08"},{"v":"8.4.0","c":4,"d":"2024-07-08"},{"d":"2024-07-08","v":"All","c":32279},{"v":"8.5.2","c":15284,"d":"2024-07-10"},{"c":8775,"v":"8.5.3","d":"2024-07-10"},{"v":"8.5.1","c":6610,"d":"2024-07-10"},{"v":"9.0.0","c":1539,"d":"2024-07-10"},{"v":"8.5.0","c":105,"d":"2024-07-10"},{"d":"2024-07-10","c":5,"v":"8.4.0"},{"d":"2024-07-10","v":"8.4.1","c":4},{"d":"2024-07-10","v":"All","c":32322},{"d":"2024-07-12","v":"8.5.2","c":15164},{"d":"2024-07-12","c":9158,"v":"8.5.3"},{"d":"2024-07-12","v":"8.5.1","c":6541},{"c":1532,"v":"9.0.0","d":"2024-07-12"},{"d":"2024-07-12","c":106,"v":"8.5.0"},{"c":5,"v":"8.4.0","d":"2024-07-12"},{"c":4,"v":"8.4.1","d":"2024-07-12"},{"v":"All","c":32510,"d":"2024-07-12"},{"v":"8.5.2","c":15206,"d":"2024-07-14"},{"v":"8.5.3","c":9346,"d":"2024-07-14"},{"v":"8.5.1","c":6512,"d":"2024-07-14"},{"d":"2024-07-14","v":"9.0.0","c":1537},{"d":"2024-07-14","c":106,"v":"8.5.0"},{"d":"2024-07-14","v":"8.4.0","c":5},{"d":"2024-07-14","v":"8.4.1","c":4},{"d":"2024-07-14","v":"All","c":32716},{"v":"8.5.2","c":15302,"d":"2024-07-16"},{"d":"2024-07-16","v":"8.5.3","c":9406},{"c":6444,"v":"8.5.1","d":"2024-07-16"},{"v":"9.0.0","c":1546,"d":"2024-07-16"},{"d":"2024-07-16","v":"8.5.0","c":105},{"d":"2024-07-16","c":5,"v":"8.4.0"},{"v":"8.4.1","c":4,"d":"2024-07-16"},{"c":32812,"v":"All","d":"2024-07-16"},{"c":15360,"v":"8.5.2","d":"2024-07-18"},{"d":"2024-07-18","c":9545,"v":"8.5.3"},{"d":"2024-07-18","c":6403,"v":"8.5.1"},{"d":"2024-07-18","c":1544,"v":"9.0.0"},{"d":"2024-07-18","v":"8.5.0","c":103},{"c":5,"v":"8.4.0","d":"2024-07-18"},{"c":4,"v":"8.4.1","d":"2024-07-18"},{"v":"All","c":32964,"d":"2024-07-18"},{"c":15458,"v":"8.5.2","d":"2024-07-20"},{"d":"2024-07-20","c":9730,"v":"8.5.3"},{"d":"2024-07-20","c":6376,"v":"8.5.1"},{"d":"2024-07-20","v":"9.0.0","c":1554},{"v":"8.5.0","c":104,"d":"2024-07-20"},{"d":"2024-07-20","v":"8.4.0","c":5},{"v":"8.4.1","c":3,"d":"2024-07-20"},{"v":"All","c":33230,"d":"2024-07-20"},{"c":15633,"v":"8.5.2","d":"2024-07-22"},{"c":9895,"v":"8.5.3","d":"2024-07-22"},{"d":"2024-07-22","c":6333,"v":"8.5.1"},{"c":1566,"v":"9.0.0","d":"2024-07-22"},{"c":104,"v":"8.5.0","d":"2024-07-22"},{"d":"2024-07-22","v":"8.4.0","c":6},{"d":"2024-07-22","c":3,"v":"8.4.1"},{"v":"All","c":33540,"d":"2024-07-22"},{"d":"2024-07-24","v":"8.5.2","c":15804},{"c":9899,"v":"8.5.3","d":"2024-07-24"},{"d":"2024-07-24","v":"8.5.1","c":6244},{"d":"2024-07-24","c":1578,"v":"9.0.0"},{"d":"2024-07-24","v":"8.5.0","c":105},{"v":"8.4.0","c":5,"d":"2024-07-24"},{"v":"8.4.1","c":3,"d":"2024-07-24"},{"d":"2024-07-24","v":"All","c":33638},{"c":15953,"v":"8.5.2","d":"2024-07-26"},{"d":"2024-07-26","v":"8.5.3","c":10066},{"d":"2024-07-26","c":6238,"v":"8.5.1"},{"d":"2024-07-26","c":1585,"v":"9.0.0"},{"c":106,"v":"8.5.0","d":"2024-07-26"},{"v":"8.4.0","c":5,"d":"2024-07-26"},{"c":2,"v":"8.4.1","d":"2024-07-26"},{"d":"2024-07-26","c":33955,"v":"All"},{"d":"2024-07-28","c":16105,"v":"8.5.2"},{"v":"8.5.3","c":10206,"d":"2024-07-28"},{"d":"2024-07-28","c":6189,"v":"8.5.1"},{"d":"2024-07-28","v":"9.0.0","c":1606},{"d":"2024-07-28","v":"8.5.0","c":102},{"c":5,"v":"8.4.0","d":"2024-07-28"},{"v":"8.4.1","c":2,"d":"2024-07-28"},{"d":"2024-07-28","c":34215,"v":"All"},{"d":"2024-07-30","c":16271,"v":"8.5.2"},{"c":10303,"v":"8.5.3","d":"2024-07-30"},{"d":"2024-07-30","c":6179,"v":"8.5.1"},{"c":1613,"v":"9.0.0","d":"2024-07-30"},{"d":"2024-07-30","c":104,"v":"8.5.0"},{"v":"8.4.0","c":6,"d":"2024-07-30"},{"d":"2024-07-30","c":2,"v":"8.4.1"},{"d":"2024-07-30","v":"All","c":34478},{"d":"2024-08-01","c":16386,"v":"8.5.2"},{"c":10381,"v":"8.5.3","d":"2024-08-01"},{"v":"8.5.1","c":6148,"d":"2024-08-01"},{"v":"9.0.0","c":1607,"d":"2024-08-01"},{"d":"2024-08-01","c":102,"v":"8.5.0"},{"d":"2024-08-01","v":"8.4.0","c":6},{"d":"2024-08-01","v":"8.4.1","c":2},{"c":34632,"v":"All","d":"2024-08-01"},{"c":16476,"v":"8.5.2","d":"2024-08-03"},{"c":10428,"v":"8.5.3","d":"2024-08-03"},{"v":"8.5.1","c":6123,"d":"2024-08-03"},{"d":"2024-08-03","c":1611,"v":"9.0.0"},{"d":"2024-08-03","c":102,"v":"8.5.0"},{"d":"2024-08-03","v":"8.4.0","c":6},{"d":"2024-08-03","c":2,"v":"8.4.1"},{"d":"2024-08-03","v":"All","c":34748},{"d":"2024-08-05","v":"8.5.2","c":16623},{"v":"8.5.3","c":10659,"d":"2024-08-05"},{"c":6133,"v":"8.5.1","d":"2024-08-05"},{"d":"2024-08-05","c":1620,"v":"9.0.0"},{"d":"2024-08-05","v":"8.5.0","c":101},{"c":6,"v":"8.4.0","d":"2024-08-05"},{"d":"2024-08-05","c":2,"v":"8.4.1"},{"c":35144,"v":"All","d":"2024-08-05"},{"c":16662,"v":"8.5.2","d":"2024-08-07"},{"d":"2024-08-07","v":"8.5.3","c":10682},{"c":6098,"v":"8.5.1","d":"2024-08-07"},{"d":"2024-08-07","v":"9.0.0","c":1625},{"c":102,"v":"8.5.0","d":"2024-08-07"},{"v":"8.4.0","c":6,"d":"2024-08-07"},{"v":"8.4.1","c":2,"d":"2024-08-07"},{"c":35177,"v":"All","d":"2024-08-07"},{"v":"8.5.2","c":16714,"d":"2024-08-09"},{"d":"2024-08-09","v":"8.5.3","c":10771},{"c":6118,"v":"8.5.1","d":"2024-08-09"},{"v":"9.0.0","c":1635,"d":"2024-08-09"},{"v":"8.5.0","c":104,"d":"2024-08-09"},{"d":"2024-08-09","v":"8.4.0","c":6},{"c":2,"v":"8.4.1","d":"2024-08-09"},{"d":"2024-08-09","v":"All","c":35350},{"c":16811,"v":"8.5.2","d":"2024-08-11"},{"c":10847,"v":"8.5.3","d":"2024-08-11"},{"d":"2024-08-11","c":6098,"v":"8.5.1"},{"c":1631,"v":"9.0.0","d":"2024-08-11"},{"d":"2024-08-11","c":103,"v":"8.5.0"},{"v":"8.4.0","c":6,"d":"2024-08-11"},{"d":"2024-08-11","c":2,"v":"8.4.1"},{"d":"2024-08-11","v":"All","c":35498},{"c":16980,"v":"8.5.2","d":"2024-08-13"},{"d":"2024-08-13","c":10922,"v":"8.5.3"},{"d":"2024-08-13","v":"8.5.1","c":6044},{"d":"2024-08-13","c":1647,"v":"9.0.0"},{"c":100,"v":"8.5.0","d":"2024-08-13"},{"d":"2024-08-13","v":"8.4.0","c":6},{"v":"8.4.1","c":2,"d":"2024-08-13"},{"d":"2024-08-13","c":35701,"v":"All"},{"c":17131,"v":"8.5.2","d":"2024-08-15"},{"v":"8.5.3","c":10970,"d":"2024-08-15"},{"c":6025,"v":"8.5.1","d":"2024-08-15"},{"d":"2024-08-15","c":1654,"v":"9.0.0"},{"v":"8.5.0","c":100,"d":"2024-08-15"},{"v":"8.4.0","c":6,"d":"2024-08-15"},{"d":"2024-08-15","v":"8.4.1","c":2},{"c":35888,"v":"All","d":"2024-08-15"},{"d":"2024-08-17","c":17258,"v":"8.5.2"},{"d":"2024-08-17","v":"8.5.3","c":11100},{"c":5995,"v":"8.5.1","d":"2024-08-17"},{"c":1664,"v":"9.0.0","d":"2024-08-17"},{"d":"2024-08-17","v":"8.5.0","c":99},{"d":"2024-08-17","v":"8.4.0","c":6},{"d":"2024-08-17","v":"8.4.1","c":2},{"v":"All","c":36124,"d":"2024-08-17"},{"v":"8.5.2","c":17466,"d":"2024-08-19"},{"v":"8.5.3","c":11240,"d":"2024-08-19"},{"d":"2024-08-19","c":5951,"v":"8.5.1"},{"v":"9.0.0","c":1679,"d":"2024-08-19"},{"c":99,"v":"8.5.0","d":"2024-08-19"},{"c":6,"v":"8.4.0","d":"2024-08-19"},{"v":"8.4.1","c":2,"d":"2024-08-19"},{"d":"2024-08-19","c":36443,"v":"All"},{"v":"8.5.2","c":17580,"d":"2024-08-21"},{"d":"2024-08-21","c":11164,"v":"8.5.3"},{"c":5914,"v":"8.5.1","d":"2024-08-21"},{"d":"2024-08-21","c":1688,"v":"9.0.0"},{"v":"8.5.0","c":101,"d":"2024-08-21"},{"c":6,"v":"8.4.0","d":"2024-08-21"},{"c":2,"v":"8.4.1","d":"2024-08-21"},{"c":36455,"v":"All","d":"2024-08-21"},{"v":"8.5.2","c":17701,"d":"2024-08-23"},{"d":"2024-08-23","v":"8.5.3","c":11333},{"v":"8.5.1","c":5901,"d":"2024-08-23"},{"d":"2024-08-23","v":"9.0.0","c":1692},{"d":"2024-08-23","c":100,"v":"8.5.0"},{"d":"2024-08-23","v":"8.4.0","c":6},{"d":"2024-08-23","c":2,"v":"8.4.1"},{"d":"2024-08-23","c":36735,"v":"All"},{"d":"2024-08-25","c":17851,"v":"8.5.2"},{"c":11408,"v":"8.5.3","d":"2024-08-25"},{"d":"2024-08-25","c":5901,"v":"8.5.1"},{"d":"2024-08-25","v":"9.0.0","c":1707},{"c":99,"v":"8.5.0","d":"2024-08-25"},{"d":"2024-08-25","v":"8.4.0","c":6},{"d":"2024-08-25","v":"8.4.1","c":2},{"c":36974,"v":"All","d":"2024-08-25"},{"v":"8.5.2","c":18003,"d":"2024-08-27"},{"d":"2024-08-27","v":"8.5.3","c":11412},{"d":"2024-08-27","c":5887,"v":"8.5.1"},{"v":"9.0.0","c":1708,"d":"2024-08-27"},{"d":"2024-08-27","v":"8.5.0","c":98},{"c":6,"v":"8.4.0","d":"2024-08-27"},{"d":"2024-08-27","v":"8.4.1","c":2},{"c":37116,"v":"All","d":"2024-08-27"},{"d":"2024-08-29","c":18041,"v":"8.5.2"},{"d":"2024-08-29","c":11364,"v":"8.5.3"},{"d":"2024-08-29","c":5843,"v":"8.5.1"},{"d":"2024-08-29","v":"9.0.0","c":1712},{"v":"8.5.0","c":98,"d":"2024-08-29"},{"v":"8.4.0","c":5,"d":"2024-08-29"},{"d":"2024-08-29","c":2,"v":"8.4.1"},{"c":37065,"v":"All","d":"2024-08-29"},{"c":18149,"v":"8.5.2","d":"2024-08-31"},{"d":"2024-08-31","c":11422,"v":"8.5.3"},{"c":5844,"v":"8.5.1","d":"2024-08-31"},{"d":"2024-08-31","v":"9.0.0","c":1712},{"c":98,"v":"8.5.0","d":"2024-08-31"},{"v":"8.4.0","c":5,"d":"2024-08-31"},{"d":"2024-08-31","v":"8.4.1","c":3},{"d":"2024-08-31","v":"All","c":37233},{"c":18372,"v":"8.5.2","d":"2024-09-02"},{"d":"2024-09-02","c":11638,"v":"8.5.3"},{"v":"8.5.1","c":5839,"d":"2024-09-02"},{"v":"9.0.0","c":1725,"d":"2024-09-02"},{"v":"8.5.0","c":98,"d":"2024-09-02"},{"c":6,"v":"8.4.0","d":"2024-09-02"},{"d":"2024-09-02","v":"8.4.1","c":3},{"v":"All","c":37681,"d":"2024-09-02"},{"c":18535,"v":"8.5.2","d":"2024-09-04"},{"v":"8.5.3","c":11624,"d":"2024-09-04"},{"v":"8.5.1","c":5821,"d":"2024-09-04"},{"d":"2024-09-04","v":"9.0.0","c":1749},{"d":"2024-09-04","v":"8.5.0","c":98},{"c":6,"v":"8.4.0","d":"2024-09-04"},{"c":3,"v":"8.4.1","d":"2024-09-04"},{"d":"2024-09-04","v":"All","c":37836},{"d":"2024-09-06","c":18703,"v":"8.5.2"},{"d":"2024-09-06","v":"8.5.3","c":11650},{"v":"8.5.1","c":5800,"d":"2024-09-06"},{"d":"2024-09-06","v":"9.0.0","c":1775},{"d":"2024-09-06","c":101,"v":"8.5.0"},{"c":6,"v":"8.4.0","d":"2024-09-06"},{"v":"8.4.1","c":3,"d":"2024-09-06"},{"d":"2024-09-06","v":"All","c":38038},{"c":18920,"v":"8.5.2","d":"2024-09-08"},{"d":"2024-09-08","v":"8.5.3","c":11808},{"d":"2024-09-08","c":5780,"v":"8.5.1"},{"d":"2024-09-08","v":"9.0.0","c":1772},{"d":"2024-09-08","c":102,"v":"8.5.0"},{"d":"2024-09-08","c":6,"v":"8.4.0"},{"v":"8.4.1","c":3,"d":"2024-09-08"},{"d":"2024-09-08","v":"All","c":38391},{"c":19097,"v":"8.5.2","d":"2024-09-10"},{"c":11892,"v":"8.5.3","d":"2024-09-10"},{"d":"2024-09-10","v":"8.5.1","c":5769},{"c":1786,"v":"9.0.0","d":"2024-09-10"},{"c":103,"v":"8.5.0","d":"2024-09-10"},{"v":"8.4.0","c":6,"d":"2024-09-10"},{"d":"2024-09-10","v":"8.4.1","c":3},{"c":38656,"v":"All","d":"2024-09-10"},{"d":"2024-09-12","c":19260,"v":"8.5.2"},{"d":"2024-09-12","v":"8.5.3","c":11943},{"v":"8.5.1","c":5786,"d":"2024-09-12"},{"v":"9.0.0","c":1795,"d":"2024-09-12"},{"d":"2024-09-12","c":103,"v":"8.5.0"},{"d":"2024-09-12","c":5,"v":"8.4.0"},{"c":3,"v":"8.4.1","d":"2024-09-12"},{"d":"2024-09-12","c":38895,"v":"All"},{"v":"8.5.2","c":19403,"d":"2024-09-14"},{"v":"8.5.3","c":12051,"d":"2024-09-14"},{"d":"2024-09-14","c":5777,"v":"8.5.1"},{"v":"9.0.0","c":1808,"d":"2024-09-14"},{"v":"8.5.0","c":102,"d":"2024-09-14"},{"d":"2024-09-14","c":5,"v":"8.4.0"},{"d":"2024-09-14","v":"8.4.1","c":3},{"d":"2024-09-14","v":"All","c":39149},{"d":"2024-09-16","v":"8.5.2","c":19548},{"c":12172,"v":"8.5.3","d":"2024-09-16"},{"v":"8.5.1","c":5780,"d":"2024-09-16"},{"c":1816,"v":"9.0.0","d":"2024-09-16"},{"d":"2024-09-16","c":104,"v":"8.5.0"},{"v":"8.4.0","c":6,"d":"2024-09-16"},{"c":3,"v":"8.4.1","d":"2024-09-16"},{"c":39429,"v":"All","d":"2024-09-16"},{"d":"2024-09-18","v":"8.5.2","c":19674},{"d":"2024-09-18","c":12153,"v":"8.5.3"},{"c":5763,"v":"8.5.1","d":"2024-09-18"},{"d":"2024-09-18","v":"9.0.0","c":1818},{"d":"2024-09-18","v":"8.5.0","c":102},{"d":"2024-09-18","c":6,"v":"8.4.0"},{"v":"8.4.1","c":3,"d":"2024-09-18"},{"c":39519,"v":"All","d":"2024-09-18"},{"c":19752,"v":"8.5.2","d":"2024-09-20"},{"v":"8.5.3","c":12164,"d":"2024-09-20"},{"d":"2024-09-20","c":5746,"v":"8.5.1"},{"d":"2024-09-20","c":1824,"v":"9.0.0"},{"d":"2024-09-20","v":"8.5.0","c":103},{"v":"8.4.0","c":6,"d":"2024-09-20"},{"d":"2024-09-20","c":4,"v":"8.4.1"},{"v":"All","c":39599,"d":"2024-09-20"},{"c":19833,"v":"8.5.2","d":"2024-09-22"},{"c":12205,"v":"8.5.3","d":"2024-09-22"},{"d":"2024-09-22","c":5721,"v":"8.5.1"},{"d":"2024-09-22","v":"9.0.0","c":1817},{"c":102,"v":"8.5.0","d":"2024-09-22"},{"c":6,"v":"8.4.0","d":"2024-09-22"},{"d":"2024-09-22","v":"8.4.1","c":4},{"c":39688,"v":"All","d":"2024-09-22"},{"d":"2024-09-24","v":"8.5.2","c":19905},{"v":"8.5.3","c":12305,"d":"2024-09-24"},{"d":"2024-09-24","c":5736,"v":"8.5.1"},{"d":"2024-09-24","c":1821,"v":"9.0.0"},{"c":101,"v":"8.5.0","d":"2024-09-24"},{"v":"8.4.0","c":6,"d":"2024-09-24"},{"c":4,"v":"8.4.1","d":"2024-09-24"},{"d":"2024-09-24","c":39878,"v":"All"},{"v":"8.5.2","c":19933,"d":"2024-09-26"},{"d":"2024-09-26","c":12412,"v":"8.5.3"},{"d":"2024-09-26","c":5712,"v":"8.5.1"},{"d":"2024-09-26","c":1820,"v":"9.0.0"},{"d":"2024-09-26","v":"8.5.0","c":102},{"d":"2024-09-26","c":6,"v":"8.4.0"},{"d":"2024-09-26","c":4,"v":"8.4.1"},{"d":"2024-09-26","c":39989,"v":"All"},{"v":"8.5.2","c":20099,"d":"2024-09-28"},{"v":"8.5.3","c":12564,"d":"2024-09-28"},{"d":"2024-09-28","v":"8.5.1","c":5722},{"c":1818,"v":"9.0.0","d":"2024-09-28"},{"v":"8.5.0","c":101,"d":"2024-09-28"},{"c":6,"v":"8.4.0","d":"2024-09-28"},{"d":"2024-09-28","v":"8.4.1","c":4},{"d":"2024-09-28","c":40314,"v":"All"},{"d":"2024-09-30","v":"8.5.2","c":20316},{"d":"2024-09-30","c":12714,"v":"8.5.3"},{"d":"2024-09-30","c":5716,"v":"8.5.1"},{"d":"2024-09-30","v":"9.0.0","c":1829},{"d":"2024-09-30","c":100,"v":"8.5.0"},{"c":6,"v":"8.4.0","d":"2024-09-30"},{"c":3,"v":"8.4.1","d":"2024-09-30"},{"d":"2024-09-30","c":40684,"v":"All"},{"d":"2024-10-02","c":20360,"v":"8.5.2"},{"v":"8.5.3","c":12741,"d":"2024-10-02"},{"c":5690,"v":"8.5.1","d":"2024-10-02"},{"d":"2024-10-02","v":"9.0.0","c":1845},{"d":"2024-10-02","v":"8.5.0","c":99},{"d":"2024-10-02","c":6,"v":"8.4.0"},{"c":3,"v":"8.4.1","d":"2024-10-02"},{"v":"All","c":40744,"d":"2024-10-02"},{"v":"8.5.2","c":20475,"d":"2024-10-04"},{"d":"2024-10-04","v":"8.5.3","c":12846},{"d":"2024-10-04","c":5653,"v":"8.5.1"},{"c":1846,"v":"9.0.0","d":"2024-10-04"},{"v":"8.5.0","c":99,"d":"2024-10-04"},{"d":"2024-10-04","c":6,"v":"8.4.0"},{"d":"2024-10-04","v":"8.4.1","c":3},{"v":"All","c":40928,"d":"2024-10-04"},{"c":20655,"v":"8.5.2","d":"2024-10-06"},{"d":"2024-10-06","c":12968,"v":"8.5.3"},{"c":5623,"v":"8.5.1","d":"2024-10-06"},{"c":1846,"v":"9.0.0","d":"2024-10-06"},{"d":"2024-10-06","v":"8.5.0","c":100},{"d":"2024-10-06","c":6,"v":"8.4.0"},{"d":"2024-10-06","c":3,"v":"8.4.1"},{"d":"2024-10-06","c":41201,"v":"All"},{"v":"8.5.2","c":20824,"d":"2024-10-08"},{"d":"2024-10-08","c":13028,"v":"8.5.3"},{"v":"8.5.1","c":5631,"d":"2024-10-08"},{"c":1861,"v":"9.0.0","d":"2024-10-08"},{"v":"8.5.0","c":100,"d":"2024-10-08"},{"d":"2024-10-08","c":6,"v":"8.4.0"},{"c":3,"v":"8.4.1","d":"2024-10-08"},{"d":"2024-10-08","c":41453,"v":"All"},{"c":20874,"v":"8.5.2","d":"2024-10-10"},{"d":"2024-10-10","v":"8.5.3","c":13087},{"v":"8.5.1","c":5602,"d":"2024-10-10"},{"d":"2024-10-10","v":"9.0.0","c":1870},{"d":"2024-10-10","c":99,"v":"8.5.0"},{"c":6,"v":"8.4.0","d":"2024-10-10"},{"c":3,"v":"8.4.1","d":"2024-10-10"},{"d":"2024-10-10","v":"All","c":41541},{"c":20960,"v":"8.5.2","d":"2024-10-12"},{"c":13149,"v":"8.5.3","d":"2024-10-12"},{"c":5575,"v":"8.5.1","d":"2024-10-12"},{"v":"9.0.0","c":1882,"d":"2024-10-12"},{"v":"8.5.0","c":99,"d":"2024-10-12"},{"d":"2024-10-12","c":6,"v":"8.4.0"},{"d":"2024-10-12","v":"8.4.1","c":3},{"v":"All","c":41674,"d":"2024-10-12"},{"c":21146,"v":"8.5.2","d":"2024-10-14"},{"d":"2024-10-14","c":13205,"v":"8.5.3"},{"c":5581,"v":"8.5.1","d":"2024-10-14"},{"d":"2024-10-14","v":"9.0.0","c":1888},{"d":"2024-10-14","c":99,"v":"8.5.0"},{"d":"2024-10-14","c":6,"v":"8.4.0"},{"d":"2024-10-14","v":"8.4.1","c":3},{"d":"2024-10-14","v":"All","c":41928},{"d":"2024-10-16","c":21181,"v":"8.5.2"},{"d":"2024-10-16","c":13242,"v":"8.5.3"},{"c":5526,"v":"8.5.1","d":"2024-10-16"},{"d":"2024-10-16","c":1888,"v":"9.0.0"},{"d":"2024-10-16","v":"8.5.0","c":97},{"v":"8.4.0","c":6,"d":"2024-10-16"},{"v":"8.4.1","c":3,"d":"2024-10-16"},{"d":"2024-10-16","c":41943,"v":"All"},{"d":"2024-10-18","c":21244,"v":"8.5.2"},{"c":13356,"v":"8.5.3","d":"2024-10-18"},{"d":"2024-10-18","c":5496,"v":"8.5.1"},{"v":"9.0.0","c":1900,"d":"2024-10-18"},{"c":100,"v":"8.5.0","d":"2024-10-18"},{"c":6,"v":"8.4.0","d":"2024-10-18"},{"c":3,"v":"8.4.1","d":"2024-10-18"},{"c":42105,"v":"All","d":"2024-10-18"},{"c":21398,"v":"8.5.2","d":"2024-10-20"},{"c":13566,"v":"8.5.3","d":"2024-10-20"},{"d":"2024-10-20","c":5483,"v":"8.5.1"},{"v":"9.0.0","c":1928,"d":"2024-10-20"},{"c":99,"v":"8.5.0","d":"2024-10-20"},{"v":"8.4.0","c":7,"d":"2024-10-20"},{"c":3,"v":"8.4.1","d":"2024-10-20"},{"d":"2024-10-20","c":42484,"v":"All"},{"d":"2024-10-22","v":"8.5.2","c":21575},{"d":"2024-10-22","v":"8.5.3","c":13721},{"d":"2024-10-22","v":"8.5.1","c":5498},{"c":1969,"v":"9.0.0","d":"2024-10-22"},{"c":98,"v":"8.5.0","d":"2024-10-22"},{"d":"2024-10-22","c":7,"v":"8.4.0"},{"c":3,"v":"8.4.1","d":"2024-10-22"},{"c":42871,"v":"All","d":"2024-10-22"},{"d":"2024-10-24","c":21660,"v":"8.5.2"},{"d":"2024-10-24","v":"8.5.3","c":13713},{"d":"2024-10-24","c":5503,"v":"8.5.1"},{"c":1992,"v":"9.0.0","d":"2024-10-24"},{"v":"8.5.0","c":97,"d":"2024-10-24"},{"d":"2024-10-24","c":7,"v":"8.4.0"},{"d":"2024-10-24","c":3,"v":"8.4.1"},{"d":"2024-10-24","v":"All","c":42975},{"c":21764,"v":"8.5.2","d":"2024-10-26"},{"v":"8.5.3","c":13774,"d":"2024-10-26"},{"d":"2024-10-26","c":5508,"v":"8.5.1"},{"c":2024,"v":"9.0.0","d":"2024-10-26"},{"v":"8.5.0","c":95,"d":"2024-10-26"},{"d":"2024-10-26","v":"8.4.0","c":7},{"v":"8.4.1","c":3,"d":"2024-10-26"},{"v":"All","c":43175,"d":"2024-10-26"},{"d":"2024-10-28","c":21970,"v":"8.5.2"},{"d":"2024-10-28","v":"8.5.3","c":13886},{"v":"8.5.1","c":5497,"d":"2024-10-28"},{"c":2082,"v":"9.0.0","d":"2024-10-28"},{"c":95,"v":"8.5.0","d":"2024-10-28"},{"d":"2024-10-28","c":7,"v":"8.4.0"},{"v":"8.4.1","c":3,"d":"2024-10-28"},{"d":"2024-10-28","c":43540,"v":"All"},{"c":21993,"v":"8.5.2","d":"2024-10-30"},{"c":13912,"v":"8.5.3","d":"2024-10-30"},{"c":5452,"v":"8.5.1","d":"2024-10-30"},{"c":2124,"v":"9.0.0","d":"2024-10-30"},{"v":"8.5.0","c":95,"d":"2024-10-30"},{"v":"8.4.0","c":7,"d":"2024-10-30"},{"d":"2024-10-30","v":"8.4.1","c":3},{"c":43586,"v":"All","d":"2024-10-30"},{"d":"2024-11-01","v":"8.5.2","c":22128},{"v":"8.5.3","c":13986,"d":"2024-11-01"},{"c":5457,"v":"8.5.1","d":"2024-11-01"},{"d":"2024-11-01","v":"9.0.0","c":2144},{"c":94,"v":"8.5.0","d":"2024-11-01"},{"d":"2024-11-01","v":"8.4.0","c":7},{"v":"8.4.1","c":3,"d":"2024-11-01"},{"d":"2024-11-01","v":"All","c":43819},{"v":"8.5.2","c":22255,"d":"2024-11-03"},{"d":"2024-11-03","c":14091,"v":"8.5.3"},{"d":"2024-11-03","v":"8.5.1","c":5472},{"d":"2024-11-03","v":"9.0.0","c":2190},{"d":"2024-11-03","c":93,"v":"8.5.0"},{"d":"2024-11-03","v":"8.4.0","c":7},{"v":"8.4.1","c":3,"d":"2024-11-03"},{"d":"2024-11-03","c":44111,"v":"All"},{"d":"2024-11-05","c":22366,"v":"8.5.2"},{"v":"8.5.3","c":14201,"d":"2024-11-05"},{"v":"8.5.1","c":5508,"d":"2024-11-05"},{"d":"2024-11-05","c":2215,"v":"9.0.0"},{"v":"8.5.0","c":94,"d":"2024-11-05"},{"d":"2024-11-05","c":7,"v":"8.4.0"},{"c":3,"v":"8.4.1","d":"2024-11-05"},{"d":"2024-11-05","v":"All","c":44394}]} \ No newline at end of file diff --git a/analytics/world_map.json b/analytics/world_map.json new file mode 100644 index 00000000..7f906024 --- /dev/null +++ b/analytics/world_map.json @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Costa Rica","sov_a3":"CRI","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Costa Rica","adm0_a3":"CRI","geou_dif":0,"geounit":"Costa Rica","gu_a3":"CRI","su_dif":0,"subunit":"Costa Rica","su_a3":"CRI","brk_diff":0,"name":"Costa Rica","name_long":"Costa Rica","brk_a3":"CRI","brk_name":"Costa Rica","brk_group":null,"abbrev":"C.R.","postal":"CR","formal_en":"Republic of Costa Rica","formal_fr":null,"name_ciawf":"Costa Rica","note_adm0":null,"note_brk":null,"name_sort":"Costa Rica","name_alt":null,"mapcolor7":3,"mapcolor8":2,"mapcolor9":4,"mapcolor13":2,"pop_est":5047561,"pop_rank":13,"pop_year":2019,"gdp_md":61801,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"3. Upper middle income","fips_10":"CS","iso_a2":"CR","iso_a2_eh":"CR","iso_a3":"CRI","iso_a3_eh":"CRI","iso_n3":"188","iso_n3_eh":"188","un_a3":"188","wb_a2":"CR","wb_a3":"CRI","woe_id":23424791,"woe_id_eh":23424791,"woe_note":"Exact WOE match as country","adm0_iso":"CRI","adm0_diff":null,"adm0_tlc":"CRI","adm0_a3_us":"CRI","adm0_a3_fr":"CRI","adm0_a3_ru":"CRI","adm0_a3_es":"CRI","adm0_a3_cn":"CRI","adm0_a3_tw":"CRI","adm0_a3_in":"CRI","adm0_a3_np":"CRI","adm0_a3_pk":"CRI","adm0_a3_de":"CRI","adm0_a3_gb":"CRI","adm0_a3_br":"CRI","adm0_a3_il":"CRI","adm0_a3_ps":"CRI","adm0_a3_sa":"CRI","adm0_a3_eg":"CRI","adm0_a3_ma":"CRI","adm0_a3_pt":"CRI","adm0_a3_ar":"CRI","adm0_a3_jp":"CRI","adm0_a3_ko":"CRI","adm0_a3_vn":"CRI","adm0_a3_tr":"CRI","adm0_a3_id":"CRI","adm0_a3_pl":"CRI","adm0_a3_gr":"CRI","adm0_a3_it":"CRI","adm0_a3_nl":"CRI","adm0_a3_se":"CRI","adm0_a3_bd":"CRI","adm0_a3_ua":"CRI","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Central America","region_wb":"Latin America & Caribbean","name_len":10,"long_len":10,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.5,"max_label":8,"label_x":-84.077922,"label_y":10.0651,"ne_id":1159320525,"wikidataid":"Q800","name_ar":"كوستاريكا","name_bn":"কোস্টা রিকা","name_de":"Costa Rica","name_en":"Costa Rica","name_es":"Costa Rica","name_fa":"کاستاریکا","name_fr":"Costa Rica","name_el":"Κόστα Ρίκα","name_he":"קוסטה ריקה","name_hi":"कोस्टा रीका","name_hu":"Costa Rica","name_id":"Kosta Rika","name_it":"Costa Rica","name_ja":"コスタリカ","name_ko":"코스타리카","name_nl":"Costa Rica","name_pl":"Kostaryka","name_pt":"Costa Rica","name_ru":"Коста-Рика","name_sv":"Costa Rica","name_tr":"Kosta Rika","name_uk":"Коста-Рика","name_ur":"کوسٹاریکا","name_vi":"Costa Rica","name_zh":"哥斯达黎加","name_zht":"哥斯大黎加","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"CRI.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-82.54619625520348,9.566134751824677],[-82.93289099804358,9.476812038608173],[-82.92715491405916,9.074330145702916],[-82.71918311230053,8.925708726431495],[-82.86865719270477,8.807266343618522],[-82.82977067740516,8.62629547773237],[-82.91317643912421,8.42351715741907],[-82.96578304719736,8.225027980985985],[-83.50843726269431,8.446926581247283],[-83.71147396516908,8.656836249216866],[-83.59631303580665,8.830443223501419],[-83.63264156770784,9.051385809765321],[-83.90988562695374,9.29080272057358],[-84.30340165885636,9.487354030795714],[-84.64764421256866,9.61553742109571],[-84.71335079622777,9.908051866083852],[-84.97566036654133,10.086723130733006],[-84.91137488477024,9.795991522658923],[-85.11092342806532,9.55703969974131],[-85.33948828809227,9.83454214114866],[-85.66078650586698,9.933347479690724],[-85.79744483106285,10.134885565629034],[-85.79170874707843,10.439337266476613],[-85.65931372754667,10.75433095951172],[-85.94172543002176,10.895278428587801],[-85.7125404528073,11.088444932494824],[-85.5618519762442,11.217119248901597],[-84.90300330273895,10.952303371621896],[-84.67306901725627,11.082657172078143],[-84.35593075228104,10.999225572142905],[-84.19017859570485,10.793450018756674],[-83.89505449088595,10.726839097532446],[-83.65561174186158,10.938764146361422],[-83.40231970898296,10.395438137244653],[-83.01567664257517,9.992982082555557],[-82.54619625520348,9.566134751824677]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Nicaragua","sov_a3":"NIC","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Nicaragua","adm0_a3":"NIC","geou_dif":0,"geounit":"Nicaragua","gu_a3":"NIC","su_dif":0,"subunit":"Nicaragua","su_a3":"NIC","brk_diff":0,"name":"Nicaragua","name_long":"Nicaragua","brk_a3":"NIC","brk_name":"Nicaragua","brk_group":null,"abbrev":"Nic.","postal":"NI","formal_en":"Republic of Nicaragua","formal_fr":null,"name_ciawf":"Nicaragua","note_adm0":null,"note_brk":null,"name_sort":"Nicaragua","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":1,"mapcolor13":9,"pop_est":6545502,"pop_rank":13,"pop_year":2019,"gdp_md":12520,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"NU","iso_a2":"NI","iso_a2_eh":"NI","iso_a3":"NIC","iso_a3_eh":"NIC","iso_n3":"558","iso_n3_eh":"558","un_a3":"558","wb_a2":"NI","wb_a3":"NIC","woe_id":23424915,"woe_id_eh":23424915,"woe_note":"Exact WOE match as country","adm0_iso":"NIC","adm0_diff":null,"adm0_tlc":"NIC","adm0_a3_us":"NIC","adm0_a3_fr":"NIC","adm0_a3_ru":"NIC","adm0_a3_es":"NIC","adm0_a3_cn":"NIC","adm0_a3_tw":"NIC","adm0_a3_in":"NIC","adm0_a3_np":"NIC","adm0_a3_pk":"NIC","adm0_a3_de":"NIC","adm0_a3_gb":"NIC","adm0_a3_br":"NIC","adm0_a3_il":"NIC","adm0_a3_ps":"NIC","adm0_a3_sa":"NIC","adm0_a3_eg":"NIC","adm0_a3_ma":"NIC","adm0_a3_pt":"NIC","adm0_a3_ar":"NIC","adm0_a3_jp":"NIC","adm0_a3_ko":"NIC","adm0_a3_vn":"NIC","adm0_a3_tr":"NIC","adm0_a3_id":"NIC","adm0_a3_pl":"NIC","adm0_a3_gr":"NIC","adm0_a3_it":"NIC","adm0_a3_nl":"NIC","adm0_a3_se":"NIC","adm0_a3_bd":"NIC","adm0_a3_ua":"NIC","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Central America","region_wb":"Latin America & Caribbean","name_len":9,"long_len":9,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":-85.069347,"label_y":12.670697,"ne_id":1159321091,"wikidataid":"Q811","name_ar":"نيكاراغوا","name_bn":"নিকারাগুয়া","name_de":"Nicaragua","name_en":"Nicaragua","name_es":"Nicaragua","name_fa":"نیکاراگوئه","name_fr":"Nicaragua","name_el":"Νικαράγουα","name_he":"ניקרגואה","name_hi":"निकारागुआ","name_hu":"Nicaragua","name_id":"Nikaragua","name_it":"Nicaragua","name_ja":"ニカラグア","name_ko":"니카라과","name_nl":"Nicaragua","name_pl":"Nikaragua","name_pt":"Nicarágua","name_ru":"Никарагуа","name_sv":"Nicaragua","name_tr":"Nikaragua","name_uk":"Нікарагуа","name_ur":"نکاراگوا","name_vi":"Nicaragua","name_zh":"尼加拉瓜","name_zht":"尼加拉瓜","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"NIC.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-83.65561174186158,10.938764146361422],[-83.89505449088595,10.726839097532446],[-84.19017859570485,10.793450018756674],[-84.35593075228104,10.999225572142905],[-84.67306901725627,11.082657172078143],[-84.90300330273895,10.952303371621896],[-85.5618519762442,11.217119248901597],[-85.7125404528073,11.088444932494824],[-86.05848832878526,11.403438625529944],[-86.52584998243296,11.806876532432597],[-86.74599158399633,12.143961900272487],[-87.16751624220116,12.458257961471658],[-87.66849341505471,12.909909979702633],[-87.55746660027562,13.064551703336065],[-87.39238623731923,12.914018256069838],[-87.31665442579549,12.984685777228975],[-87.00576900912758,13.025794379117158],[-86.88055701368438,13.254204209847217],[-86.7338217841916,13.263092556201443],[-86.75508663607971,13.754845485890913],[-86.52070817741992,13.778487453664468],[-86.31214209668993,13.77135610600817],[-86.09626380079061,14.038187364147234],[-85.80129472526859,13.83605499923759],[-85.69866533073696,13.960078436738002],[-85.51441301140028,14.079011745657908],[-85.16536454948482,14.354369615125051],[-85.14875057650296,14.560196844943617],[-85.05278744173694,14.551541042534723],[-84.9245006985724,14.79049286545235],[-84.82003679069436,14.81958669683267],[-84.64958207877964,14.666805324761867],[-84.4493359036486,14.621614284722511],[-84.22834164095241,14.74876414637663],[-83.97572140169359,14.749435939996488],[-83.62858496777292,14.880073960830302],[-83.48998877636612,15.016267198135537],[-83.14721900097413,14.99582916916411],[-83.23323442252394,14.899866034398102],[-83.2841615465476,14.6766238468972],[-83.18212643098728,14.31070302983845],[-83.41249996614445,13.970077826386557],[-83.51983191601468,13.567699286345883],[-83.55220720084554,13.127054348193086],[-83.49851538769427,12.869292303921227],[-83.47332312695198,12.419087225794428],[-83.62610449902292,12.320850328007566],[-83.71961300325506,11.893124497927728],[-83.65085751009072,11.62903209070012],[-83.8554703437504,11.373311265503787],[-83.80893571647155,11.103043524617275],[-83.65561174186158,10.938764146361422]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Haiti","sov_a3":"HTI","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Haiti","adm0_a3":"HTI","geou_dif":0,"geounit":"Haiti","gu_a3":"HTI","su_dif":0,"subunit":"Haiti","su_a3":"HTI","brk_diff":0,"name":"Haiti","name_long":"Haiti","brk_a3":"HTI","brk_name":"Haiti","brk_group":null,"abbrev":"Haiti","postal":"HT","formal_en":"Republic of Haiti","formal_fr":null,"name_ciawf":"Haiti","note_adm0":null,"note_brk":null,"name_sort":"Haiti","name_alt":null,"mapcolor7":2,"mapcolor8":1,"mapcolor9":7,"mapcolor13":2,"pop_est":11263077,"pop_rank":14,"pop_year":2019,"gdp_md":14332,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"HA","iso_a2":"HT","iso_a2_eh":"HT","iso_a3":"HTI","iso_a3_eh":"HTI","iso_n3":"332","iso_n3_eh":"332","un_a3":"332","wb_a2":"HT","wb_a3":"HTI","woe_id":23424839,"woe_id_eh":23424839,"woe_note":"Exact WOE match as country","adm0_iso":"HTI","adm0_diff":null,"adm0_tlc":"HTI","adm0_a3_us":"HTI","adm0_a3_fr":"HTI","adm0_a3_ru":"HTI","adm0_a3_es":"HTI","adm0_a3_cn":"HTI","adm0_a3_tw":"HTI","adm0_a3_in":"HTI","adm0_a3_np":"HTI","adm0_a3_pk":"HTI","adm0_a3_de":"HTI","adm0_a3_gb":"HTI","adm0_a3_br":"HTI","adm0_a3_il":"HTI","adm0_a3_ps":"HTI","adm0_a3_sa":"HTI","adm0_a3_eg":"HTI","adm0_a3_ma":"HTI","adm0_a3_pt":"HTI","adm0_a3_ar":"HTI","adm0_a3_jp":"HTI","adm0_a3_ko":"HTI","adm0_a3_vn":"HTI","adm0_a3_tr":"HTI","adm0_a3_id":"HTI","adm0_a3_pl":"HTI","adm0_a3_gr":"HTI","adm0_a3_it":"HTI","adm0_a3_nl":"HTI","adm0_a3_se":"HTI","adm0_a3_bd":"HTI","adm0_a3_ua":"HTI","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Caribbean","region_wb":"Latin America & Caribbean","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":-72.224051,"label_y":19.263784,"ne_id":1159320839,"wikidataid":"Q790","name_ar":"هايتي","name_bn":"হাইতি","name_de":"Haiti","name_en":"Haiti","name_es":"Haití","name_fa":"هائیتی","name_fr":"Haïti","name_el":"Αϊτή","name_he":"האיטי","name_hi":"हैती","name_hu":"Haiti","name_id":"Haiti","name_it":"Haiti","name_ja":"ハイチ","name_ko":"아이티","name_nl":"Haïti","name_pl":"Haiti","name_pt":"Haiti","name_ru":"Республика Гаити","name_sv":"Haiti","name_tr":"Haiti","name_uk":"Гаїті","name_ur":"ہیٹی","name_vi":"Haiti","name_zh":"海地","name_zht":"海地","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"HTI.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-71.71236141629296,19.714455878167357],[-71.62487321642283,19.169837958243306],[-71.7013026597825,18.785416978424053],[-71.94511206733556,18.61690013272026],[-71.68773759630588,18.31666006110447],[-71.70830481635805,18.044997056546094],[-72.37247616238935,18.21496084235406],[-72.84441118029488,18.145611070218365],[-73.45455481636503,18.2179063989947],[-73.92243323433566,18.030992743395004],[-74.45803361682478,18.342549953682706],[-74.36992529976713,18.66490753831941],[-73.44954220243272,18.526052964751145],[-72.69493709989064,18.445799465401862],[-72.334881557897,18.668421535715254],[-72.79164954292489,19.10162506761803],[-72.78410478381028,19.48359141690341],[-73.41502234566175,19.639550889560283],[-73.18979061551762,19.915683905511912],[-72.57967281766362,19.871500555902358],[-71.71236141629296,19.714455878167357]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Dominican Republic","sov_a3":"DOM","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Dominican Republic","adm0_a3":"DOM","geou_dif":0,"geounit":"Dominican Republic","gu_a3":"DOM","su_dif":0,"subunit":"Dominican Republic","su_a3":"DOM","brk_diff":0,"name":"Dominican Rep.","name_long":"Dominican Republic","brk_a3":"DOM","brk_name":"Dominican Rep.","brk_group":null,"abbrev":"Dom. Rep.","postal":"DO","formal_en":"Dominican Republic","formal_fr":null,"name_ciawf":"Dominican Republic","note_adm0":null,"note_brk":null,"name_sort":"Dominican Republic","name_alt":null,"mapcolor7":5,"mapcolor8":2,"mapcolor9":5,"mapcolor13":7,"pop_est":10738958,"pop_rank":14,"pop_year":2019,"gdp_md":88941,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"DR","iso_a2":"DO","iso_a2_eh":"DO","iso_a3":"DOM","iso_a3_eh":"DOM","iso_n3":"214","iso_n3_eh":"214","un_a3":"214","wb_a2":"DO","wb_a3":"DOM","woe_id":23424800,"woe_id_eh":23424800,"woe_note":"Exact WOE match as country","adm0_iso":"DOM","adm0_diff":null,"adm0_tlc":"DOM","adm0_a3_us":"DOM","adm0_a3_fr":"DOM","adm0_a3_ru":"DOM","adm0_a3_es":"DOM","adm0_a3_cn":"DOM","adm0_a3_tw":"DOM","adm0_a3_in":"DOM","adm0_a3_np":"DOM","adm0_a3_pk":"DOM","adm0_a3_de":"DOM","adm0_a3_gb":"DOM","adm0_a3_br":"DOM","adm0_a3_il":"DOM","adm0_a3_ps":"DOM","adm0_a3_sa":"DOM","adm0_a3_eg":"DOM","adm0_a3_ma":"DOM","adm0_a3_pt":"DOM","adm0_a3_ar":"DOM","adm0_a3_jp":"DOM","adm0_a3_ko":"DOM","adm0_a3_vn":"DOM","adm0_a3_tr":"DOM","adm0_a3_id":"DOM","adm0_a3_pl":"DOM","adm0_a3_gr":"DOM","adm0_a3_it":"DOM","adm0_a3_nl":"DOM","adm0_a3_se":"DOM","adm0_a3_bd":"DOM","adm0_a3_ua":"DOM","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Caribbean","region_wb":"Latin America & Caribbean","name_len":14,"long_len":18,"abbrev_len":9,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4.5,"max_label":9.5,"label_x":-70.653998,"label_y":19.104137,"ne_id":1159320563,"wikidataid":"Q786","name_ar":"جمهورية الدومينيكان","name_bn":"ডোমিনিকান প্রজাতন্ত্র","name_de":"Dominikanische Republik","name_en":"Dominican Republic","name_es":"República Dominicana","name_fa":"جمهوری دومینیکن","name_fr":"République dominicaine","name_el":"Δομινικανή Δημοκρατία","name_he":"הרפובליקה הדומיניקנית","name_hi":"डोमिनिकन गणराज्य","name_hu":"Dominikai Köztársaság","name_id":"Republik Dominika","name_it":"Repubblica Dominicana","name_ja":"ドミニカ共和国","name_ko":"도미니카 공화국","name_nl":"Dominicaanse Republiek","name_pl":"Dominikana","name_pt":"República Dominicana","name_ru":"Доминиканская Республика","name_sv":"Dominikanska republiken","name_tr":"Dominik Cumhuriyeti","name_uk":"Домініканська Республіка","name_ur":"جمہوریہ ڈومینیکن","name_vi":"Cộng hòa Dominica","name_zh":"多米尼加","name_zht":"多明尼加","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"DOM.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-71.70830481635805,18.044997056546094],[-71.68773759630588,18.31666006110447],[-71.94511206733556,18.61690013272026],[-71.7013026597825,18.785416978424053],[-71.62487321642283,19.169837958243306],[-71.71236141629296,19.714455878167357],[-71.58730445014663,19.8849105900821],[-70.80670610216174,19.880285549391985],[-70.21436499701613,19.62288524014616],[-69.95081519232758,19.64799998624001],[-69.76925004747008,19.29326711677244],[-69.22212582057988,19.313214219637103],[-69.25434607611385,19.015196234609874],[-68.80941199408083,18.979074408437853],[-68.31794328476897,18.612197577381693],[-68.68931596543452,18.205142320218613],[-69.16494584824892,18.42264842373511],[-69.62398759629764,18.38071299893025],[-69.95293392605154,18.42830699307106],[-70.1332329983179,18.245915025296895],[-70.51713721381422,18.184290879788833],[-70.66929846869763,18.426885891183034],[-70.99995012071719,18.283328762276213],[-71.4002099270339,17.5985643579766],[-71.65766191271202,17.7575727401387],[-71.70830481635805,18.044997056546094]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"El Salvador","sov_a3":"SLV","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"El Salvador","adm0_a3":"SLV","geou_dif":0,"geounit":"El Salvador","gu_a3":"SLV","su_dif":0,"subunit":"El Salvador","su_a3":"SLV","brk_diff":0,"name":"El Salvador","name_long":"El Salvador","brk_a3":"SLV","brk_name":"El Salvador","brk_group":null,"abbrev":"El. S.","postal":"SV","formal_en":"Republic of El Salvador","formal_fr":null,"name_ciawf":"El Salvador","note_adm0":null,"note_brk":null,"name_sort":"El Salvador","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":6,"mapcolor13":8,"pop_est":6453553,"pop_rank":13,"pop_year":2019,"gdp_md":27022,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"ES","iso_a2":"SV","iso_a2_eh":"SV","iso_a3":"SLV","iso_a3_eh":"SLV","iso_n3":"222","iso_n3_eh":"222","un_a3":"222","wb_a2":"SV","wb_a3":"SLV","woe_id":23424807,"woe_id_eh":23424807,"woe_note":"Exact WOE match as country","adm0_iso":"SLV","adm0_diff":null,"adm0_tlc":"SLV","adm0_a3_us":"SLV","adm0_a3_fr":"SLV","adm0_a3_ru":"SLV","adm0_a3_es":"SLV","adm0_a3_cn":"SLV","adm0_a3_tw":"SLV","adm0_a3_in":"SLV","adm0_a3_np":"SLV","adm0_a3_pk":"SLV","adm0_a3_de":"SLV","adm0_a3_gb":"SLV","adm0_a3_br":"SLV","adm0_a3_il":"SLV","adm0_a3_ps":"SLV","adm0_a3_sa":"SLV","adm0_a3_eg":"SLV","adm0_a3_ma":"SLV","adm0_a3_pt":"SLV","adm0_a3_ar":"SLV","adm0_a3_jp":"SLV","adm0_a3_ko":"SLV","adm0_a3_vn":"SLV","adm0_a3_tr":"SLV","adm0_a3_id":"SLV","adm0_a3_pl":"SLV","adm0_a3_gr":"SLV","adm0_a3_it":"SLV","adm0_a3_nl":"SLV","adm0_a3_se":"SLV","adm0_a3_bd":"SLV","adm0_a3_ua":"SLV","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Central America","region_wb":"Latin America & Caribbean","name_len":11,"long_len":11,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":-88.890124,"label_y":13.685371,"ne_id":1159321253,"wikidataid":"Q792","name_ar":"السلفادور","name_bn":"এল সালভাদোর","name_de":"El Salvador","name_en":"El Salvador","name_es":"El Salvador","name_fa":"السالوادور","name_fr":"Salvador","name_el":"Ελ Σαλβαδόρ","name_he":"אל סלוודור","name_hi":"अल साल्वाडोर","name_hu":"Salvador","name_id":"El Salvador","name_it":"El Salvador","name_ja":"エルサルバドル","name_ko":"엘살바도르","name_nl":"El Salvador","name_pl":"Salwador","name_pt":"El Salvador","name_ru":"Сальвадор","name_sv":"El Salvador","name_tr":"El Salvador","name_uk":"Сальвадор","name_ur":"ایل سیلواڈور","name_vi":"El Salvador","name_zh":"萨尔瓦多","name_zht":"薩爾瓦多","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SLV.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-89.35332597528281,14.424132798719086],[-89.05851192905766,14.340029405164087],[-88.84307288283284,14.14050670008517],[-88.541230841816,13.980154730683479],[-88.50399797234971,13.845485948130857],[-88.06534257684014,13.964625962779778],[-87.85951534702161,13.893312486217098],[-87.7235029772294,13.785050360565506],[-87.79311113152657,13.384480495655055],[-87.90411210808952,13.149016831917137],[-88.48330156121682,13.163951320849492],[-88.84322791212972,13.259733588102478],[-89.2567427233293,13.458532823129303],[-89.81239356154767,13.520622056527998],[-90.09555457229098,13.735337632700734],[-90.0646779039966,13.881969509328925],[-89.72193396682073,14.134228013561696],[-89.53421932652051,14.244815578666305],[-89.58734269891656,14.36258616785949],[-89.35332597528281,14.424132798719086]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Guatemala","sov_a3":"GTM","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Guatemala","adm0_a3":"GTM","geou_dif":0,"geounit":"Guatemala","gu_a3":"GTM","su_dif":0,"subunit":"Guatemala","su_a3":"GTM","brk_diff":0,"name":"Guatemala","name_long":"Guatemala","brk_a3":"GTM","brk_name":"Guatemala","brk_group":null,"abbrev":"Guat.","postal":"GT","formal_en":"Republic of Guatemala","formal_fr":null,"name_ciawf":"Guatemala","note_adm0":null,"note_brk":null,"name_sort":"Guatemala","name_alt":null,"mapcolor7":3,"mapcolor8":3,"mapcolor9":3,"mapcolor13":6,"pop_est":16604026,"pop_rank":14,"pop_year":2019,"gdp_md":76710,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"GT","iso_a2":"GT","iso_a2_eh":"GT","iso_a3":"GTM","iso_a3_eh":"GTM","iso_n3":"320","iso_n3_eh":"320","un_a3":"320","wb_a2":"GT","wb_a3":"GTM","woe_id":23424834,"woe_id_eh":23424834,"woe_note":"Exact WOE match as country","adm0_iso":"GTM","adm0_diff":null,"adm0_tlc":"GTM","adm0_a3_us":"GTM","adm0_a3_fr":"GTM","adm0_a3_ru":"GTM","adm0_a3_es":"GTM","adm0_a3_cn":"GTM","adm0_a3_tw":"GTM","adm0_a3_in":"GTM","adm0_a3_np":"GTM","adm0_a3_pk":"GTM","adm0_a3_de":"GTM","adm0_a3_gb":"GTM","adm0_a3_br":"GTM","adm0_a3_il":"GTM","adm0_a3_ps":"GTM","adm0_a3_sa":"GTM","adm0_a3_eg":"GTM","adm0_a3_ma":"GTM","adm0_a3_pt":"GTM","adm0_a3_ar":"GTM","adm0_a3_jp":"GTM","adm0_a3_ko":"GTM","adm0_a3_vn":"GTM","adm0_a3_tr":"GTM","adm0_a3_id":"GTM","adm0_a3_pl":"GTM","adm0_a3_gr":"GTM","adm0_a3_it":"GTM","adm0_a3_nl":"GTM","adm0_a3_se":"GTM","adm0_a3_bd":"GTM","adm0_a3_ua":"GTM","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Central America","region_wb":"Latin America & Caribbean","name_len":9,"long_len":9,"abbrev_len":5,"tiny":4,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":-90.497134,"label_y":14.982133,"ne_id":1159320815,"wikidataid":"Q774","name_ar":"غواتيمالا","name_bn":"গুয়াতেমালা","name_de":"Guatemala","name_en":"Guatemala","name_es":"Guatemala","name_fa":"گواتمالا","name_fr":"Guatemala","name_el":"Γουατεμάλα","name_he":"גואטמלה","name_hi":"ग्वाटेमाला","name_hu":"Guatemala","name_id":"Guatemala","name_it":"Guatemala","name_ja":"グアテマラ","name_ko":"과테말라","name_nl":"Guatemala","name_pl":"Gwatemala","name_pt":"Guatemala","name_ru":"Гватемала","name_sv":"Guatemala","name_tr":"Guatemala","name_uk":"Гватемала","name_ur":"گواتیمالا","name_vi":"Guatemala","name_zh":"危地马拉","name_zht":"瓜地馬拉","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"GTM.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-92.22775000686983,14.538828640190928],[-92.20322953974733,14.830102850804069],[-92.08721594925207,15.064584662328441],[-92.2292486234063,15.251446641495875],[-91.74796017125595,16.066564846251765],[-90.46447262242266,16.069562079324655],[-90.43886695022204,16.410109768128095],[-90.60084672724093,16.47077789963879],[-90.71182186558772,16.687483018454728],[-91.08167009150065,16.918476670799407],[-91.45392127151516,17.252177232324172],[-91.00226925328421,17.25465770107418],[-91.00151994501596,17.81759491624571],[-90.06793351923098,17.819326076727478],[-89.14308041050333,17.808318996649405],[-89.15080603713095,17.015576687075836],[-89.22912167026928,15.886937567605171],[-88.93061275913527,15.887273464415076],[-88.60458614780585,15.70638011317736],[-88.51836402052686,15.855389105690975],[-88.22502275262202,15.727722479713904],[-88.68067969435563,15.346247056535304],[-89.15481096063357,15.06641917567481],[-89.22522009963127,14.874286200413621],[-89.14553504103719,14.678019110569153],[-89.35332597528281,14.424132798719086],[-89.58734269891656,14.36258616785949],[-89.53421932652051,14.244815578666305],[-89.72193396682073,14.134228013561696],[-90.0646779039966,13.881969509328925],[-90.09555457229098,13.735337632700734],[-90.60862403030085,13.909771429901951],[-91.23241024449605,13.927832342987957],[-91.68974667027913,14.126218166556455],[-92.22775000686983,14.538828640190928]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Cuba","sov_a3":"CU1","adm0_dif":1,"level":1,"type":"Sovereignty","tlc":"1","admin":"Cuba","adm0_a3":"CUB","geou_dif":0,"geounit":"Cuba","gu_a3":"CUB","su_dif":0,"subunit":"Cuba","su_a3":"CUB","brk_diff":0,"name":"Cuba","name_long":"Cuba","brk_a3":"CUB","brk_name":"Cuba","brk_group":null,"abbrev":"Cuba","postal":"CU","formal_en":"Republic of Cuba","formal_fr":null,"name_ciawf":"Cuba","note_adm0":null,"note_brk":null,"name_sort":"Cuba","name_alt":null,"mapcolor7":3,"mapcolor8":5,"mapcolor9":3,"mapcolor13":4,"pop_est":11333483,"pop_rank":14,"pop_year":2019,"gdp_md":100023,"gdp_year":2018,"economy":"5. Emerging region: G20","income_grp":"3. Upper middle income","fips_10":"CU","iso_a2":"CU","iso_a2_eh":"CU","iso_a3":"CUB","iso_a3_eh":"CUB","iso_n3":"192","iso_n3_eh":"192","un_a3":"192","wb_a2":"CU","wb_a3":"CUB","woe_id":23424793,"woe_id_eh":23424793,"woe_note":"Exact WOE match as country","adm0_iso":"CUB","adm0_diff":null,"adm0_tlc":"CUB","adm0_a3_us":"CUB","adm0_a3_fr":"CUB","adm0_a3_ru":"CUB","adm0_a3_es":"CUB","adm0_a3_cn":"CUB","adm0_a3_tw":"CUB","adm0_a3_in":"CUB","adm0_a3_np":"CUB","adm0_a3_pk":"CUB","adm0_a3_de":"CUB","adm0_a3_gb":"CUB","adm0_a3_br":"CUB","adm0_a3_il":"CUB","adm0_a3_ps":"CUB","adm0_a3_sa":"CUB","adm0_a3_eg":"CUB","adm0_a3_ma":"CUB","adm0_a3_pt":"CUB","adm0_a3_ar":"CUB","adm0_a3_jp":"CUB","adm0_a3_ko":"CUB","adm0_a3_vn":"CUB","adm0_a3_tr":"CUB","adm0_a3_id":"CUB","adm0_a3_pl":"CUB","adm0_a3_gr":"CUB","adm0_a3_it":"CUB","adm0_a3_nl":"CUB","adm0_a3_se":"CUB","adm0_a3_bd":"CUB","adm0_a3_ua":"CUB","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Caribbean","region_wb":"Latin America & Caribbean","name_len":4,"long_len":4,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.7,"max_label":8,"label_x":-77.975855,"label_y":21.334024,"ne_id":1159320527,"wikidataid":"Q241","name_ar":"كوبا","name_bn":"কিউবা","name_de":"Kuba","name_en":"Cuba","name_es":"Cuba","name_fa":"کوبا","name_fr":"Cuba","name_el":"Κούβα","name_he":"קובה","name_hi":"क्यूबा","name_hu":"Kuba","name_id":"Kuba","name_it":"Cuba","name_ja":"キューバ","name_ko":"쿠바","name_nl":"Cuba","name_pl":"Kuba","name_pt":"Cuba","name_ru":"Куба","name_sv":"Kuba","name_tr":"Küba","name_uk":"Куба","name_ur":"کیوبا","name_vi":"Cuba","name_zh":"古巴","name_zht":"古巴","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"CUB.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-82.26815121125706,23.188610744717707],[-81.40445716014683,23.117271429938782],[-80.6187686835812,23.105980129483],[-79.67952368846025,22.76530324959883],[-79.28148596873208,22.399201565027056],[-78.34743445505649,22.512166246017088],[-77.99329586456028,22.277193508385935],[-77.14642249216105,21.657851467367834],[-76.52382483590856,21.206819566324373],[-76.19462012399319,21.220565497314013],[-75.59822241891267,21.016624457274133],[-75.67106035022806,20.735091254148003],[-74.9338960435845,20.693905137611385],[-74.17802486845126,20.28462779385974],[-74.29664811877726,20.05037852628068],[-74.96159461129294,19.92343537035569],[-75.63468014189459,19.873774318923196],[-76.323656175426,19.95289093676206],[-77.75548092315307,19.855480861891877],[-77.08510840524674,20.413353786698792],[-77.49265458851661,20.673105373613893],[-78.13729224314159,20.739948838783434],[-78.48282670766119,21.02861338956585],[-78.71986650258401,21.598113511638434],[-79.28499996612794,21.5591753199065],[-80.21747534861865,21.827324327069036],[-80.51753455272141,22.03707896574176],[-81.82094336620318,22.19205658618507],[-82.16999182811864,22.387109279870753],[-81.79500179719267,22.636964830001958],[-82.77589799674085,22.688150336187064],[-83.49445878775936,22.16851797127613],[-83.90880042187563,22.154565334557333],[-84.05215084505326,21.910575059491254],[-84.54703019889638,21.801227728761646],[-84.97491105827311,21.89602814380109],[-84.44706214062776,22.204949856041907],[-84.23035702181178,22.565754706303764],[-83.7782399156902,22.788118394455694],[-83.26754757356575,22.983041897060644],[-82.51043616405751,23.078746649665188],[-82.26815121125706,23.188610744717707]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Honduras","sov_a3":"HND","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Honduras","adm0_a3":"HND","geou_dif":0,"geounit":"Honduras","gu_a3":"HND","su_dif":0,"subunit":"Honduras","su_a3":"HND","brk_diff":0,"name":"Honduras","name_long":"Honduras","brk_a3":"HND","brk_name":"Honduras","brk_group":null,"abbrev":"Hond.","postal":"HN","formal_en":"Republic of Honduras","formal_fr":null,"name_ciawf":"Honduras","note_adm0":null,"note_brk":null,"name_sort":"Honduras","name_alt":null,"mapcolor7":2,"mapcolor8":5,"mapcolor9":2,"mapcolor13":5,"pop_est":9746117,"pop_rank":13,"pop_year":2019,"gdp_md":25095,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"HO","iso_a2":"HN","iso_a2_eh":"HN","iso_a3":"HND","iso_a3_eh":"HND","iso_n3":"340","iso_n3_eh":"340","un_a3":"340","wb_a2":"HN","wb_a3":"HND","woe_id":23424841,"woe_id_eh":23424841,"woe_note":"Exact WOE match as country","adm0_iso":"HND","adm0_diff":null,"adm0_tlc":"HND","adm0_a3_us":"HND","adm0_a3_fr":"HND","adm0_a3_ru":"HND","adm0_a3_es":"HND","adm0_a3_cn":"HND","adm0_a3_tw":"HND","adm0_a3_in":"HND","adm0_a3_np":"HND","adm0_a3_pk":"HND","adm0_a3_de":"HND","adm0_a3_gb":"HND","adm0_a3_br":"HND","adm0_a3_il":"HND","adm0_a3_ps":"HND","adm0_a3_sa":"HND","adm0_a3_eg":"HND","adm0_a3_ma":"HND","adm0_a3_pt":"HND","adm0_a3_ar":"HND","adm0_a3_jp":"HND","adm0_a3_ko":"HND","adm0_a3_vn":"HND","adm0_a3_tr":"HND","adm0_a3_id":"HND","adm0_a3_pl":"HND","adm0_a3_gr":"HND","adm0_a3_it":"HND","adm0_a3_nl":"HND","adm0_a3_se":"HND","adm0_a3_bd":"HND","adm0_a3_ua":"HND","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Central America","region_wb":"Latin America & Caribbean","name_len":8,"long_len":8,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4.5,"max_label":9.5,"label_x":-86.887604,"label_y":14.794801,"ne_id":1159320827,"wikidataid":"Q783","name_ar":"هندوراس","name_bn":"হন্ডুরাস","name_de":"Honduras","name_en":"Honduras","name_es":"Honduras","name_fa":"هندوراس","name_fr":"Honduras","name_el":"Ονδούρα","name_he":"הונדורס","name_hi":"हौण्डुरस","name_hu":"Honduras","name_id":"Honduras","name_it":"Honduras","name_ja":"ホンジュラス","name_ko":"온두라스","name_nl":"Honduras","name_pl":"Honduras","name_pt":"Honduras","name_ru":"Гондурас","name_sv":"Honduras","name_tr":"Honduras","name_uk":"Гондурас","name_ur":"ہونڈوراس","name_vi":"Honduras","name_zh":"洪都拉斯","name_zht":"宏都拉斯","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"HND.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-83.14721900097413,14.99582916916411],[-83.48998877636612,15.016267198135537],[-83.62858496777292,14.880073960830302],[-83.97572140169359,14.749435939996488],[-84.22834164095241,14.74876414637663],[-84.4493359036486,14.621614284722511],[-84.64958207877964,14.666805324761867],[-84.82003679069436,14.81958669683267],[-84.9245006985724,14.79049286545235],[-85.05278744173694,14.551541042534723],[-85.14875057650296,14.560196844943617],[-85.16536454948482,14.354369615125051],[-85.51441301140028,14.079011745657908],[-85.69866533073696,13.960078436738002],[-85.80129472526859,13.83605499923759],[-86.09626380079061,14.038187364147234],[-86.31214209668993,13.77135610600817],[-86.52070817741992,13.778487453664468],[-86.75508663607971,13.754845485890913],[-86.7338217841916,13.263092556201443],[-86.88055701368438,13.254204209847217],[-87.00576900912758,13.025794379117158],[-87.31665442579549,12.984685777228975],[-87.48940873894713,13.297534898323931],[-87.79311113152657,13.384480495655055],[-87.7235029772294,13.785050360565506],[-87.85951534702161,13.893312486217098],[-88.06534257684014,13.964625962779778],[-88.50399797234971,13.845485948130857],[-88.541230841816,13.980154730683479],[-88.84307288283284,14.14050670008517],[-89.05851192905766,14.340029405164087],[-89.35332597528281,14.424132798719086],[-89.14553504103719,14.678019110569153],[-89.22522009963127,14.874286200413621],[-89.15481096063357,15.06641917567481],[-88.68067969435563,15.346247056535304],[-88.22502275262202,15.727722479713904],[-88.12115312371537,15.688655096901357],[-87.90181250685242,15.864458319558196],[-87.61568010125234,15.878798529519202],[-87.52292090528846,15.797278957578783],[-87.36776241733213,15.846940009011291],[-86.90319129102818,15.75671295822957],[-86.44094560417739,15.782835394753192],[-86.11923397494434,15.893448798073962],[-86.00195431185784,16.00540578863439],[-85.68331743034628,15.953651841693954],[-85.44400387240256,15.885749009662447],[-85.18244361035721,15.909158433490632],[-84.98372188997882,15.995923163308703],[-84.52697974316715,15.857223619037427],[-84.36825558138258,15.835157782448732],[-84.06305457226682,15.648244126849136],[-83.77397661002612,15.424071763566872],[-83.41038123242038,15.270902818253774],[-83.14721900097413,14.99582916916411]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"United States of America","sov_a3":"US1","adm0_dif":1,"level":2,"type":"Country","tlc":"1","admin":"United States of America","adm0_a3":"USA","geou_dif":0,"geounit":"United States of America","gu_a3":"USA","su_dif":0,"subunit":"United States","su_a3":"USA","brk_diff":0,"name":"United States of America","name_long":"United States","brk_a3":"USA","brk_name":"United States","brk_group":null,"abbrev":"U.S.A.","postal":"US","formal_en":"United States of America","formal_fr":null,"name_ciawf":"United States","note_adm0":null,"note_brk":null,"name_sort":"United States of America","name_alt":null,"mapcolor7":4,"mapcolor8":5,"mapcolor9":1,"mapcolor13":1,"pop_est":328239523,"pop_rank":17,"pop_year":2019,"gdp_md":21433226,"gdp_year":2019,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","fips_10":"US","iso_a2":"US","iso_a2_eh":"US","iso_a3":"USA","iso_a3_eh":"USA","iso_n3":"840","iso_n3_eh":"840","un_a3":"840","wb_a2":"US","wb_a3":"USA","woe_id":23424977,"woe_id_eh":23424977,"woe_note":"Exact WOE match as country","adm0_iso":"USA","adm0_diff":null,"adm0_tlc":"USA","adm0_a3_us":"USA","adm0_a3_fr":"USA","adm0_a3_ru":"USA","adm0_a3_es":"USA","adm0_a3_cn":"USA","adm0_a3_tw":"USA","adm0_a3_in":"USA","adm0_a3_np":"USA","adm0_a3_pk":"USA","adm0_a3_de":"USA","adm0_a3_gb":"USA","adm0_a3_br":"USA","adm0_a3_il":"USA","adm0_a3_ps":"USA","adm0_a3_sa":"USA","adm0_a3_eg":"USA","adm0_a3_ma":"USA","adm0_a3_pt":"USA","adm0_a3_ar":"USA","adm0_a3_jp":"USA","adm0_a3_ko":"USA","adm0_a3_vn":"USA","adm0_a3_tr":"USA","adm0_a3_id":"USA","adm0_a3_pl":"USA","adm0_a3_gr":"USA","adm0_a3_it":"USA","adm0_a3_nl":"USA","adm0_a3_se":"USA","adm0_a3_bd":"USA","adm0_a3_ua":"USA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Northern America","region_wb":"North America","name_len":24,"long_len":13,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":5.7,"label_x":-97.482602,"label_y":39.538479,"ne_id":1159321369,"wikidataid":"Q30","name_ar":"الولايات المتحدة","name_bn":"মার্কিন যুক্তরাষ্ট্র","name_de":"Vereinigte Staaten","name_en":"United States of America","name_es":"Estados Unidos","name_fa":"ایالات متحده آمریکا","name_fr":"États-Unis","name_el":"Ηνωμένες Πολιτείες Αμερικής","name_he":"ארצות הברית","name_hi":"संयुक्त राज्य अमेरिका","name_hu":"Amerikai Egyesült Államok","name_id":"Amerika Serikat","name_it":"Stati Uniti d'America","name_ja":"アメリカ合衆国","name_ko":"미국","name_nl":"Verenigde Staten van Amerika","name_pl":"Stany Zjednoczone","name_pt":"Estados Unidos","name_ru":"США","name_sv":"USA","name_tr":"Amerika Birleşik Devletleri","name_uk":"Сполучені Штати Америки","name_ur":"ریاستہائے متحدہ امریکا","name_vi":"Hoa Kỳ","name_zh":"美国","name_zht":"美國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"USA.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-122.84,49.000000000000114],[-120,49.000000000000114],[-117.03121,49],[-116.04818,49],[-113,49],[-110.05,49],[-107.05,49],[-104.04826,48.99986],[-100.65,49.000000000000114],[-97.2287200000048,49.0007],[-95.15906950917206,49],[-95.15609,49.38425],[-94.81758,49.38905],[-94.64,48.84],[-94.32914,48.67074],[-93.63087,48.60926],[-92.61,48.45],[-91.64,48.14],[-90.83,48.27],[-89.6,48.010000000000105],[-89.27291744663665,48.01980825458281],[-88.37811418328671,48.302917588893706],[-87.43979262330028,47.94],[-86.46199083122826,47.553338019392],[-85.65236324740341,47.22021881773051],[-84.8760798815149,46.90008331968238],[-84.77923824739992,46.63710195574902],[-84.54374874544584,46.538684190449146],[-84.6049,46.4396],[-84.3367,46.40877],[-84.1421195136734,46.51222585711571],[-84.0918512641615,46.27541860613826],[-83.89076534700574,46.116926988299014],[-83.61613094759059,46.116926988299014],[-83.46955074739469,45.994686387712534],[-83.59285071484311,45.81689362241252],[-82.55092464875821,45.34751658790543],[-82.33776312543114,44.44],[-82.13764238150395,43.57108755143997],[-82.43,42.98],[-82.9,42.43],[-83.12,42.08],[-83.14199968131264,41.975681057292874],[-83.029810146807,41.83279572200598],[-82.69008928092023,41.675105088867326],[-82.4392777167916,41.675105088867326],[-81.27774654816716,42.209025987306816],[-80.24744767934794,42.36619985612255],[-78.93936214874375,42.86361135514798],[-78.92,42.965],[-79.01,43.27],[-79.17167355011186,43.46633942318426],[-78.72027991404235,43.62508942318493],[-77.7378850979577,43.62905558936328],[-76.82003414580558,43.628784288093755],[-76.5,44.01845889375865],[-76.375,44.09631],[-75.31821,44.81645],[-74.867,45.00048],[-73.34783,45.00738],[-71.50506,45.0082],[-71.405,45.255],[-71.08482,45.30524000000014],[-70.66,45.46],[-70.305,45.915],[-69.99997,46.69307],[-69.237216,47.447781],[-68.905,47.185],[-68.23444,47.35486],[-67.79046,47.06636],[-67.79134,45.70281],[-67.13741,45.13753],[-66.96466,44.809700000000134],[-68.03252,44.3252],[-69.06,43.98],[-70.11617,43.68405000000013],[-70.64547563341102,43.09023834896402],[-70.81489,42.8653],[-70.825,42.335],[-70.495,41.805],[-70.08,41.78],[-70.185,42.145],[-69.88497,41.92283],[-69.96503,41.63717000000014],[-70.64,41.475],[-71.12039,41.49445000000014],[-71.86,41.32],[-72.295,41.27],[-72.87643,41.22065],[-73.71,40.93110235165449],[-72.24126,41.119480000000124],[-71.94499999999988,40.93],[-73.345,40.63],[-73.982,40.628],[-73.952325,40.75075],[-74.25671,40.47351],[-73.96244,40.42763],[-74.17838,39.70926],[-74.90604,38.93954],[-74.98041,39.1964],[-75.20002,39.248450000000105],[-75.52805,39.4985],[-75.32,38.96],[-75.07183476478986,38.782032230179254],[-75.05673,38.40412],[-75.37747,38.01551],[-75.94023,37.21689],[-76.03127,37.2566],[-75.72204999999985,37.93705000000011],[-76.23287,38.319215],[-76.35,39.15],[-76.542725,38.717615],[-76.32933,38.08326],[-76.98999793161352,38.23999176691336],[-76.30162,37.917945],[-76.25874,36.9664],[-75.9718,36.89726],[-75.8680399999999,36.55125],[-75.72749,35.55074000000013],[-76.36318,34.80854000000011],[-77.397635,34.51201],[-78.05496,33.92547],[-78.55434999999989,33.86133000000012],[-79.06067,33.49395],[-79.20357,33.15839],[-80.301325,32.509355],[-80.86498,32.0333],[-81.33629,31.44049],[-81.49042,30.7299900000001],[-81.31371,30.03552],[-80.98,29.18000000000012],[-80.535585,28.47213],[-80.52999999999986,28.04],[-80.05653928497759,26.88000000000011],[-80.088015,26.205765],[-80.13156,25.816775],[-80.38103,25.20616],[-80.68,25.08],[-81.17213,25.201260000000104],[-81.33,25.64],[-81.70999999999987,25.87],[-82.24,26.730000000000132],[-82.70515,27.49504],[-82.85526,27.88624],[-82.65,28.550000000000125],[-82.93,29.1],[-83.70959,29.93656],[-84.1,30.09],[-85.10882,29.63615],[-85.28784,29.68612000000013],[-85.7731,30.15261],[-86.4,30.4],[-87.53036,30.27433],[-88.41782,30.3849],[-89.18049,30.31598],[-89.5938311784198,30.159994004836847],[-89.413735,29.89419],[-89.43,29.48864],[-89.21767,29.29108],[-89.40823,29.15961],[-89.77928,29.307140000000118],[-90.15463,29.11743],[-90.880225,29.148535],[-91.626785,29.677000000000135],[-92.49906,29.5523],[-93.22637,29.78375],[-93.84842,29.71363],[-94.69,29.480000000000132],[-95.60026,28.73863],[-96.59404,28.30748],[-97.13999999999987,27.83],[-97.37,27.38],[-97.38,26.69],[-97.33,26.21],[-97.13999999999987,25.87],[-97.53,25.84],[-98.24,26.06],[-99.02,26.37],[-99.3,26.84],[-99.52,27.54],[-100.11,28.110000000000127],[-100.45584,28.69612000000012],[-100.9576,29.380710000000136],[-101.6624,29.7793],[-102.48,29.76],[-103.11,28.97],[-103.94,29.27],[-104.4569699999999,29.57196],[-104.70575,30.12173],[-105.03737,30.64402],[-105.63159,31.08383],[-106.1429,31.39995],[-106.50758999999988,31.75452],[-108.24,31.754853718166373],[-108.24194,31.34222],[-109.035,31.341940000000136],[-111.02361,31.33472],[-113.30498,32.03914],[-114.815,32.52528],[-114.72139,32.72083],[-115.99135,32.61239000000012],[-117.12775999999985,32.53534],[-117.29593769127393,33.04622461520387],[-117.944,33.621236431201396],[-118.41060227589753,33.74090922312445],[-118.51989482279976,34.02778157757575],[-119.081,34.078],[-119.43884064201671,34.34847717828427],[-120.36778,34.44711],[-120.62286,34.60855],[-120.74433,35.15686000000011],[-121.71457,36.16153],[-122.54747,37.551760000000115],[-122.51201,37.78339000000011],[-122.95319,38.11371],[-123.7272,38.95166000000012],[-123.86517,39.76699],[-124.39807,40.3132],[-124.17886,41.142020000000116],[-124.2137,41.99964000000011],[-124.53284,42.7659900000001],[-124.14214,43.70838],[-124.020535,44.615895],[-123.89893,45.52341],[-124.079635,46.86475],[-124.39567,47.72017000000011],[-124.68721008300781,48.18443298339855],[-124.56610107421875,48.37971496582037],[-123.12,48.04],[-122.58736,47.096],[-122.34,47.36],[-122.5,48.18],[-122.84,49.000000000000114]]],[[[-155.40214,20.07975],[-155.22452,19.99302],[-155.06226,19.8591],[-154.80741,19.50871],[-154.83147,19.45328],[-155.22217,19.23972],[-155.54211,19.08348],[-155.68817,18.91619],[-155.93665,19.05939],[-155.90806,19.33888],[-156.07347,19.70294],[-156.02368,19.81422],[-155.85008,19.97729],[-155.91907,20.17395],[-155.86108,20.26721],[-155.78505,20.2487],[-155.40214,20.07975]]],[[[-155.99566,20.76404],[-156.07926,20.64397],[-156.41445,20.57241],[-156.58673,20.783],[-156.70167,20.8643],[-156.71055,20.92676],[-156.61258,21.01249],[-156.25711,20.91745],[-155.99566,20.76404]]],[[[-156.75824,21.17684],[-156.78933,21.06873],[-157.32521,21.09777],[-157.25027,21.21958],[-156.75824,21.17684]]],[[[-158.0252,21.71696],[-157.94161,21.65272],[-157.65283,21.32217],[-157.70703,21.26442],[-157.7786,21.27729],[-158.12667,21.31244],[-158.2538,21.53919],[-158.29265,21.57912],[-158.0252,21.71696]]],[[[-159.36569,22.21494],[-159.34512,21.982],[-159.46372,21.88299],[-159.80051,22.06533],[-159.74877,22.1382],[-159.5962,22.23618],[-159.36569,22.21494]]],[[[-166.46779212142462,60.384169826897754],[-165.67442969466364,60.29360687930625],[-165.57916419173358,59.90998688418753],[-166.19277014876727,59.75444082298899],[-166.84833736882197,59.941406155020985],[-167.45527706609008,60.21306915957936],[-166.46779212142462,60.384169826897754]]],[[[-153.22872941792113,57.96896841087248],[-152.56479061583514,57.901427313866996],[-152.1411472239064,57.591058661522],[-153.00631405333692,57.11584219016593],[-154.0050902984581,56.734676825581076],[-154.51640275777004,56.99274892844669],[-154.67099280497118,57.46119578717253],[-153.7627795074415,57.81657461204373],[-153.22872941792113,57.96896841087248]]],[[[-140.98598761037601,69.71199839952635],[-140.986,69.712],[-140.9925,66.00003],[-140.99778,60.30639],[-140.013,60.27682],[-139.039,60],[-138.34089,59.56211],[-137.4525,58.905],[-136.47972,59.46389],[-135.47583,59.78778],[-134.945,59.2705600000001],[-134.27111,58.86111],[-133.35556,58.41028],[-132.73042,57.69289],[-131.70781,56.55212],[-130.00778,55.91583],[-129.98,55.285],[-130.53611,54.80278],[-130.53610895273684,54.80275447679924],[-130.5361101894673,54.8027534043494],[-131.08581823797215,55.17890615500204],[-131.9672114671423,55.497775580459006],[-132.2500107428595,56.3699962428974],[-133.53918108435641,57.17888743756214],[-134.07806292029608,58.12306753196691],[-135.0382110322791,58.18771474876394],[-136.62806230995471,58.21220937767043],[-137.800006279686,58.49999542910376],[-139.867787041413,59.53776154238915],[-140.825273817133,59.727517401765056],[-142.57444353556446,60.08444651960497],[-143.9588809948799,59.999180406323376],[-145.92555681682788,60.45860972761426],[-147.11437394914665,60.884656073644635],[-148.22430620012761,60.67298940697714],[-148.01806555885082,59.97832896589364],[-148.57082251686086,59.914172675203304],[-149.72785783587585,59.70565827090553],[-150.60824337461642,59.368211168039466],[-151.7163927886833,59.15582103131993],[-151.85943315326722,59.744984035879554],[-151.40971900124717,60.72580272077937],[-150.3469414947325,61.03358755150987],[-150.62111080625704,61.2844249538544],[-151.89583919981683,60.727197984451266],[-152.57832984109558,60.061657212964235],[-154.01917212625764,59.35027944603428],[-153.28751135965317,58.86472768821977],[-154.23249243875847,58.14637360293051],[-155.3074914215102,57.727794501366304],[-156.30833472392305,57.422774359763594],[-156.55609737854638,56.97998484967064],[-158.11721655986779,56.46360809999419],[-158.43332129619714,55.99415355083852],[-159.60332739971741,55.56668610292013],[-160.28971961163427,55.643580634170576],[-161.22304765525777,55.364734605523495],[-162.23776607974105,55.02418691672011],[-163.06944658104638,54.68973704692712],[-164.78556922102717,54.40417308208214],[-164.94222632552007,54.57222483989534],[-163.84833960676565,55.03943146424609],[-162.87000139061595,55.34804311789321],[-161.80417497459607,55.89498647727038],[-160.5636047027812,56.00805451112501],[-160.07055986228448,56.41805532492873],[-158.6844429189195,57.01667511659787],[-158.46109737855403,57.21692129172885],[-157.72277035218391,57.57000051536306],[-157.55027442119362,58.328326321030204],[-157.04167497457698,58.91888458926172],[-158.19473120830554,58.61580231386978],[-158.51721798402303,58.78778148053732],[-159.0586061269288,58.42418610293163],[-159.71166704001737,58.93139028587632],[-159.98128882550017,58.572549140041644],[-160.3552711659965,59.07112335879361],[-161.3550034251151,58.670837714260756],[-161.96889360252632,58.67166453717738],[-162.05498653872465,59.26692536074745],[-161.8741707021354,59.63362132429057],[-162.51805904849212,59.98972361921386],[-163.8183414378202,59.79805573184336],[-164.66221757714652,60.26748444278263],[-165.3463877024748,60.50749563256238],[-165.3508318756519,61.073895168697504],[-166.12137915755602,61.50001902937623],[-165.73445187077058,62.074996853271784],[-164.9191786367179,62.63307648380794],[-164.56250790103934,63.14637848576302],[-163.75333248599708,63.21944896102377],[-163.06722449445786,63.05945872664802],[-162.26055538638175,63.54193573674115],[-161.53444983624863,63.455816962326764],[-160.7725066803211,63.766108100023246],[-160.9583351308426,64.22279857040274],[-161.51806840721218,64.40278758407527],[-160.77777767641481,64.78860382756642],[-161.39192623598765,64.77723501246231],[-162.4530500966689,64.55944468856819],[-162.75778601789415,64.33860545516876],[-163.54639421288428,64.5591604681905],[-164.96082984114514,64.44694509546883],[-166.42528825586447,64.68667206487066],[-166.8450042389391,65.08889557561452],[-168.11056006576715,65.66999705673675],[-166.70527116602193,66.08831777613938],[-164.47470964257548,66.5766600612975],[-163.65251176659564,66.5766600612975],[-163.78860165103623,66.07720734319668],[-161.67777442121013,66.11611969671242],[-162.48971452538004,66.73556509059512],[-163.71971696679117,67.11639455837008],[-164.4309913808565,67.61633820257777],[-165.39028683170673,68.04277212185025],[-166.76444068099605,68.35887685817966],[-166.20470740462667,68.88303091091615],[-164.43081051334346,68.91553538682774],[-163.1686136546145,69.37111481391287],[-162.930566169262,69.85806183539927],[-161.90889726463556,70.33332998318764],[-160.93479651593367,70.44768992784958],[-159.03917578838713,70.89164215766891],[-158.11972286683394,70.82472117785102],[-156.58082455139808,71.35776357694175],[-155.06779029032427,71.14777639432367],[-154.3441652089412,70.69640859647018],[-153.9000062733926,70.88998851183567],[-152.21000606993528,70.82999217394485],[-152.27000240782613,70.60000621202983],[-150.73999243874448,70.43001658800569],[-149.7200030181675,70.53001048449045],[-147.61336157935705,70.2140349392418],[-145.68998980022533,70.12000967068673],[-144.9200109590764,69.98999176704046],[-143.58944618042523,70.15251414659832],[-142.07251034871348,69.85193817817265],[-140.98598752156073,69.71199839952635],[-140.98598761037601,69.71199839952635]]],[[[-171.73165686753944,63.782515367275934],[-171.1144335602453,63.59219106714495],[-170.4911124339407,63.694975490973505],[-169.6825054596536,63.43111562769119],[-168.6894394603007,63.297506212000556],[-168.77194088445466,63.18859813094544],[-169.5294398672051,62.97693146427792],[-170.29055620021595,63.194437567794424],[-170.67138566799093,63.3758218451389],[-171.55306311753873,63.317789211675105],[-171.79111060289122,63.40584585230046],[-171.73165686753944,63.782515367275934]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Canada","sov_a3":"CAN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Canada","adm0_a3":"CAN","geou_dif":0,"geounit":"Canada","gu_a3":"CAN","su_dif":0,"subunit":"Canada","su_a3":"CAN","brk_diff":0,"name":"Canada","name_long":"Canada","brk_a3":"CAN","brk_name":"Canada","brk_group":null,"abbrev":"Can.","postal":"CA","formal_en":"Canada","formal_fr":null,"name_ciawf":"Canada","note_adm0":null,"note_brk":null,"name_sort":"Canada","name_alt":null,"mapcolor7":6,"mapcolor8":6,"mapcolor9":2,"mapcolor13":2,"pop_est":37589262,"pop_rank":15,"pop_year":2019,"gdp_md":1736425,"gdp_year":2019,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","fips_10":"CA","iso_a2":"CA","iso_a2_eh":"CA","iso_a3":"CAN","iso_a3_eh":"CAN","iso_n3":"124","iso_n3_eh":"124","un_a3":"124","wb_a2":"CA","wb_a3":"CAN","woe_id":23424775,"woe_id_eh":23424775,"woe_note":"Exact WOE match as country","adm0_iso":"CAN","adm0_diff":null,"adm0_tlc":"CAN","adm0_a3_us":"CAN","adm0_a3_fr":"CAN","adm0_a3_ru":"CAN","adm0_a3_es":"CAN","adm0_a3_cn":"CAN","adm0_a3_tw":"CAN","adm0_a3_in":"CAN","adm0_a3_np":"CAN","adm0_a3_pk":"CAN","adm0_a3_de":"CAN","adm0_a3_gb":"CAN","adm0_a3_br":"CAN","adm0_a3_il":"CAN","adm0_a3_ps":"CAN","adm0_a3_sa":"CAN","adm0_a3_eg":"CAN","adm0_a3_ma":"CAN","adm0_a3_pt":"CAN","adm0_a3_ar":"CAN","adm0_a3_jp":"CAN","adm0_a3_ko":"CAN","adm0_a3_vn":"CAN","adm0_a3_tr":"CAN","adm0_a3_id":"CAN","adm0_a3_pl":"CAN","adm0_a3_gr":"CAN","adm0_a3_it":"CAN","adm0_a3_nl":"CAN","adm0_a3_se":"CAN","adm0_a3_bd":"CAN","adm0_a3_ua":"CAN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Northern America","region_wb":"North America","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":5.7,"label_x":-101.9107,"label_y":60.324287,"ne_id":1159320467,"wikidataid":"Q16","name_ar":"كندا","name_bn":"কানাডা","name_de":"Kanada","name_en":"Canada","name_es":"Canadá","name_fa":"کانادا","name_fr":"Canada","name_el":"Καναδάς","name_he":"קנדה","name_hi":"कनाडा","name_hu":"Kanada","name_id":"Kanada","name_it":"Canada","name_ja":"カナダ","name_ko":"캐나다","name_nl":"Canada","name_pl":"Kanada","name_pt":"Canadá","name_ru":"Канада","name_sv":"Kanada","name_tr":"Kanada","name_uk":"Канада","name_ur":"کینیڈا","name_vi":"Canada","name_zh":"加拿大","name_zht":"加拿大","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"CAN.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-122.84,49.000000000000114],[-122.97421,49.00253777777778],[-124.91024,49.98456],[-125.62461,50.41656],[-127.43561,50.83061],[-127.99276,51.71583],[-127.85032,52.32961],[-129.12979,52.75538],[-129.30523,53.56159],[-130.51497,54.28757],[-130.53610895273684,54.80275447679924],[-130.53611,54.80278],[-129.98,55.285],[-130.00778,55.91583],[-131.70781,56.55212],[-132.73042,57.69289],[-133.35556,58.41028],[-134.27111,58.86111],[-134.945,59.2705600000001],[-135.47583,59.78778],[-136.47972,59.46389],[-137.4525,58.905],[-138.34089,59.56211],[-139.039,60],[-140.013,60.27682],[-140.99778,60.30639],[-140.9925,66.00003],[-140.986,69.712],[-140.98598761037601,69.71199839952635],[-139.12052,69.47102],[-137.54636,68.99002],[-136.50358,68.89804],[-135.62576,69.31512],[-134.41464,69.62743],[-132.92925,69.50534],[-131.43136,69.94451],[-129.79471,70.19369],[-129.10773,69.77927],[-128.36156,70.01286],[-128.13817,70.48384],[-127.44712,70.37721],[-125.75632,69.48058],[-124.42483,70.1584],[-124.28968,69.39969],[-123.06108,69.56372],[-122.6835,69.85553],[-121.47226,69.79778],[-119.94288,69.37786],[-117.60268,69.01128],[-116.22643,68.84151],[-115.2469,68.90591],[-113.89794,68.3989],[-115.30489,67.90261],[-113.49727,67.68815],[-110.798,67.80612],[-109.94619,67.98104],[-108.8802,67.38144],[-107.79239,67.88736],[-108.81299,68.31164],[-108.16721,68.65392],[-106.95,68.7],[-106.15,68.8],[-105.34282,68.56122],[-104.33791,68.018],[-103.22115,68.09775],[-101.45433,67.64689],[-99.90195,67.80566],[-98.4432,67.78165],[-98.5586,68.40394],[-97.66948,68.57864],[-96.11991,68.23939],[-96.12588,67.29338],[-95.48943,68.0907],[-94.685,68.06383],[-94.23282,69.06903],[-95.30408,69.68571],[-96.47131,70.08976],[-96.39115,71.19482],[-95.2088,71.92053],[-93.88997,71.76015],[-92.87818,71.31869],[-91.51964,70.19129],[-92.40692,69.69997],[-90.5471,69.49766],[-90.55151,68.47499],[-89.21515,69.25873],[-88.01966,68.61508],[-88.31749,67.87338],[-87.35017,67.19872],[-86.30607,67.92146],[-85.57664,68.78456],[-85.52197,69.88211],[-84.10081,69.80539],[-82.62258,69.65826],[-81.28043,69.16202],[-81.2202,68.66567],[-81.96436,68.13253],[-81.25928,67.59716],[-81.38653,67.11078],[-83.34456,66.41154],[-84.73542,66.2573],[-85.76943,66.55833],[-86.0676,66.05625],[-87.03143,65.21297],[-87.32324,64.77563],[-88.48296,64.09897],[-89.91444,64.03273],[-90.70398,63.61017],[-90.77004,62.96021],[-91.93342,62.83508],[-93.15698,62.02469],[-94.24153,60.89865],[-94.62931,60.11021],[-94.6846,58.94882],[-93.21502,58.78212],[-92.76462,57.84571],[-92.29703,57.08709],[-90.89769,57.28468],[-89.03953,56.85172],[-88.03978,56.47162],[-87.32421,55.99914],[-86.07121,55.72383],[-85.01181,55.3026],[-83.36055,55.24489],[-82.27285,55.14832],[-82.4362,54.28227],[-82.12502,53.27703],[-81.40075,52.15788],[-79.91289,51.20842],[-79.14301,51.53393],[-78.60191,52.56208],[-79.12421,54.14145],[-79.82958,54.66772],[-78.22874,55.13645],[-77.0956,55.83741],[-76.54137,56.53423],[-76.62319,57.20263],[-77.30226,58.05209],[-78.51688,58.80458],[-77.33676,59.85261],[-77.77272,60.75788],[-78.10687,62.31964],[-77.41067,62.55053],[-75.69621,62.2784],[-74.6682,62.18111],[-73.83988,62.4438],[-72.90853,62.10507],[-71.67708,61.52535],[-71.37369,61.13717],[-69.59042,61.06141],[-69.62033,60.22125],[-69.2879,58.95736],[-68.37455,58.80106],[-67.64976,58.21206],[-66.20178,58.76731],[-65.24517,59.87071],[-64.58352,60.33558],[-63.80475,59.4426],[-62.50236,58.16708],[-61.39655,56.96745],[-61.79866,56.33945],[-60.46853,55.77548],[-59.56962,55.20407],[-57.97508,54.94549],[-57.3332,54.6265],[-56.93689,53.78032],[-56.15811,53.64749],[-55.75632,53.27036],[-55.68338,52.14664],[-56.40916,51.7707],[-57.12691,51.41972],[-58.77482,51.0643],[-60.03309,50.24277],[-61.72366,50.08046],[-63.86251,50.29099],[-65.36331,50.2982],[-66.39905,50.22897],[-67.23631,49.51156],[-68.51114,49.06836],[-69.95362,47.74488],[-71.10458,46.82171],[-70.25522,46.98606],[-68.65,48.3],[-66.55243,49.1331],[-65.05626,49.23278],[-64.17099,48.74248],[-65.11545,48.07085],[-64.79854,46.99297],[-64.47219,46.23849],[-63.17329,45.73902],[-61.52072,45.88377],[-60.51815,47.00793],[-60.4486,46.28264],[-59.80287,45.9204],[-61.03988,45.26525],[-63.25471,44.67014],[-64.24656,44.26553],[-65.36406,43.54523],[-66.1234,43.61867],[-66.16173,44.46512],[-64.42549,45.29204],[-66.02605,45.25931],[-67.13741,45.13753],[-67.79134,45.70281],[-67.79046,47.06636],[-68.23444,47.35486],[-68.905,47.185],[-69.237216,47.447781],[-69.99997,46.69307],[-70.305,45.915],[-70.66,45.46],[-71.08482,45.30524000000014],[-71.405,45.255],[-71.50506,45.0082],[-73.34783,45.00738],[-74.867,45.00048],[-75.31821,44.81645],[-76.375,44.09631],[-76.5,44.01845889375865],[-76.82003414580558,43.628784288093755],[-77.7378850979577,43.62905558936328],[-78.72027991404235,43.62508942318493],[-79.17167355011186,43.46633942318426],[-79.01,43.27],[-78.92,42.965],[-78.93936214874375,42.86361135514798],[-80.24744767934794,42.36619985612255],[-81.27774654816716,42.209025987306816],[-82.4392777167916,41.675105088867326],[-82.69008928092023,41.675105088867326],[-83.029810146807,41.83279572200598],[-83.14199968131264,41.975681057292874],[-83.12,42.08],[-82.9,42.43],[-82.43,42.98],[-82.13764238150395,43.57108755143997],[-82.33776312543114,44.44],[-82.55092464875821,45.34751658790543],[-83.59285071484311,45.81689362241252],[-83.46955074739469,45.994686387712534],[-83.61613094759059,46.116926988299014],[-83.89076534700574,46.116926988299014],[-84.0918512641615,46.27541860613826],[-84.1421195136734,46.51222585711571],[-84.3367,46.40877],[-84.6049,46.4396],[-84.54374874544584,46.538684190449146],[-84.77923824739992,46.63710195574902],[-84.8760798815149,46.90008331968238],[-85.65236324740341,47.22021881773051],[-86.46199083122826,47.553338019392],[-87.43979262330028,47.94],[-88.37811418328671,48.302917588893706],[-89.27291744663665,48.01980825458281],[-89.6,48.010000000000105],[-90.83,48.27],[-91.64,48.14],[-92.61,48.45],[-93.63087,48.60926],[-94.32914,48.67074],[-94.64,48.84],[-94.81758,49.38905],[-95.15609,49.38425],[-95.15906950917206,49],[-97.2287200000048,49.0007],[-100.65,49.000000000000114],[-104.04826,48.99986],[-107.05,49],[-110.05,49],[-113,49],[-116.04818,49],[-117.03121,49],[-120,49.000000000000114],[-122.84,49.000000000000114]]],[[[-83.99367,62.4528],[-83.25048,62.91409],[-81.87699,62.90458],[-81.89825,62.7108],[-83.06857,62.15922],[-83.77462,62.18231],[-83.99367,62.4528]]],[[[-79.77583312988281,72.8029022216797],[-80.87609863281251,73.33318328857422],[-80.83388519287111,73.69318389892578],[-80.35305786132812,73.75971984863281],[-78.06443786621094,73.65193176269531],[-76.34,73.10268498995305],[-76.25140380859375,72.82638549804688],[-77.31443786621094,72.85554504394531],[-78.39167022705078,72.87665557861328],[-79.4862518310547,72.74220275878906],[-79.77583312988281,72.8029022216797]]],[[[-80.315395,62.085565],[-79.92939,62.3856],[-79.52002,62.36371],[-79.26582,62.158675],[-79.65752,61.63308],[-80.09956,61.7181],[-80.36215,62.01649],[-80.315395,62.085565]]],[[[-93.61275590694046,74.97999726022438],[-94.15690873897391,74.59234650338688],[-95.60868058956564,74.66686391875176],[-96.82093217648455,74.92762319609658],[-96.28858740922982,75.37782827422338],[-94.85081987178917,75.64721751576089],[-93.97774654821797,75.29648956979595],[-93.61275590694046,74.97999726022438]]],[[[-93.84000301794399,77.51999726023455],[-94.29560828324529,77.49134267852868],[-96.16965410031007,77.55511139597685],[-96.43630449093614,77.83462921824362],[-94.42257727738641,77.820004787905],[-93.7206562975659,77.63433136668031],[-93.84000301794399,77.51999726023455]]],[[[-96.75439876990876,78.76581268992702],[-95.5592779202946,78.41831452098033],[-95.83029496944934,78.05694122996324],[-97.30984290239799,77.85059723582181],[-98.12428931353404,78.08285696075761],[-98.55286780474668,78.45810537384507],[-98.63198442258553,78.87193024363837],[-97.33723141151266,78.83198436147676],[-96.75439876990876,78.76581268992702]]],[[[-88.15035030796028,74.39230703398503],[-89.7647220527584,74.51555532500116],[-92.42244096552946,74.83775788034099],[-92.76828548864282,75.38681997344214],[-92.88990597204175,75.88265534128267],[-93.89382402217599,76.31924367950056],[-95.9624574450358,76.4413809272224],[-97.1213789538295,76.7510777859476],[-96.74512285031237,77.16138865834507],[-94.68408586299944,77.09787832305837],[-93.57392106807313,76.77629588490605],[-91.6050231595366,76.7785179714946],[-90.7418458727493,76.44959747995681],[-90.96966142450802,76.07401317005947],[-89.82223792189926,75.84777374948565],[-89.18708289259985,75.61016551380762],[-87.83827633334965,75.56618886992725],[-86.37919226758864,75.4824213731821],[-84.78962521029058,75.69920400664653],[-82.75344458691006,75.78431509063124],[-81.12853084992436,75.71398346628199],[-80.05751095245915,75.33684886341591],[-79.83393286814837,74.92312734648716],[-80.45777075877587,74.65730377877777],[-81.94884253612557,74.44245901152432],[-83.22889360221143,74.56402781849094],[-86.09745235873332,74.41003205026117],[-88.15035030796028,74.39230703398503]]],[[[-111.26444332563088,78.15295604116154],[-109.85445187054711,77.99632477488488],[-110.18693803591302,77.69701487905034],[-112.0511911690585,77.4092288276169],[-113.53427893761912,77.73220652944111],[-112.7245867582539,78.05105011668196],[-111.26444332563088,78.15295604116154]]],[[[-110.96366065147602,78.8044408230652],[-109.6631457182026,78.60197256134565],[-110.88131425661892,78.40691986765997],[-112.54209143761516,78.4079017198735],[-112.52589087609164,78.55055451121522],[-111.5000103422334,78.8499935981305],[-110.96366065147602,78.8044408230652]]],[[[-55.600218268442056,51.31707469339794],[-56.13403581401709,50.68700979267928],[-56.795881720595276,49.81230866149089],[-56.14310502788433,50.15011749938286],[-55.471492275603,49.93581533466846],[-55.82240108908096,49.58712860777905],[-54.935142584845636,49.3130109726868],[-54.473775397343786,49.556691189159125],[-53.47654944519137,49.24913890237404],[-53.786013759971254,48.516780503933624],[-53.08613399922626,48.68780365660358],[-52.958648240762216,48.15716421161447],[-52.64809872090421,47.53554840757552],[-53.069158291218386,46.65549876564492],[-53.521456264853,46.61829173439477],[-54.17893551290251,46.80706574155698],[-53.9618686590605,47.62520701760193],[-54.24048214376214,47.752279364607645],[-55.40077307801157,46.884993801453135],[-55.99748084168583,46.919720363953275],[-55.29121904155279,47.38956248635099],[-56.250798712780586,47.632545070987376],[-57.32522925477708,47.57280711525797],[-59.26601518414682,47.60334788674247],[-59.419494188053676,47.899453843774886],[-58.79658647320744,48.25152537697942],[-59.23162451845657,48.52318838153781],[-58.3918049790652,49.12558055276418],[-57.35868974468606,50.71827403421587],[-56.738650071832026,51.28743825947855],[-55.87097693543532,51.63209422464921],[-55.40697424988659,51.5882726100657],[-55.600218268442056,51.31707469339794]]],[[[-83.88262630891977,65.10961782496354],[-82.78757687043883,64.76669302027467],[-81.6420137193926,64.45513580998697],[-81.55344031444432,63.97960928003714],[-80.81736121287886,64.057485663501],[-80.10345130076664,63.72598135034862],[-80.99101986359572,63.41124603947496],[-82.54717810741704,63.65172231714521],[-83.10879757356511,64.10187571883971],[-84.10041663281388,63.569711819098],[-85.52340471061905,63.052379055424055],[-85.8667687649824,63.63725291610349],[-87.22198320183678,63.54123810490519],[-86.35275977247133,64.0358332383707],[-86.2248864407651,64.82291697860823],[-85.88384782585486,65.7387783881171],[-85.1613079495499,65.6572846543928],[-84.97576371940592,65.21751821558898],[-84.4640120104195,65.37177236598022],[-83.88262630891977,65.10961782496354]]],[[[-78.77063859731078,72.35217316353418],[-77.8246239895596,72.74961660429098],[-75.60584469267573,72.2436784939374],[-74.228616095665,71.76714427355789],[-74.09914079455771,71.33084015571758],[-72.24222571479768,71.55692454699452],[-71.20001542833518,70.92001251899718],[-68.7860542466849,70.52502370877427],[-67.91497046575694,70.12194753689765],[-66.9690333726542,69.18608734809182],[-68.8051228502006,68.72019847276444],[-66.4498660956339,68.06716339789203],[-64.86231441919524,67.84753856065159],[-63.424934454996794,66.92847321234059],[-61.851981370680605,66.86212067327783],[-62.16317684594226,66.16025136988962],[-63.918444383384184,64.9986685248329],[-65.14886023625368,65.42603261988667],[-66.72121904159852,66.38804108343219],[-68.015016038674,66.26272573512439],[-68.1412874009792,65.68978913030439],[-67.08964616562342,65.10845510523696],[-65.73208045109976,64.64840566675856],[-65.32016760930125,64.38273712834605],[-64.66940629744968,63.392926744227495],[-65.01380388045888,62.67418508569598],[-66.27504472519048,62.94509878198612],[-68.7831862046927,63.74567007105183],[-67.36968075221309,62.88396556258484],[-66.32829728866726,62.28007477482201],[-66.16556820338015,61.93089712182582],[-68.87736650254465,62.330149237712824],[-71.02343705919385,62.91070811629588],[-72.23537858751902,63.39783600529522],[-71.88627844917127,63.67998932560887],[-73.37830624051838,64.19396312118384],[-74.83441891142263,64.6790756293238],[-74.81850257027673,64.38909332951793],[-77.70997982452008,64.22954234481678],[-78.5559488593542,64.57290639918013],[-77.89728105336198,65.30919220647475],[-76.01827429879717,65.32696889918314],[-73.95979529488268,65.45476471624094],[-74.29388342964964,65.81177134872938],[-73.94491248238262,66.31057811142666],[-72.65116716173942,67.28457550726391],[-72.92605994331605,67.72692576768235],[-73.31161780464572,68.06943716091287],[-74.84330725777684,68.55462718370127],[-76.86910091826672,68.89473562283025],[-76.22864905465738,69.14776927354741],[-77.28736996123715,69.76954010688321],[-78.1686339993266,69.82648753526887],[-78.95724219431673,70.16688019477543],[-79.49245500356366,69.87180776638884],[-81.30547095409176,69.74318512641436],[-84.94470618359851,69.96663401964442],[-87.06000342481789,70.26000112576538],[-88.68171322300148,70.4107412787608],[-89.51341956252303,70.76203766548095],[-88.46772111688082,71.21818553332132],[-89.88815121128755,71.22255219184997],[-90.20516028518205,72.23507436796079],[-89.436576707705,73.12946421985238],[-88.40824154331287,73.53788890247121],[-85.82615108920098,73.80381582304518],[-86.56217851433412,73.15744700793844],[-85.77437130404454,72.53412588163387],[-84.85011247428822,73.34027822538708],[-82.31559017610101,73.7509508328106],[-80.60008765330768,72.71654368762417],[-80.74894161652443,72.06190664335072],[-78.77063859731078,72.35217316353418]]],[[[-94.50365759965237,74.13490672473922],[-92.42001217321173,74.1000251329422],[-90.50979285354263,73.85673248971206],[-92.00396521682987,72.96624420845852],[-93.19629553910026,72.77199249947334],[-94.26904659704726,72.02459625923599],[-95.40985551632266,72.06188080513458],[-96.03374508338244,72.94027680123183],[-96.01826799191102,73.43742991809582],[-95.49579342322404,73.86241689726417],[-94.50365759965237,74.13490672473922]]],[[[-122.85492448615902,76.11654287383568],[-122.85492529360326,76.11654287383568],[-121.15753536032824,76.86450755482828],[-119.1039389718211,77.51221995717462],[-117.570130784966,77.4983189968881],[-116.19858659550738,77.6452867703262],[-116.33581336145845,76.87696157501061],[-117.10605058476882,76.53003184681911],[-118.04041215703819,76.48117178008714],[-119.89931758688572,76.053213406062],[-121.49999507712648,75.90001862253276],[-122.85492448615902,76.11654287383568]]],[[[-132.71000788443126,54.04000931542356],[-131.74998958400334,54.12000438090922],[-132.049480347351,52.98462148702447],[-131.1790425218266,52.180432847698285],[-131.57782954982298,52.18237071390928],[-132.18042842677852,52.639707139692405],[-132.54999243231384,53.100014960332146],[-133.05461117875552,53.411468817755406],[-133.2396644827927,53.851080227262344],[-133.1800040417117,54.169975490935315],[-132.71000788443126,54.04000931542356]]],[[[-105.4922891914932,79.30159393992916],[-103.52928239623795,79.16534902619163],[-100.8251580472688,78.80046173777872],[-100.0601918200522,78.32475434031589],[-99.67093909381364,77.90754466420744],[-101.30394019245301,78.01898489044486],[-102.94980872273302,78.34322866486023],[-105.17613277873151,78.3803323432458],[-104.21042945027713,78.67742015249176],[-105.41958045125853,78.91833567983649],[-105.4922891914932,79.30159393992916]]],[[[-123.51000158755119,48.51001089130341],[-124.01289078839955,48.37084625914139],[-125.65501277733838,48.8250045843385],[-125.95499446679275,49.17999583596759],[-126.85000443587185,49.53000031188043],[-127.02999344954443,49.81499583597008],[-128.0593363043662,49.9949590114266],[-128.44458410710214,50.539137681676095],[-128.35841365625546,50.77064809834371],[-127.30858109602994,50.552573554071955],[-126.69500097721235,50.400903225295394],[-125.7550066738232,50.29501821552935],[-125.4150015875588,49.95000051533259],[-124.92076818911934,49.475274970083376],[-123.92250870832106,49.06248362893581],[-123.51000158755119,48.51001089130341]]],[[[-121.53788,74.44893],[-120.10978,74.24135],[-117.55564,74.18577],[-116.58442,73.89607],[-115.51081,73.47519],[-116.76794,73.22292],[-119.22,72.52],[-120.46,71.82],[-120.46,71.38360179308756],[-123.09219,70.90164],[-123.62,71.34],[-125.92894873747338,71.86868846301138],[-125.5,72.29226081179502],[-124.80729,73.02256],[-123.94,73.68000000000012],[-124.91775,74.29275000000013],[-121.53788,74.44893]]],[[[-107.81943,75.84552],[-106.92893,76.01282],[-105.881,75.9694],[-105.70498,75.47951],[-106.31347,75.00527],[-109.7,74.85],[-112.22307,74.41696],[-113.74381,74.39427],[-113.87135,74.72029],[-111.79421,75.1625],[-116.31221,75.04343],[-117.7104,75.2222],[-116.34602,76.19903],[-115.40487,76.47887],[-112.59056,76.14134],[-110.81422,75.54919],[-109.0671,75.47321],[-110.49726,76.42982],[-109.5811,76.79417],[-108.54859,76.67832],[-108.21141,76.20168],[-107.81943,75.84552]]],[[[-106.52259,73.07601],[-105.40246,72.67259],[-104.77484,71.6984000000001],[-104.4647599999999,70.99297],[-102.78537,70.49776],[-100.98078,70.02432],[-101.08929,69.58447000000012],[-102.73116,69.50402],[-102.09329,69.11962000000011],[-102.43024,68.75282],[-104.24,68.91],[-105.96,69.18000000000012],[-107.12254,69.11922],[-109,68.78],[-111.53414887520017,68.63005915681794],[-113.3132,68.53554],[-113.85495999999989,69.00744],[-115.22,69.28],[-116.10794,69.16821],[-117.34,69.96],[-116.67473,70.06655],[-115.13112,70.2373],[-113.72141,70.19237],[-112.4161,70.36638],[-114.35,70.6],[-116.48684,70.52045],[-117.9048,70.54056000000014],[-118.43238,70.9092],[-116.11311,71.30918],[-117.65568,71.2952],[-119.40199,71.55859],[-118.56267,72.30785],[-117.86642,72.70594],[-115.18909,73.31459000000012],[-114.16717,73.12145],[-114.66634,72.65277],[-112.44102,72.95540000000011],[-111.05039,72.4504],[-109.92035,72.96113],[-109.00654,72.63335],[-108.18835,71.65089],[-107.68599,72.06548],[-108.39639,73.08953],[-107.51645,73.23598],[-106.52259,73.07601]]],[[[-100.43836,72.70588],[-101.54,73.36],[-100.35642,73.84389],[-99.16387,73.63339],[-97.38,73.76],[-97.12,73.47],[-98.05359,72.99052],[-96.54,72.56],[-96.72,71.66],[-98.35966,71.27285],[-99.32286,71.35639],[-100.01482,71.73827],[-102.5,72.51],[-102.48,72.83],[-100.43836,72.70588]]],[[[-106.6,73.6],[-105.26,73.64],[-104.5,73.42],[-105.38,72.76],[-106.94,73.46],[-106.6,73.6]]],[[[-98.5,76.72],[-97.735585,76.25656],[-97.704415,75.74344],[-98.16,75],[-99.80874,74.89744],[-100.88366,75.05736],[-100.86292,75.64075],[-102.50209,75.5638],[-102.56552,76.3366],[-101.48973,76.30537],[-99.98349,76.64634],[-98.57699,76.58859],[-98.5,76.72]]],[[[-96.01644,80.60233],[-95.32345,80.90729],[-94.29843,80.97727],[-94.73542,81.20646],[-92.40984,81.25739],[-91.13289,80.72345],[-89.45,80.50932203389831],[-87.81,80.32],[-87.02,79.66],[-85.81435,79.3369],[-87.18756,79.0393],[-89.03535,78.28723],[-90.80436,78.21533],[-92.87669,78.34333],[-93.95116,78.75099],[-93.93574,79.11373],[-93.14524,79.3801],[-94.974,79.37248],[-96.07614,79.70502],[-96.70972,80.15777],[-96.01644,80.60233]]],[[[-91.58702,81.89429],[-90.1,82.085],[-88.93227,82.11751],[-86.97024,82.27961],[-85.5,82.65227345805702],[-84.260005,82.6],[-83.18,82.32],[-82.42,82.86],[-81.1,83.02],[-79.30664,83.13056],[-76.25,83.17205882352941],[-75.71878,83.06404],[-72.83153,83.23324],[-70.665765,83.16978075838284],[-68.5,83.10632151676572],[-65.82735,83.02801],[-63.68,82.9],[-61.85,82.6286],[-61.89388,82.36165],[-64.334,81.92775],[-66.75342,81.72527],[-67.65755,81.50141],[-65.48031,81.50657],[-67.84,80.9],[-69.4697,80.61683],[-71.18,79.8],[-73.2428,79.63415],[-73.88,79.43016220480206],[-76.90773,79.32309],[-75.52924,79.19766],[-76.22046,79.01907],[-75.39345,78.52581],[-76.34354,78.18296],[-77.88851,77.89991],[-78.36269,77.50859],[-79.75951,77.20968],[-79.61965,76.98336],[-77.91089,77.022045],[-77.88911,76.777955],[-80.56125,76.17812],[-83.17439,76.45403],[-86.11184,76.29901],[-87.6,76.42],[-89.49068,76.47239],[-89.6161,76.95213],[-87.76739,77.17833],[-88.26,77.9],[-87.65,77.97022222222223],[-84.97634,77.53873],[-86.34,78.18],[-87.96192,78.37181],[-87.15198,78.75867],[-85.37868,78.9969],[-85.09495,79.34543],[-86.50734,79.73624],[-86.93179,80.25145],[-84.19844,80.20836],[-83.40869565217389,80.1],[-81.84823,80.46442],[-84.1,80.58],[-87.59895,80.51627],[-89.36663,80.85569],[-90.2,81.26],[-91.36786,81.5531],[-91.58702,81.89429]]],[[[-75.21597,67.44425],[-75.86588,67.14886],[-76.98687,67.09873],[-77.2364,67.58809],[-76.81166,68.14856],[-75.89521,68.28721],[-75.1145,68.01036],[-75.10333,67.58202],[-75.21597,67.44425]]],[[[-96.25740120380055,69.49003035832177],[-95.64768120380054,69.10769035832178],[-96.26952120380055,68.75704035832177],[-97.61740120380055,69.06003035832177],[-98.43180120380055,68.95070035832177],[-99.79740120380055,69.40003035832177],[-98.91740120380055,69.71003035832177],[-98.21826120380055,70.14354035832177],[-97.15740120380055,69.86003035832177],[-96.55740120380055,69.68003035832177],[-96.25740120380055,69.49003035832177]]],[[[-64.51912,49.87304],[-64.17322,49.95718],[-62.85829,49.70641],[-61.835585,49.28855],[-61.806305,49.10506],[-62.29318,49.08717],[-63.58926,49.40069],[-64.51912,49.87304]]],[[[-64.01486,47.03601],[-63.6645,46.55001],[-62.9393,46.41587],[-62.01208,46.44314],[-62.50391,46.03339],[-62.87433,45.96818],[-64.1428,46.39265],[-64.39261,46.72747],[-64.01486,47.03601]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Mexico","sov_a3":"MEX","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Mexico","adm0_a3":"MEX","geou_dif":0,"geounit":"Mexico","gu_a3":"MEX","su_dif":0,"subunit":"Mexico","su_a3":"MEX","brk_diff":0,"name":"Mexico","name_long":"Mexico","brk_a3":"MEX","brk_name":"Mexico","brk_group":null,"abbrev":"Mex.","postal":"MX","formal_en":"United Mexican States","formal_fr":null,"name_ciawf":"Mexico","note_adm0":null,"note_brk":null,"name_sort":"Mexico","name_alt":null,"mapcolor7":6,"mapcolor8":1,"mapcolor9":7,"mapcolor13":3,"pop_est":127575529,"pop_rank":17,"pop_year":2019,"gdp_md":1268870,"gdp_year":2019,"economy":"4. Emerging region: MIKT","income_grp":"3. Upper middle income","fips_10":"MX","iso_a2":"MX","iso_a2_eh":"MX","iso_a3":"MEX","iso_a3_eh":"MEX","iso_n3":"484","iso_n3_eh":"484","un_a3":"484","wb_a2":"MX","wb_a3":"MEX","woe_id":23424900,"woe_id_eh":23424900,"woe_note":"Exact WOE match as country","adm0_iso":"MEX","adm0_diff":null,"adm0_tlc":"MEX","adm0_a3_us":"MEX","adm0_a3_fr":"MEX","adm0_a3_ru":"MEX","adm0_a3_es":"MEX","adm0_a3_cn":"MEX","adm0_a3_tw":"MEX","adm0_a3_in":"MEX","adm0_a3_np":"MEX","adm0_a3_pk":"MEX","adm0_a3_de":"MEX","adm0_a3_gb":"MEX","adm0_a3_br":"MEX","adm0_a3_il":"MEX","adm0_a3_ps":"MEX","adm0_a3_sa":"MEX","adm0_a3_eg":"MEX","adm0_a3_ma":"MEX","adm0_a3_pt":"MEX","adm0_a3_ar":"MEX","adm0_a3_jp":"MEX","adm0_a3_ko":"MEX","adm0_a3_vn":"MEX","adm0_a3_tr":"MEX","adm0_a3_id":"MEX","adm0_a3_pl":"MEX","adm0_a3_gr":"MEX","adm0_a3_it":"MEX","adm0_a3_nl":"MEX","adm0_a3_se":"MEX","adm0_a3_bd":"MEX","adm0_a3_ua":"MEX","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Central America","region_wb":"Latin America & Caribbean","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2,"max_label":6.7,"label_x":-102.289448,"label_y":23.919988,"ne_id":1159321055,"wikidataid":"Q96","name_ar":"المكسيك","name_bn":"মেক্সিকো","name_de":"Mexiko","name_en":"Mexico","name_es":"México","name_fa":"مکزیک","name_fr":"Mexique","name_el":"Μεξικό","name_he":"מקסיקו","name_hi":"मेक्सिको","name_hu":"Mexikó","name_id":"Meksiko","name_it":"Messico","name_ja":"メキシコ","name_ko":"멕시코","name_nl":"Mexico","name_pl":"Meksyk","name_pt":"México","name_ru":"Мексика","name_sv":"Mexiko","name_tr":"Meksika","name_uk":"Мексика","name_ur":"میکسیکو","name_vi":"México","name_zh":"墨西哥","name_zht":"墨西哥","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MEX.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-117.12775999999985,32.53534],[-115.99135,32.61239000000012],[-114.72139,32.72083],[-114.815,32.52528],[-113.30498,32.03914],[-111.02361,31.33472],[-109.035,31.341940000000136],[-108.24194,31.34222],[-108.24,31.754853718166373],[-106.50758999999988,31.75452],[-106.1429,31.39995],[-105.63159,31.08383],[-105.03737,30.64402],[-104.70575,30.12173],[-104.4569699999999,29.57196],[-103.94,29.27],[-103.11,28.97],[-102.48,29.76],[-101.6624,29.7793],[-100.9576,29.380710000000136],[-100.45584,28.69612000000012],[-100.11,28.110000000000127],[-99.52,27.54],[-99.3,26.84],[-99.02,26.37],[-98.24,26.06],[-97.53,25.84],[-97.14000830767071,25.8699974634784],[-97.52807247596655,24.9921440699203],[-97.70294552284224,24.272343044526735],[-97.77604183631905,22.93257986092766],[-97.87236670611111,22.44421173755336],[-97.69904395220419,21.898689480064263],[-97.38895952023677,21.411018988525825],[-97.18933346229329,20.635433254473128],[-96.52557552772032,19.890930894444068],[-96.29212724484177,19.320371405509547],[-95.90088497595997,18.82802419684873],[-94.83906348344271,18.562717393462208],[-94.42572953975622,18.144370835843347],[-93.5486512926824,18.423836981677937],[-92.7861138577835,18.52483856859226],[-92.0373481920904,18.704569200103435],[-91.40790340855926,18.87608327888023],[-90.77186987991087,19.28412038825678],[-90.53358985061305,19.8674181177513],[-90.45147599970124,20.707521877520435],[-90.2786183336849,20.999855454995554],[-89.60132117385149,21.26172577563449],[-88.54386633986286,21.49367544197662],[-87.65841651075772,21.45884552661198],[-87.05189022494807,21.5435431991383],[-86.81198238803296,21.331514797444754],[-86.84590796583262,20.849864610268355],[-87.38329118523586,20.25540477139873],[-87.62105445021075,19.64655304613592],[-87.43675045444178,19.47240346931227],[-87.58656043165593,19.04013011319074],[-87.83719112827151,18.25981598558343],[-88.09066402866318,18.51664785407405],[-88.3000310940937,18.4999822046599],[-88.49012285027935,18.486830552641607],[-88.84834387892661,17.883198147040233],[-89.02985734735182,18.001511338772488],[-89.15090938999553,17.95546763760042],[-89.14308041050333,17.808318996649405],[-90.06793351923098,17.819326076727478],[-91.00151994501596,17.81759491624571],[-91.00226925328421,17.25465770107418],[-91.45392127151516,17.252177232324172],[-91.08167009150065,16.918476670799407],[-90.71182186558772,16.687483018454728],[-90.60084672724093,16.47077789963879],[-90.43886695022204,16.410109768128095],[-90.46447262242266,16.069562079324655],[-91.74796017125595,16.066564846251765],[-92.2292486234063,15.251446641495875],[-92.08721594925207,15.064584662328441],[-92.20322953974733,14.830102850804069],[-92.22775000686983,14.538828640190928],[-93.35946387406176,15.615429592343673],[-93.87516883011853,15.940164292865916],[-94.69165646033014,16.200975246642884],[-95.25022701697304,16.128318182840644],[-96.05338212765332,15.752087917539598],[-96.55743404822829,15.653515122942792],[-97.26359249549665,15.917064927631316],[-98.01302995480961,16.107311713113916],[-98.94767574745651,16.566043402568766],[-99.69739742714705,16.70616404872817],[-100.82949886758132,17.17107107184205],[-101.66608862995446,17.649026394109626],[-101.91852800170022,17.916090196193977],[-102.47813208698892,17.975750637275098],[-103.50098954955808,18.29229462327885],[-103.91752743204682,18.74857168220001],[-104.9920096504755,19.316133938061682],[-105.49303849976144,19.946767279535436],[-105.73139604370766,20.434101874264115],[-105.39777299683135,20.531718654863425],[-105.50066077352443,20.81689504646613],[-105.27075232625793,21.07628489835514],[-105.26581722697404,21.42210358325235],[-105.6031609769754,21.87114594165257],[-105.69341386597313,22.269080308516152],[-106.02871639689897,22.773752346278627],[-106.90998043498837,23.767774359628902],[-107.91544877809139,24.54891531015295],[-108.40190487347098,25.172313951105934],[-109.26019873740665,25.58060944264406],[-109.44408932171734,25.82488393808768],[-109.29164384645628,26.442934068298428],[-109.80145768923182,26.676175645447927],[-110.3917317370857,27.16211497650454],[-110.64101884646163,27.859876003525528],[-111.17891883018785,27.94124054616907],[-111.75960689985163,28.46795258230395],[-112.2282346260904,28.95440867768349],[-112.27182369672869,29.266844387320077],[-112.80959448937398,30.02111359305235],[-113.16381059451868,30.786880804969428],[-113.14866939985717,31.170965887978923],[-113.87188106978186,31.567608344035193],[-114.20573666060352,31.524045111613134],[-114.77645117883503,31.79953217216115],[-114.93669979537214,31.393484605427602],[-114.7712318591735,30.913617255165263],[-114.67389929895177,30.162681179315996],[-114.33097449426293,29.750432440707414],[-113.58887508833544,29.061611436473015],[-113.42405310754054,28.82617361095123],[-113.27196936730553,28.7547826197399],[-113.14003943566439,28.41128937429596],[-112.9622983467965,28.42519033458251],[-112.76158708377488,27.780216783147523],[-112.45791052941166,27.52581370697476],[-112.2449519519368,27.17172679291076],[-111.61648902061921,26.662817287700477],[-111.28467464887302,25.732589830014433],[-110.9878193835724,25.294606228124564],[-110.71000688357134,24.82600434010186],[-110.65504899782889,24.298594672131117],[-110.17285620811344,24.265547593680424],[-109.77184709352855,23.811182562754198],[-109.40910437705571,23.36467234953625],[-109.43339230023292,23.1855876734287],[-109.85421932660171,22.818271592698068],[-110.03139197471444,22.823077500901206],[-110.29507097048366,23.43097321216669],[-110.94950130902805,24.000964260345995],[-111.6705684070127,24.484423122652515],[-112.18203589562148,24.738412787367167],[-112.14898881717085,25.47012523040405],[-112.3007108223797,26.012004299416617],[-112.77729671919155,26.32195954030317],[-113.46467078332194,26.768185533143424],[-113.59672990604383,26.639459540304472],[-113.84893673384425,26.90006378835244],[-114.46574662968004,27.142090358991368],[-115.05514217818501,27.72272675222291],[-114.98225257043742,27.798200181585116],[-114.57036556685495,27.74148529714489],[-114.19932878299926,28.115002549750557],[-114.16201839888464,28.566111965442303],[-114.93184221073665,29.27947927501549],[-115.518653937627,29.5563615992354],[-115.88736528202958,30.180793768834178],[-116.25835038945291,30.836464341753583],[-116.72152625208497,31.635743720012044],[-117.12775999999985,32.53534]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Belize","sov_a3":"BLZ","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Belize","adm0_a3":"BLZ","geou_dif":0,"geounit":"Belize","gu_a3":"BLZ","su_dif":0,"subunit":"Belize","su_a3":"BLZ","brk_diff":0,"name":"Belize","name_long":"Belize","brk_a3":"BLZ","brk_name":"Belize","brk_group":null,"abbrev":"Belize","postal":"BZ","formal_en":"Belize","formal_fr":null,"name_ciawf":"Belize","note_adm0":null,"note_brk":null,"name_sort":"Belize","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":5,"mapcolor13":7,"pop_est":390353,"pop_rank":10,"pop_year":2019,"gdp_md":1879,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"BH","iso_a2":"BZ","iso_a2_eh":"BZ","iso_a3":"BLZ","iso_a3_eh":"BLZ","iso_n3":"084","iso_n3_eh":"084","un_a3":"084","wb_a2":"BZ","wb_a3":"BLZ","woe_id":23424760,"woe_id_eh":23424760,"woe_note":"Exact WOE match as country","adm0_iso":"BLZ","adm0_diff":null,"adm0_tlc":"BLZ","adm0_a3_us":"BLZ","adm0_a3_fr":"BLZ","adm0_a3_ru":"BLZ","adm0_a3_es":"BLZ","adm0_a3_cn":"BLZ","adm0_a3_tw":"BLZ","adm0_a3_in":"BLZ","adm0_a3_np":"BLZ","adm0_a3_pk":"BLZ","adm0_a3_de":"BLZ","adm0_a3_gb":"BLZ","adm0_a3_br":"BLZ","adm0_a3_il":"BLZ","adm0_a3_ps":"BLZ","adm0_a3_sa":"BLZ","adm0_a3_eg":"BLZ","adm0_a3_ma":"BLZ","adm0_a3_pt":"BLZ","adm0_a3_ar":"BLZ","adm0_a3_jp":"BLZ","adm0_a3_ko":"BLZ","adm0_a3_vn":"BLZ","adm0_a3_tr":"BLZ","adm0_a3_id":"BLZ","adm0_a3_pl":"BLZ","adm0_a3_gr":"BLZ","adm0_a3_it":"BLZ","adm0_a3_nl":"BLZ","adm0_a3_se":"BLZ","adm0_a3_bd":"BLZ","adm0_a3_ua":"BLZ","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Central America","region_wb":"Latin America & Caribbean","name_len":6,"long_len":6,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":-88.712962,"label_y":17.202068,"ne_id":1159320431,"wikidataid":"Q242","name_ar":"بليز","name_bn":"বেলিজ","name_de":"Belize","name_en":"Belize","name_es":"Belice","name_fa":"بلیز","name_fr":"Belize","name_el":"Μπελίζ","name_he":"בליז","name_hi":"बेलीज़","name_hu":"Belize","name_id":"Belize","name_it":"Belize","name_ja":"ベリーズ","name_ko":"벨리즈","name_nl":"Belize","name_pl":"Belize","name_pt":"Belize","name_ru":"Белиз","name_sv":"Belize","name_tr":"Belize","name_uk":"Беліз","name_ur":"بیلیز","name_vi":"Belize","name_zh":"伯利兹","name_zht":"貝里斯","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BLZ.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-89.14308041050333,17.808318996649405],[-89.15090938999553,17.95546763760042],[-89.02985734735182,18.001511338772488],[-88.84834387892661,17.883198147040233],[-88.49012285027935,18.486830552641607],[-88.3000310940937,18.4999822046599],[-88.29633622918482,18.35327281338327],[-88.10681291375438,18.348673610909287],[-88.1234785631685,18.07667470954101],[-88.2853549873228,17.644142971258034],[-88.19786678745265,17.489475409408456],[-88.30264075392444,17.131693630435663],[-88.23951799187991,17.036066392479555],[-88.35542822951057,16.530774237529627],[-88.55182451043585,16.265467434143147],[-88.73243364129594,16.233634751851355],[-88.93061275913527,15.887273464415076],[-89.22912167026928,15.886937567605171],[-89.15080603713095,17.015576687075836],[-89.14308041050333,17.808318996649405]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Panama","sov_a3":"PAN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Panama","adm0_a3":"PAN","geou_dif":0,"geounit":"Panama","gu_a3":"PAN","su_dif":0,"subunit":"Panama","su_a3":"PAN","brk_diff":0,"name":"Panama","name_long":"Panama","brk_a3":"PAN","brk_name":"Panama","brk_group":null,"abbrev":"Pan.","postal":"PA","formal_en":"Republic of Panama","formal_fr":null,"name_ciawf":"Panama","note_adm0":null,"note_brk":null,"name_sort":"Panama","name_alt":null,"mapcolor7":4,"mapcolor8":4,"mapcolor9":6,"mapcolor13":3,"pop_est":4246439,"pop_rank":12,"pop_year":2019,"gdp_md":66800,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"PM","iso_a2":"PA","iso_a2_eh":"PA","iso_a3":"PAN","iso_a3_eh":"PAN","iso_n3":"591","iso_n3_eh":"591","un_a3":"591","wb_a2":"PA","wb_a3":"PAN","woe_id":23424924,"woe_id_eh":23424924,"woe_note":"Exact WOE match as country","adm0_iso":"PAN","adm0_diff":null,"adm0_tlc":"PAN","adm0_a3_us":"PAN","adm0_a3_fr":"PAN","adm0_a3_ru":"PAN","adm0_a3_es":"PAN","adm0_a3_cn":"PAN","adm0_a3_tw":"PAN","adm0_a3_in":"PAN","adm0_a3_np":"PAN","adm0_a3_pk":"PAN","adm0_a3_de":"PAN","adm0_a3_gb":"PAN","adm0_a3_br":"PAN","adm0_a3_il":"PAN","adm0_a3_ps":"PAN","adm0_a3_sa":"PAN","adm0_a3_eg":"PAN","adm0_a3_ma":"PAN","adm0_a3_pt":"PAN","adm0_a3_ar":"PAN","adm0_a3_jp":"PAN","adm0_a3_ko":"PAN","adm0_a3_vn":"PAN","adm0_a3_tr":"PAN","adm0_a3_id":"PAN","adm0_a3_pl":"PAN","adm0_a3_gr":"PAN","adm0_a3_it":"PAN","adm0_a3_nl":"PAN","adm0_a3_se":"PAN","adm0_a3_bd":"PAN","adm0_a3_ua":"PAN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Central America","region_wb":"Latin America & Caribbean","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":-80.352106,"label_y":8.72198,"ne_id":1159321161,"wikidataid":"Q804","name_ar":"بنما","name_bn":"পানামা","name_de":"Panama","name_en":"Panama","name_es":"Panamá","name_fa":"پاناما","name_fr":"Panama","name_el":"Παναμάς","name_he":"פנמה","name_hi":"पनामा","name_hu":"Panama","name_id":"Panama","name_it":"Panama","name_ja":"パナマ","name_ko":"파나마","name_nl":"Panama","name_pl":"Panama","name_pt":"Panamá","name_ru":"Панама","name_sv":"Panama","name_tr":"Panama","name_uk":"Панама","name_ur":"پاناما","name_vi":"Panama","name_zh":"巴拿马","name_zht":"巴拿馬","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"PAN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-77.35336076527386,8.67050466555807],[-77.47472286651133,8.524286200388218],[-77.24256649444008,7.935278225125444],[-77.43110795765699,7.638061224798734],[-77.7534138658614,7.709839789252143],[-77.88157141794525,7.223771267114785],[-78.21493608266012,7.512254950384161],[-78.42916073272607,8.052041123888927],[-78.18209570993864,8.319182440621773],[-78.4354652574657,8.38770538984079],[-78.62212053090394,8.718124497915028],[-79.12030717641375,8.996092027213024],[-79.55787736684519,8.932374986197146],[-79.76057817251005,8.5845150822244],[-80.16448116730334,8.333315944853595],[-80.38265906443962,8.298408514840432],[-80.4806892564973,8.09030752200107],[-80.00368994822716,7.547524115423372],[-80.276670701809,7.419754136581716],[-80.42115800649708,7.271571966984765],[-80.8864009264208,7.220541490096537],[-81.05954281281473,7.817921047390597],[-81.18971574575795,7.64790558515034],[-81.51951473664468,7.706610012233909],[-81.72131120474447,8.108962714058435],[-82.13144120962892,8.175392767769637],[-82.39093441438257,8.29236237226229],[-82.82008134635042,8.290863755725823],[-82.85095801464482,8.073822740099956],[-82.96578304719736,8.225027980985985],[-82.91317643912421,8.42351715741907],[-82.82977067740516,8.62629547773237],[-82.86865719270477,8.807266343618522],[-82.71918311230053,8.925708726431495],[-82.92715491405916,9.074330145702916],[-82.93289099804358,9.476812038608173],[-82.54619625520348,9.566134751824677],[-82.18712256542341,9.20744863528678],[-82.20758643261097,8.9955752628901],[-81.80856686066929,8.950616766796173],[-81.71415401887204,9.031955471223583],[-81.43928707551154,8.786234035675719],[-80.94730160187676,8.858503526235907],[-80.52190121125008,9.111072089062432],[-79.91459977895599,9.31276520429762],[-79.57330278188431,9.611610012241528],[-79.02119177927793,9.552931423374105],[-79.05845048696037,9.454565334506526],[-78.50088762074719,9.420458889193881],[-78.05592770049802,9.2477304142583],[-77.72951351592641,8.946844387238869],[-77.35336076527386,8.67050466555807]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Denmark","sov_a3":"DN1","adm0_dif":1,"level":2,"type":"Country","tlc":"1","admin":"Greenland","adm0_a3":"GRL","geou_dif":0,"geounit":"Greenland","gu_a3":"GRL","su_dif":0,"subunit":"Greenland","su_a3":"GRL","brk_diff":0,"name":"Greenland","name_long":"Greenland","brk_a3":"GRL","brk_name":"Greenland","brk_group":null,"abbrev":"Grlnd.","postal":"GL","formal_en":"Greenland","formal_fr":null,"name_ciawf":"Greenland","note_adm0":"Den.","note_brk":null,"name_sort":"Greenland","name_alt":null,"mapcolor7":4,"mapcolor8":1,"mapcolor9":3,"mapcolor13":12,"pop_est":56225,"pop_rank":8,"pop_year":2019,"gdp_md":3051,"gdp_year":2018,"economy":"2. Developed region: nonG7","income_grp":"2. High income: nonOECD","fips_10":"GL","iso_a2":"GL","iso_a2_eh":"GL","iso_a3":"GRL","iso_a3_eh":"GRL","iso_n3":"304","iso_n3_eh":"304","un_a3":"304","wb_a2":"GL","wb_a3":"GRL","woe_id":23424828,"woe_id_eh":23424828,"woe_note":"Exact WOE match as country","adm0_iso":"GRL","adm0_diff":null,"adm0_tlc":"GRL","adm0_a3_us":"GRL","adm0_a3_fr":"GRL","adm0_a3_ru":"GRL","adm0_a3_es":"GRL","adm0_a3_cn":"GRL","adm0_a3_tw":"GRL","adm0_a3_in":"GRL","adm0_a3_np":"GRL","adm0_a3_pk":"GRL","adm0_a3_de":"GRL","adm0_a3_gb":"GRL","adm0_a3_br":"GRL","adm0_a3_il":"GRL","adm0_a3_ps":"GRL","adm0_a3_sa":"GRL","adm0_a3_eg":"GRL","adm0_a3_ma":"GRL","adm0_a3_pt":"GRL","adm0_a3_ar":"GRL","adm0_a3_jp":"GRL","adm0_a3_ko":"GRL","adm0_a3_vn":"GRL","adm0_a3_tr":"GRL","adm0_a3_id":"GRL","adm0_a3_pl":"GRL","adm0_a3_gr":"GRL","adm0_a3_it":"GRL","adm0_a3_nl":"GRL","adm0_a3_se":"GRL","adm0_a3_bd":"GRL","adm0_a3_ua":"GRL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Northern America","region_wb":"Europe & Central Asia","name_len":9,"long_len":9,"abbrev_len":6,"tiny":-99,"homepart":-99,"min_zoom":0,"min_label":1.7,"max_label":6.7,"label_x":-39.335251,"label_y":74.319387,"ne_id":1159320551,"wikidataid":"Q223","name_ar":"جرينلاند","name_bn":"গ্রিনল্যান্ড","name_de":"Grönland","name_en":"Greenland","name_es":"Groenlandia","name_fa":"گرینلند","name_fr":"Groenland","name_el":"Γροιλανδία","name_he":"גרינלנד","name_hi":"ग्रीनलैण्ड","name_hu":"Grönland","name_id":"Greenland","name_it":"Groenlandia","name_ja":"グリーンランド","name_ko":"그린란드","name_nl":"Groenland","name_pl":"Grenlandia","name_pt":"Groenlândia","name_ru":"Гренландия","name_sv":"Grönland","name_tr":"Grönland","name_uk":"Гренландія","name_ur":"گرین لینڈ","name_vi":"Greenland","name_zh":"格陵兰","name_zht":"格陵蘭","fclass_iso":"Admin-0 dependency","tlc_diff":null,"fclass_tlc":"Admin-0 dependency","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"GRL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-46.76379,82.62796],[-43.40644,83.22516],[-39.89753,83.18018],[-38.62214,83.54905],[-35.08787,83.64513],[-27.10046,83.51966],[-20.84539,82.72669],[-22.69182,82.34165],[-26.51753,82.29765],[-31.9,82.2],[-31.39646,82.02154],[-27.85666,82.13178],[-24.84448,81.78697],[-22.90328,82.09317],[-22.07175,81.73449],[-23.16961,81.15271],[-20.62363,81.52462],[-15.76818,81.91245],[-12.77018,81.71885],[-12.20855,81.29154],[-16.28533,80.58004],[-16.85,80.35],[-20.04624,80.17708],[-17.73035,80.12912],[-18.9,79.4],[-19.70499,78.75128],[-19.67353,77.63859],[-18.47285,76.98565],[-20.03503,76.94434],[-21.67944,76.62795],[-19.83407,76.09808],[-19.59896,75.24838],[-20.66818,75.15585],[-19.37281,74.29561],[-21.59422,74.22382],[-20.43454,73.81713],[-20.76234,73.46436],[-22.17221,73.30955],[-23.56593,73.30663],[-22.31311,72.62928],[-22.29954,72.18409],[-24.27834,72.59788],[-24.79296,72.3302],[-23.44296,72.08016],[-22.13281,71.46898],[-21.75356,70.66369],[-23.53603,70.471],[-24.30702,70.85649],[-25.54341,71.43094],[-25.20135,70.75226],[-26.36276,70.22646],[-23.72742,70.18401],[-22.34902,70.12946],[-25.02927,69.2588],[-27.74737,68.47046],[-30.67371,68.12503],[-31.77665,68.12078],[-32.81105,67.73547],[-34.20196,66.67974],[-36.35284,65.9789],[-37.04378,65.93768],[-38.37505,65.69213],[-39.81222,65.45848],[-40.66899,64.83997],[-40.68281,64.13902],[-41.1887,63.48246],[-42.81938,62.68233],[-42.41666,61.90093],[-42.86619,61.07404],[-43.3784,60.09772],[-44.7875,60.03676],[-46.26364,60.85328],[-48.26294,60.85843],[-49.23308,61.40681],[-49.90039,62.38336],[-51.63325,63.62691],[-52.14014,64.27842],[-52.27659,65.1767],[-53.66166,66.09957],[-53.30161,66.8365],[-53.96911,67.18899],[-52.9804,68.35759],[-51.47536,68.72958],[-51.08041,69.14781],[-50.87122,69.9291],[-52.013585,69.574925],[-52.55792,69.42616],[-53.45629,69.283625],[-54.68336,69.61003],[-54.75001,70.28932],[-54.35884,70.821315],[-53.431315,70.835755],[-51.39014,70.56978],[-53.10937,71.20485],[-54.00422,71.54719],[-55,71.40653696727257],[-55.83468,71.65444],[-54.71819,72.58625],[-55.32634,72.95861],[-56.12003,73.64977],[-57.32363,74.71026],[-58.59679,75.09861],[-58.58516,75.51727],[-61.26861,76.10238],[-63.39165,76.1752],[-66.06427,76.13486],[-68.50438,76.06141],[-69.66485,76.37975],[-71.40257,77.00857],[-68.77671,77.32312],[-66.76397,77.37595],[-71.04293,77.63595],[-73.297,78.04419],[-73.15938,78.43271],[-69.37345,78.91388],[-65.7107,79.39436],[-65.3239,79.75814],[-68.02298,80.11721],[-67.15129,80.51582],[-63.68925,81.21396],[-62.23444,81.3211],[-62.65116,81.77042],[-60.28249,82.03363],[-57.20744,82.19074],[-54.13442,82.19962],[-53.04328,81.88833],[-50.39061,82.43883],[-48.00386,82.06481],[-46.59984,81.985945],[-44.523,81.6607],[-46.9007,82.19979],[-46.76379,82.62796]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"The Bahamas","sov_a3":"BHS","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"The Bahamas","adm0_a3":"BHS","geou_dif":0,"geounit":"The Bahamas","gu_a3":"BHS","su_dif":0,"subunit":"The Bahamas","su_a3":"BHS","brk_diff":0,"name":"Bahamas","name_long":"Bahamas","brk_a3":"BHS","brk_name":"Bahamas","brk_group":null,"abbrev":"Bhs.","postal":"BS","formal_en":"Commonwealth of the Bahamas","formal_fr":null,"name_ciawf":"Bahamas, The","note_adm0":null,"note_brk":null,"name_sort":"Bahamas, The","name_alt":null,"mapcolor7":1,"mapcolor8":1,"mapcolor9":2,"mapcolor13":5,"pop_est":389482,"pop_rank":10,"pop_year":2019,"gdp_md":13578,"gdp_year":2019,"economy":"6. Developing region","income_grp":"2. High income: nonOECD","fips_10":"BF","iso_a2":"BS","iso_a2_eh":"BS","iso_a3":"BHS","iso_a3_eh":"BHS","iso_n3":"044","iso_n3_eh":"044","un_a3":"044","wb_a2":"BS","wb_a3":"BHS","woe_id":23424758,"woe_id_eh":23424758,"woe_note":"Exact WOE match as country","adm0_iso":"BHS","adm0_diff":null,"adm0_tlc":"BHS","adm0_a3_us":"BHS","adm0_a3_fr":"BHS","adm0_a3_ru":"BHS","adm0_a3_es":"BHS","adm0_a3_cn":"BHS","adm0_a3_tw":"BHS","adm0_a3_in":"BHS","adm0_a3_np":"BHS","adm0_a3_pk":"BHS","adm0_a3_de":"BHS","adm0_a3_gb":"BHS","adm0_a3_br":"BHS","adm0_a3_il":"BHS","adm0_a3_ps":"BHS","adm0_a3_sa":"BHS","adm0_a3_eg":"BHS","adm0_a3_ma":"BHS","adm0_a3_pt":"BHS","adm0_a3_ar":"BHS","adm0_a3_jp":"BHS","adm0_a3_ko":"BHS","adm0_a3_vn":"BHS","adm0_a3_tr":"BHS","adm0_a3_id":"BHS","adm0_a3_pl":"BHS","adm0_a3_gr":"BHS","adm0_a3_it":"BHS","adm0_a3_nl":"BHS","adm0_a3_se":"BHS","adm0_a3_bd":"BHS","adm0_a3_ua":"BHS","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Caribbean","region_wb":"Latin America & Caribbean","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":-77.146688,"label_y":26.401789,"ne_id":1159320415,"wikidataid":"Q778","name_ar":"باهاماس","name_bn":"বাহামা দ্বীপপুঞ্জ","name_de":"Bahamas","name_en":"The Bahamas","name_es":"Bahamas","name_fa":"باهاما","name_fr":"Bahamas","name_el":"Μπαχάμες","name_he":"איי בהאמה","name_hi":"बहामास","name_hu":"Bahama-szigetek","name_id":"Bahama","name_it":"Bahamas","name_ja":"バハマ","name_ko":"바하마","name_nl":"Bahama's","name_pl":"Bahamy","name_pt":"Bahamas","name_ru":"Багамские Острова","name_sv":"Bahamas","name_tr":"Bahamalar","name_uk":"Багамські Острови","name_ur":"بہاماس","name_vi":"Bahamas","name_zh":"巴哈马","name_zht":"巴哈馬","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BHS.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-78.98,26.79],[-78.51,26.87],[-77.85,26.84],[-77.82,26.58],[-78.91,26.42],[-78.98,26.79]]],[[[-77.79,27.04],[-77,26.59],[-77.17255,25.87918],[-77.35641,26.00735],[-77.34,26.53],[-77.78802,26.92516],[-77.79,27.04]]],[[[-78.19087,25.2103],[-77.89,25.17],[-77.54,24.34],[-77.53466,23.75975],[-77.78,23.71],[-78.03405,24.28615],[-78.40848,24.57564],[-78.19087,25.2103]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Trinidad and Tobago","sov_a3":"TTO","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Trinidad and Tobago","adm0_a3":"TTO","geou_dif":0,"geounit":"Trinidad and Tobago","gu_a3":"TTO","su_dif":0,"subunit":"Trinidad and Tobago","su_a3":"TTO","brk_diff":0,"name":"Trinidad and Tobago","name_long":"Trinidad and Tobago","brk_a3":"TTO","brk_name":"Trinidad and Tobago","brk_group":null,"abbrev":"Tr.T.","postal":"TT","formal_en":"Republic of Trinidad and Tobago","formal_fr":null,"name_ciawf":"Trinidad and Tobago","note_adm0":null,"note_brk":null,"name_sort":"Trinidad and Tobago","name_alt":null,"mapcolor7":5,"mapcolor8":6,"mapcolor9":2,"mapcolor13":5,"pop_est":1394973,"pop_rank":12,"pop_year":2019,"gdp_md":24269,"gdp_year":2019,"economy":"6. Developing region","income_grp":"2. High income: nonOECD","fips_10":"TD","iso_a2":"TT","iso_a2_eh":"TT","iso_a3":"TTO","iso_a3_eh":"TTO","iso_n3":"780","iso_n3_eh":"780","un_a3":"780","wb_a2":"TT","wb_a3":"TTO","woe_id":23424958,"woe_id_eh":23424958,"woe_note":"Exact WOE match as country","adm0_iso":"TTO","adm0_diff":null,"adm0_tlc":"TTO","adm0_a3_us":"TTO","adm0_a3_fr":"TTO","adm0_a3_ru":"TTO","adm0_a3_es":"TTO","adm0_a3_cn":"TTO","adm0_a3_tw":"TTO","adm0_a3_in":"TTO","adm0_a3_np":"TTO","adm0_a3_pk":"TTO","adm0_a3_de":"TTO","adm0_a3_gb":"TTO","adm0_a3_br":"TTO","adm0_a3_il":"TTO","adm0_a3_ps":"TTO","adm0_a3_sa":"TTO","adm0_a3_eg":"TTO","adm0_a3_ma":"TTO","adm0_a3_pt":"TTO","adm0_a3_ar":"TTO","adm0_a3_jp":"TTO","adm0_a3_ko":"TTO","adm0_a3_vn":"TTO","adm0_a3_tr":"TTO","adm0_a3_id":"TTO","adm0_a3_pl":"TTO","adm0_a3_gr":"TTO","adm0_a3_it":"TTO","adm0_a3_nl":"TTO","adm0_a3_se":"TTO","adm0_a3_bd":"TTO","adm0_a3_ua":"TTO","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Caribbean","region_wb":"Latin America & Caribbean","name_len":19,"long_len":19,"abbrev_len":5,"tiny":2,"homepart":1,"min_zoom":0,"min_label":4.5,"max_label":9.5,"label_x":-60.9184,"label_y":10.9989,"ne_id":1159321321,"wikidataid":"Q754","name_ar":"ترينيداد وتوباغو","name_bn":"ত্রিনিদাদ ও টোবাগো","name_de":"Trinidad und Tobago","name_en":"Trinidad and Tobago","name_es":"Trinidad y Tobago","name_fa":"ترینیداد و توباگو","name_fr":"Trinité-et-Tobago","name_el":"Τρινιντάντ και Τομπάγκο","name_he":"טרינידד וטובגו","name_hi":"त्रिनिदाद और टोबैगो","name_hu":"Trinidad és Tobago","name_id":"Trinidad dan Tobago","name_it":"Trinidad e Tobago","name_ja":"トリニダード・トバゴ","name_ko":"트리니다드 토바고","name_nl":"Trinidad en Tobago","name_pl":"Trynidad i Tobago","name_pt":"Trinidad e Tobago","name_ru":"Тринидад и Тобаго","name_sv":"Trinidad och Tobago","name_tr":"Trinidad ve Tobago","name_uk":"Тринідад і Тобаго","name_ur":"ٹرینیڈاڈ و ٹوباگو","name_vi":"Trinidad và Tobago","name_zh":"特立尼达和多巴哥","name_zht":"千里達及托巴哥","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"TTO.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-61.68,10.76],[-61.105,10.89],[-60.895,10.855],[-60.935,10.11],[-61.77,10],[-61.95,10.09],[-61.66,10.365],[-61.68,10.76]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"United States of America","sov_a3":"US1","adm0_dif":1,"level":2,"type":"Dependency","tlc":"1","admin":"Puerto Rico","adm0_a3":"PRI","geou_dif":0,"geounit":"Puerto Rico","gu_a3":"PRI","su_dif":0,"subunit":"Puerto Rico","su_a3":"PRI","brk_diff":0,"name":"Puerto Rico","name_long":"Puerto Rico","brk_a3":"PRI","brk_name":"Puerto Rico","brk_group":null,"abbrev":"P.R.","postal":"PR","formal_en":"Commonwealth of Puerto Rico","formal_fr":null,"name_ciawf":"Puerto Rico","note_adm0":"U.S.A.","note_brk":null,"name_sort":"Puerto Rico","name_alt":null,"mapcolor7":4,"mapcolor8":5,"mapcolor9":1,"mapcolor13":1,"pop_est":3193694,"pop_rank":12,"pop_year":2019,"gdp_md":104988,"gdp_year":2019,"economy":"6. Developing region","income_grp":"2. High income: nonOECD","fips_10":"RQ","iso_a2":"PR","iso_a2_eh":"PR","iso_a3":"PRI","iso_a3_eh":"PRI","iso_n3":"630","iso_n3_eh":"630","un_a3":"630","wb_a2":"PR","wb_a3":"PRI","woe_id":23424935,"woe_id_eh":23424935,"woe_note":"Exact WOE match as country","adm0_iso":"PRI","adm0_diff":null,"adm0_tlc":"PRI","adm0_a3_us":"PRI","adm0_a3_fr":"PRI","adm0_a3_ru":"PRI","adm0_a3_es":"PRI","adm0_a3_cn":"PRI","adm0_a3_tw":"PRI","adm0_a3_in":"PRI","adm0_a3_np":"PRI","adm0_a3_pk":"PRI","adm0_a3_de":"PRI","adm0_a3_gb":"PRI","adm0_a3_br":"PRI","adm0_a3_il":"PRI","adm0_a3_ps":"PRI","adm0_a3_sa":"PRI","adm0_a3_eg":"PRI","adm0_a3_ma":"PRI","adm0_a3_pt":"PRI","adm0_a3_ar":"PRI","adm0_a3_jp":"PRI","adm0_a3_ko":"PRI","adm0_a3_vn":"PRI","adm0_a3_tr":"PRI","adm0_a3_id":"PRI","adm0_a3_pl":"PRI","adm0_a3_gr":"PRI","adm0_a3_it":"PRI","adm0_a3_nl":"PRI","adm0_a3_se":"PRI","adm0_a3_bd":"PRI","adm0_a3_ua":"PRI","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Caribbean","region_wb":"Latin America & Caribbean","name_len":11,"long_len":11,"abbrev_len":4,"tiny":-99,"homepart":-99,"min_zoom":0,"min_label":3,"max_label":8,"label_x":-66.481065,"label_y":18.234668,"ne_id":1159321363,"wikidataid":"Q1183","name_ar":"بورتوريكو","name_bn":"পুয়ের্তো রিকো","name_de":"Puerto Rico","name_en":"Puerto Rico","name_es":"Puerto Rico","name_fa":"پورتوریکو","name_fr":"Porto Rico","name_el":"Πουέρτο Ρίκο","name_he":"פוארטו ריקו","name_hi":"पोर्टो रीको","name_hu":"Puerto Rico","name_id":"Puerto Riko","name_it":"Porto Rico","name_ja":"プエルトリコ","name_ko":"푸에르토리코","name_nl":"Puerto Rico","name_pl":"Portoryko","name_pt":"Porto Rico","name_ru":"Пуэрто-Рико","name_sv":"Puerto Rico","name_tr":"Porto Riko","name_uk":"Пуерто-Рико","name_ur":"پورٹو ریکو","name_vi":"Puerto Rico","name_zh":"波多黎各","name_zht":"波多黎各","fclass_iso":"Admin-0 dependency","tlc_diff":null,"fclass_tlc":"Admin-0 dependency","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"PRI.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-66.28243445500821,18.514761664295364],[-65.7713028632093,18.426679185453878],[-65.59100379094295,18.228034979723915],[-65.84716386581377,17.97590566657186],[-66.59993445500949,17.981822618069273],[-67.18416236028527,17.946553453030077],[-67.24242753769435,18.374460150622937],[-67.10067908391774,18.52060110114435],[-66.28243445500821,18.514761664295364]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Jamaica","sov_a3":"JAM","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Jamaica","adm0_a3":"JAM","geou_dif":0,"geounit":"Jamaica","gu_a3":"JAM","su_dif":0,"subunit":"Jamaica","su_a3":"JAM","brk_diff":0,"name":"Jamaica","name_long":"Jamaica","brk_a3":"JAM","brk_name":"Jamaica","brk_group":null,"abbrev":"Jam.","postal":"J","formal_en":"Jamaica","formal_fr":null,"name_ciawf":"Jamaica","note_adm0":null,"note_brk":null,"name_sort":"Jamaica","name_alt":null,"mapcolor7":1,"mapcolor8":2,"mapcolor9":4,"mapcolor13":10,"pop_est":2948279,"pop_rank":12,"pop_year":2019,"gdp_md":16458,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"JM","iso_a2":"JM","iso_a2_eh":"JM","iso_a3":"JAM","iso_a3_eh":"JAM","iso_n3":"388","iso_n3_eh":"388","un_a3":"388","wb_a2":"JM","wb_a3":"JAM","woe_id":23424858,"woe_id_eh":23424858,"woe_note":"Exact WOE match as country","adm0_iso":"JAM","adm0_diff":null,"adm0_tlc":"JAM","adm0_a3_us":"JAM","adm0_a3_fr":"JAM","adm0_a3_ru":"JAM","adm0_a3_es":"JAM","adm0_a3_cn":"JAM","adm0_a3_tw":"JAM","adm0_a3_in":"JAM","adm0_a3_np":"JAM","adm0_a3_pk":"JAM","adm0_a3_de":"JAM","adm0_a3_gb":"JAM","adm0_a3_br":"JAM","adm0_a3_il":"JAM","adm0_a3_ps":"JAM","adm0_a3_sa":"JAM","adm0_a3_eg":"JAM","adm0_a3_ma":"JAM","adm0_a3_pt":"JAM","adm0_a3_ar":"JAM","adm0_a3_jp":"JAM","adm0_a3_ko":"JAM","adm0_a3_vn":"JAM","adm0_a3_tr":"JAM","adm0_a3_id":"JAM","adm0_a3_pl":"JAM","adm0_a3_gr":"JAM","adm0_a3_it":"JAM","adm0_a3_nl":"JAM","adm0_a3_se":"JAM","adm0_a3_bd":"JAM","adm0_a3_ua":"JAM","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Caribbean","region_wb":"Latin America & Caribbean","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":-77.318767,"label_y":18.137124,"ne_id":1159320931,"wikidataid":"Q766","name_ar":"جامايكا","name_bn":"জ্যামাইকা","name_de":"Jamaika","name_en":"Jamaica","name_es":"Jamaica","name_fa":"جامائیکا","name_fr":"Jamaïque","name_el":"Τζαμάικα","name_he":"ג'מייקה","name_hi":"जमैका","name_hu":"Jamaica","name_id":"Jamaika","name_it":"Giamaica","name_ja":"ジャマイカ","name_ko":"자메이카","name_nl":"Jamaica","name_pl":"Jamajka","name_pt":"Jamaica","name_ru":"Ямайка","name_sv":"Jamaica","name_tr":"Jamaika","name_uk":"Ямайка","name_ur":"جمیکا","name_vi":"Jamaica","name_zh":"牙买加","name_zht":"牙買加","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"JAM.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-77.56960079619921,18.490525417550487],[-76.89661861846213,18.400866807524082],[-76.36535905628554,18.160700588447597],[-76.19965857614164,17.886867173732966],[-76.9025614081757,17.868237819891746],[-77.20634131540348,17.70111623785982],[-77.76602291534061,17.86159739834224],[-78.33771928578561,18.225967922432233],[-78.21772661000388,18.454532782459196],[-77.79736467152563,18.524218451404778],[-77.56960079619921,18.490525417550487]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Indonesia","sov_a3":"IDN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Indonesia","adm0_a3":"IDN","geou_dif":0,"geounit":"Indonesia","gu_a3":"IDN","su_dif":0,"subunit":"Indonesia","su_a3":"IDN","brk_diff":0,"name":"Indonesia","name_long":"Indonesia","brk_a3":"IDN","brk_name":"Indonesia","brk_group":null,"abbrev":"Indo.","postal":"INDO","formal_en":"Republic of Indonesia","formal_fr":null,"name_ciawf":"Indonesia","note_adm0":null,"note_brk":null,"name_sort":"Indonesia","name_alt":null,"mapcolor7":6,"mapcolor8":6,"mapcolor9":6,"mapcolor13":11,"pop_est":270625568,"pop_rank":17,"pop_year":2019,"gdp_md":1119190,"gdp_year":2019,"economy":"4. Emerging region: MIKT","income_grp":"4. Lower middle income","fips_10":"ID","iso_a2":"ID","iso_a2_eh":"ID","iso_a3":"IDN","iso_a3_eh":"IDN","iso_n3":"360","iso_n3_eh":"360","un_a3":"360","wb_a2":"ID","wb_a3":"IDN","woe_id":23424846,"woe_id_eh":23424846,"woe_note":"Exact WOE match as country","adm0_iso":"IDN","adm0_diff":null,"adm0_tlc":"IDN","adm0_a3_us":"IDN","adm0_a3_fr":"IDN","adm0_a3_ru":"IDN","adm0_a3_es":"IDN","adm0_a3_cn":"IDN","adm0_a3_tw":"IDN","adm0_a3_in":"IDN","adm0_a3_np":"IDN","adm0_a3_pk":"IDN","adm0_a3_de":"IDN","adm0_a3_gb":"IDN","adm0_a3_br":"IDN","adm0_a3_il":"IDN","adm0_a3_ps":"IDN","adm0_a3_sa":"IDN","adm0_a3_eg":"IDN","adm0_a3_ma":"IDN","adm0_a3_pt":"IDN","adm0_a3_ar":"IDN","adm0_a3_jp":"IDN","adm0_a3_ko":"IDN","adm0_a3_vn":"IDN","adm0_a3_tr":"IDN","adm0_a3_id":"IDN","adm0_a3_pl":"IDN","adm0_a3_gr":"IDN","adm0_a3_it":"IDN","adm0_a3_nl":"IDN","adm0_a3_se":"IDN","adm0_a3_bd":"IDN","adm0_a3_ua":"IDN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"South-Eastern Asia","region_wb":"East Asia & Pacific","name_len":9,"long_len":9,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":6.7,"label_x":101.892949,"label_y":-0.954404,"ne_id":1159320845,"wikidataid":"Q252","name_ar":"إندونيسيا","name_bn":"ইন্দোনেশিয়া","name_de":"Indonesien","name_en":"Indonesia","name_es":"Indonesia","name_fa":"اندونزی","name_fr":"Indonésie","name_el":"Ινδονησία","name_he":"אינדונזיה","name_hi":"इंडोनेशिया","name_hu":"Indonézia","name_id":"Indonesia","name_it":"Indonesia","name_ja":"インドネシア","name_ko":"인도네시아","name_nl":"Indonesië","name_pl":"Indonezja","name_pt":"Indonésia","name_ru":"Индонезия","name_sv":"Indonesien","name_tr":"Endonezya","name_uk":"Індонезія","name_ur":"انڈونیشیا","name_vi":"Indonesia","name_zh":"印度尼西亚","name_zht":"印度尼西亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"IDN.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[141.00021040259185,-2.60015105551566],[141.01705691951895,-5.859021905138071],[141.03385176001382,-9.117892754760483],[140.14341515519254,-8.29716765710095],[139.1277665549281,-8.096042982620979],[138.881476678625,-8.380935153846075],[137.61447391169287,-8.41168263105974],[138.03909915583517,-7.597882175327321],[138.66862145401478,-7.320224704623087],[138.4079138531023,-6.232849216337485],[137.92783979711078,-5.393365573756],[135.98925011611345,-4.54654387778907],[135.16459760959975,-4.462931410340822],[133.66288048719787,-3.538853448097541],[133.36770470594672,-4.024818617370315],[132.98395551974727,-4.112978610860253],[132.75694095268904,-3.746282647317123],[132.75378869031925,-3.31178720460705],[131.98980431531618,-2.820551039240499],[133.0668445171434,-2.460417982598436],[133.78003095920354,-2.479848321140182],[133.69621178602614,-2.214541517753702],[132.23237348849426,-2.212526136894319],[131.83622195854474,-1.617161960459647],[130.94283979708285,-1.432522067880783],[130.5195581401801,-0.937720228686089],[131.8675378765136,-0.695461114101789],[132.3801164084167,-0.369537855636949],[133.98554813042836,-0.780210463060456],[134.14336795464772,-1.151867364103623],[134.42262739475302,-2.769184665542376],[135.45760298069467,-3.367752780779149],[136.29331424371884,-2.307042331556154],[137.44073774632756,-1.703513278819365],[138.3297274110447,-1.702686455902693],[139.18492068904288,-2.051295668143673],[139.92668419816044,-2.409051608900313],[141.00021040259185,-2.60015105551566]]],[[[124.96868248911623,-8.892790215697083],[125.07001997284061,-9.089987481322872],[125.08852013560109,-9.393173109579294],[124.43595014861933,-10.140000909061449],[123.57998172413669,-10.359987481327956],[123.459989048355,-10.239994805546223],[123.55000939340744,-9.900015557497987],[123.9800089865081,-9.290026950724716],[124.96868248911623,-8.892790215697083]]],[[[134.21013390516885,-6.89523772545472],[134.11277550673094,-6.142467136259],[134.29033572808584,-5.783057549669017],[134.49962527886788,-5.445042006047871],[134.72700158095216,-5.737582289252167],[134.7246244650667,-6.214400730009288],[134.21013390516885,-6.89523772545472]]],[[[117.88203494677018,4.137551377779516],[117.3132324565335,3.234428208830593],[118.0483297058854,2.287690131027333],[117.87562706916597,1.827640692548925],[118.99674726773816,0.902219143066063],[117.8118583517178,0.784241848143708],[117.47833865770603,0.102474676917026],[117.52164350796664,-0.803723239753268],[116.56004845587947,-1.48766082113621],[116.5337968282752,-2.483517347832901],[116.14808393764866,-4.012726332214022],[116.00085778204911,-3.657037448749058],[114.86480309454456,-4.106984144714396],[114.46865156459506,-3.495703627133828],[113.75567182826407,-3.43916961020652],[113.25699425664752,-3.118775729996905],[112.06812625534067,-3.478392022316051],[111.70329064336005,-2.994442233902654],[111.04824018762824,-3.049425957861211],[110.223846063276,-2.934032484553455],[110.07093550012434,-1.592874037282463],[109.571947869914,-1.314906507984475],[109.0918738139225,-0.459506524257094],[108.9526575053282,0.415375474444318],[109.06913618371408,1.341933905437614],[109.66326012577375,2.006466986494956],[109.83022667850881,1.338135687664163],[110.51406090702716,0.773131415200965],[111.15913781132662,0.976478176269481],[111.79754845586041,0.904441229654608],[112.38025190638359,1.410120957846743],[112.85980919805218,1.497790025229904],[113.8058496440195,1.217548732911069],[114.62135542201753,1.430688177898901],[115.13403730678522,2.821481838386234],[115.51907840379198,3.169238389494396],[115.8655172058767,4.3065591495901],[117.01521447150628,4.306094061699469],[117.88203494677018,4.137551377779516]]],[[[129.37099775606094,-2.802154229344595],[130.47134402885177,-3.093764336767634],[130.83483605359282,-3.858472181822776],[129.99054650280817,-3.446300957862796],[129.15524865124235,-3.362636813982248],[128.59068362845363,-3.428679294451264],[127.89889122936235,-3.393435967628207],[128.13587934785284,-2.843650404474971],[129.37099775606094,-2.802154229344595]]],[[[126.87492272349886,-3.790982761249587],[126.18380211802736,-3.607376397316564],[125.98903364471926,-3.177273451351305],[127.00065148326497,-3.129317722184446],[127.24921512258891,-3.45906503663889],[126.87492272349886,-3.790982761249587]]],[[[127.93237755748748,2.174596258956569],[128.00415612194087,1.628531398928345],[128.5945593608755,1.540810655112878],[128.6882487326207,1.132385972494063],[128.63595218314134,0.258485826006194],[128.1201697124361,0.356412665199286],[127.96803429576886,-0.252077325037519],[128.3799988139997,-0.7800037573313],[128.1000159038423,-0.899996433113031],[127.69647464407507,-0.266598402511534],[127.39949018769369,1.011721503092545],[127.60051150930906,1.810690822757195],[127.93237755748748,2.174596258956569]]],[[[122.9275667664518,0.875192368977409],[124.07752241424288,0.917101955566125],[125.0659892111218,1.64325918213153],[125.2405005229715,1.419836127117605],[124.4370353536974,0.427881171058957],[123.6855049988767,0.235593166500891],[122.72308312387287,0.431136786293337],[121.05672488818911,0.381217352699394],[120.18308312386272,0.237246812334234],[120.04086958219548,-0.519657891444837],[120.93590538949073,-1.408905938323393],[121.4758207540762,-0.95596200928513],[123.34056481332846,-0.615672702643138],[123.25839928598441,-1.076213067228309],[122.82271528533161,-0.930950616055853],[122.38852990121529,-1.516858005381117],[121.50827355355551,-1.904482924002458],[122.4545723816843,-3.186058444840924],[122.2718961935325,-3.529500013852712],[123.17096276254655,-4.683693129091701],[123.1623327983538,-5.340603936385996],[122.62851525277875,-5.634591159694466],[122.23639448454801,-5.282933037948268],[122.71956912647701,-4.464171644715826],[121.73823367725436,-4.851331475446543],[121.48946333220127,-4.574552504091265],[121.61917117725386,-4.188477878438682],[120.89818159391766,-3.602105401222794],[120.97238895068878,-2.627642917494939],[120.30545291552986,-2.931603692235733],[120.39004723519167,-4.097579034037274],[120.43071658740537,-5.528241062037793],[119.79654341031949,-5.673400160345665],[119.36690555224489,-5.37987802492782],[119.65360639860017,-4.459417412944973],[119.49883548388601,-3.494411716326532],[119.07834435432704,-3.487021986508793],[118.76776899625287,-2.801999200047718],[119.18097374885869,-2.147103773612805],[119.3233939962551,-1.353147067880464],[119.82599897672587,0.154254462073482],[120.0357019389663,0.566477362465761],[120.88577925016762,1.30922272379685],[121.66681684782696,1.013943589681091],[122.9275667664518,0.875192368977409]]],[[[120.29501427620689,-10.258649997603591],[118.96780846565471,-9.557969252158074],[119.90030968636157,-9.361340427287502],[120.42575564990534,-9.665921319215798],[120.77550174365675,-9.96967538822743],[120.71560875863045,-10.239581394087885],[120.29501427620689,-10.258649997603591]]],[[[121.34166873584651,-8.536739597206072],[122.00736453663043,-8.460620212440148],[122.90353722543607,-8.094234307490765],[122.75698286345632,-8.649807631060696],[121.2544905945701,-8.933666273639957],[119.92439090380958,-8.81041798262384],[119.92092858284605,-8.444858900591122],[120.71509199430757,-8.236964613480914],[121.34166873584651,-8.536739597206072]]],[[[118.26061648974044,-8.362383314653293],[118.87845991422208,-8.280682875199844],[119.12650678922307,-8.705824883665088],[117.97040164598928,-8.906639499551304],[117.27773074754901,-9.040894870645594],[116.74014082241665,-9.032936700072646],[117.0837374207253,-8.45715789147659],[117.6320243673421,-8.449303073768228],[117.90001834520776,-8.09568124759494],[118.26061648974044,-8.362383314653293]]],[[[108.48684614464926,-6.42198495852574],[108.62347863162896,-6.777673841990705],[110.53922732955328,-6.877357679881726],[110.75957563684585,-6.465186455921747],[112.6148112325564,-6.946035658397626],[112.97876834518806,-7.594213148634594],[114.47893517462114,-7.776527601760328],[115.70552697150106,-8.370806573116873],[114.56451134649649,-8.751816908404855],[113.46473351446085,-8.348947442257405],[112.55967247930097,-8.376180922075221],[111.52206139531245,-8.302128594600973],[110.58614953007432,-8.122604668819001],[109.42766727095511,-7.740664157749762],[108.69365522668133,-7.641600437046243],[108.27776329959633,-7.766657403192576],[106.45410200401612,-7.354899590690934],[106.28062422081231,-6.924899997590252],[105.36548628135552,-6.851416110871206],[106.05164594932702,-5.895918877794472],[107.2650085795402,-5.954985039904081],[108.07209109907467,-6.345762220895224],[108.48684614464926,-6.42198495852574]]],[[[104.36999148968489,-1.084843031421059],[104.53949018760221,-1.782371514496766],[104.88789269411402,-2.340425306816705],[105.62211144411697,-2.428843682468099],[106.10859337771265,-3.061776625178965],[105.85744591677414,-4.305524997579774],[105.8176550639094,-5.85235564537242],[104.71038414919144,-5.873284600450632],[103.86821333213078,-5.037314955264996],[102.5842606954069,-4.220258884298183],[102.156173130301,-3.614146009946801],[101.39911339722507,-2.799777113459164],[100.90250288290015,-2.050262139497832],[100.14198082886065,-0.650347588710986],[99.26373986206028,0.183141587724634],[98.97001102091326,1.042882391764536],[98.60135135294306,1.823506577965574],[97.69959760944985,2.45318390544206],[97.17694217324984,3.308790594898596],[96.42401655475726,3.868859768077925],[95.3808760925135,4.970782172053688],[95.29302615761729,5.479820868344788],[95.93686282754174,5.439513251157123],[97.4848820332771,5.246320909033955],[98.36916914265566,4.268370266126396],[99.1425586283358,3.590349636240873],[99.69399783732241,3.174328518075143],[100.64143354696162,2.099381211755741],[101.65801232300734,2.083697414555161],[102.49827111207323,1.398700466310231],[103.07684044801303,0.561361395668868],[103.83839603069836,0.104541734208695],[103.4376452982749,-0.711945896002902],[104.01078860882404,-1.059211521004286],[104.36999148968489,-1.084843031421059]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Malaysia","sov_a3":"MYS","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Malaysia","adm0_a3":"MYS","geou_dif":0,"geounit":"Malaysia","gu_a3":"MYS","su_dif":0,"subunit":"Malaysia","su_a3":"MYS","brk_diff":0,"name":"Malaysia","name_long":"Malaysia","brk_a3":"MYS","brk_name":"Malaysia","brk_group":null,"abbrev":"Malay.","postal":"MY","formal_en":"Malaysia","formal_fr":null,"name_ciawf":"Malaysia","note_adm0":null,"note_brk":null,"name_sort":"Malaysia","name_alt":null,"mapcolor7":2,"mapcolor8":4,"mapcolor9":3,"mapcolor13":6,"pop_est":31949777,"pop_rank":15,"pop_year":2019,"gdp_md":364681,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"MY","iso_a2":"MY","iso_a2_eh":"MY","iso_a3":"MYS","iso_a3_eh":"MYS","iso_n3":"458","iso_n3_eh":"458","un_a3":"458","wb_a2":"MY","wb_a3":"MYS","woe_id":23424901,"woe_id_eh":23424901,"woe_note":"Exact WOE match as country","adm0_iso":"MYS","adm0_diff":null,"adm0_tlc":"MYS","adm0_a3_us":"MYS","adm0_a3_fr":"MYS","adm0_a3_ru":"MYS","adm0_a3_es":"MYS","adm0_a3_cn":"MYS","adm0_a3_tw":"MYS","adm0_a3_in":"MYS","adm0_a3_np":"MYS","adm0_a3_pk":"MYS","adm0_a3_de":"MYS","adm0_a3_gb":"MYS","adm0_a3_br":"MYS","adm0_a3_il":"MYS","adm0_a3_ps":"MYS","adm0_a3_sa":"MYS","adm0_a3_eg":"MYS","adm0_a3_ma":"MYS","adm0_a3_pt":"MYS","adm0_a3_ar":"MYS","adm0_a3_jp":"MYS","adm0_a3_ko":"MYS","adm0_a3_vn":"MYS","adm0_a3_tr":"MYS","adm0_a3_id":"MYS","adm0_a3_pl":"MYS","adm0_a3_gr":"MYS","adm0_a3_it":"MYS","adm0_a3_nl":"MYS","adm0_a3_se":"MYS","adm0_a3_bd":"MYS","adm0_a3_ua":"MYS","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"South-Eastern Asia","region_wb":"East Asia & Pacific","name_len":8,"long_len":8,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":113.83708,"label_y":2.528667,"ne_id":1159321083,"wikidataid":"Q833","name_ar":"ماليزيا","name_bn":"মালয়েশিয়া","name_de":"Malaysia","name_en":"Malaysia","name_es":"Malasia","name_fa":"مالزی","name_fr":"Malaisie","name_el":"Μαλαισία","name_he":"מלזיה","name_hi":"मलेशिया","name_hu":"Malajzia","name_id":"Malaysia","name_it":"Malaysia","name_ja":"マレーシア","name_ko":"말레이시아","name_nl":"Maleisië","name_pl":"Malezja","name_pt":"Malásia","name_ru":"Малайзия","name_sv":"Malaysia","name_tr":"Malezya","name_uk":"Малайзія","name_ur":"ملائیشیا","name_vi":"Malaysia","name_zh":"马来西亚","name_zht":"馬來西亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MYS.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[100.0857568705271,6.464489447450291],[100.25959638875696,6.642824815289543],[101.07551557821336,6.204867051615921],[101.15421878459387,5.691384182147715],[101.81428185425798,5.810808417174242],[102.14118696493638,6.221636053894628],[102.37114708863521,6.128205064310919],[102.96170535686673,5.524495144061106],[103.38121463421217,4.855001125503748],[103.43857547405612,4.181605536308339],[103.33212202353486,3.726697902842986],[103.42942874554049,3.382868760589005],[103.50244754436889,2.791018581550176],[103.8546741068703,2.515454006353764],[104.24793175661145,1.631141058759084],[104.22881147666348,1.293048000489492],[103.51970747275439,1.226333726400682],[102.57361535035477,1.967115383304687],[101.39063846232919,2.760813706875581],[101.27353966675582,3.270291652841152],[100.69543541870664,3.93913971599487],[100.55740766805502,4.767280381688295],[100.19670617065775,5.312492580583708],[100.30626020711652,6.040561835143905],[100.0857568705271,6.464489447450291]]],[[[117.88203494677018,4.137551377779516],[117.01521447150628,4.306094061699469],[115.8655172058767,4.3065591495901],[115.51907840379198,3.169238389494396],[115.13403730678522,2.821481838386234],[114.62135542201753,1.430688177898901],[113.8058496440195,1.217548732911069],[112.85980919805218,1.497790025229904],[112.38025190638359,1.410120957846743],[111.79754845586041,0.904441229654608],[111.15913781132662,0.976478176269481],[110.51406090702716,0.773131415200965],[109.83022667850881,1.338135687664163],[109.66326012577375,2.006466986494956],[110.3961352885371,1.663774725751395],[111.16885298059748,1.850636704918813],[111.37008100794205,2.697303371588859],[111.7969283386729,2.885896511238059],[112.99561486211522,3.102394924324855],[113.71293541875868,3.893509426281156],[114.20401655482837,4.525873928236805],[114.65959598191353,4.007636826997754],[114.8695573263154,4.348313706881925],[115.34746097215066,4.316636053887009],[115.40570031134361,4.955227565933839],[115.45071048386981,5.447729803891534],[116.22074100145102,6.143191229675566],[116.72510298061971,6.924771429873999],[117.12962609260047,6.92805288332454],[117.64339318244627,6.422166449403249],[117.68907514859231,5.987490139180154],[118.34769127815224,5.708695786965492],[119.18190392463997,5.407835598162207],[119.11069380094176,5.016128241389808],[118.43972700406408,4.966518866389606],[118.6183207540648,4.478202419447555],[117.88203494677018,4.137551377779516]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Cyprus","sov_a3":"CYP","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Cyprus","adm0_a3":"CYP","geou_dif":0,"geounit":"Cyprus","gu_a3":"CYP","su_dif":0,"subunit":"Cyprus","su_a3":"CYP","brk_diff":0,"name":"Cyprus","name_long":"Cyprus","brk_a3":"CYP","brk_name":"Cyprus","brk_group":null,"abbrev":"Cyp.","postal":"CY","formal_en":"Republic of Cyprus","formal_fr":null,"name_ciawf":"Cyprus","note_adm0":null,"note_brk":null,"name_sort":"Cyprus","name_alt":null,"mapcolor7":1,"mapcolor8":2,"mapcolor9":3,"mapcolor13":7,"pop_est":1198575,"pop_rank":12,"pop_year":2019,"gdp_md":24948,"gdp_year":2019,"economy":"6. Developing region","income_grp":"2. High income: nonOECD","fips_10":"CY","iso_a2":"CY","iso_a2_eh":"CY","iso_a3":"CYP","iso_a3_eh":"CYP","iso_n3":"196","iso_n3_eh":"196","un_a3":"196","wb_a2":"CY","wb_a3":"CYP","woe_id":-90,"woe_id_eh":23424994,"woe_note":"WOE lists as subunit of united Cyprus","adm0_iso":"CYP","adm0_diff":null,"adm0_tlc":"CYP","adm0_a3_us":"CYP","adm0_a3_fr":"CYP","adm0_a3_ru":"CYP","adm0_a3_es":"CYP","adm0_a3_cn":"CYP","adm0_a3_tw":"CYP","adm0_a3_in":"CYP","adm0_a3_np":"CYP","adm0_a3_pk":"CYP","adm0_a3_de":"CYP","adm0_a3_gb":"CYP","adm0_a3_br":"CYP","adm0_a3_il":"CYP","adm0_a3_ps":"CYP","adm0_a3_sa":"CYP","adm0_a3_eg":"CYP","adm0_a3_ma":"CYP","adm0_a3_pt":"CYP","adm0_a3_ar":"CYP","adm0_a3_jp":"CYP","adm0_a3_ko":"CYP","adm0_a3_vn":"CYP","adm0_a3_tr":"CYP","adm0_a3_id":"CYP","adm0_a3_pl":"CYP","adm0_a3_gr":"CYP","adm0_a3_it":"CYP","adm0_a3_nl":"CYP","adm0_a3_se":"CYP","adm0_a3_bd":"CYP","adm0_a3_ua":"CYP","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4.5,"max_label":9.5,"label_x":33.084182,"label_y":34.913329,"ne_id":1159320533,"wikidataid":"Q229","name_ar":"قبرص","name_bn":"সাইপ্রাস","name_de":"Republik Zypern","name_en":"Cyprus","name_es":"Chipre","name_fa":"قبرس","name_fr":"Chypre","name_el":"Κύπρος","name_he":"קפריסין","name_hi":"साइप्रस","name_hu":"Ciprus","name_id":"Siprus","name_it":"Cipro","name_ja":"キプロス","name_ko":"키프로스","name_nl":"Cyprus","name_pl":"Cypr","name_pt":"Chipre","name_ru":"Кипр","name_sv":"Cypern","name_tr":"Kıbrıs Cumhuriyeti","name_uk":"Кіпр","name_ur":"قبرص","name_vi":"Cộng hòa Síp","name_zh":"塞浦路斯","name_zht":"賽普勒斯","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"CYP.geojson"},"geometry":{"type":"Polygon","coordinates":[[[32.73178022637745,35.14002594658844],[32.919572381326134,35.08783274997364],[33.19097700372305,35.17312470147138],[33.3838334490363,35.16271190036457],[33.45592207208347,35.10142365166641],[33.47581749851585,35.000344550103506],[33.5256852556775,35.03868846286407],[33.675391880027064,35.01786286065045],[33.86643965021011,35.09359467217419],[33.97361657078346,35.058506374648005],[34.00488081232004,34.97809784600186],[32.97982710137845,34.57186941175544],[32.49029625827754,34.701654771456475],[32.25666710788596,35.10323232679663],[32.73178022637745,35.14002594658844]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"India","sov_a3":"IND","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"India","adm0_a3":"IND","geou_dif":0,"geounit":"India","gu_a3":"IND","su_dif":0,"subunit":"India","su_a3":"IND","brk_diff":0,"name":"India","name_long":"India","brk_a3":"IND","brk_name":"India","brk_group":null,"abbrev":"India","postal":"IND","formal_en":"Republic of India","formal_fr":null,"name_ciawf":"India","note_adm0":null,"note_brk":null,"name_sort":"India","name_alt":null,"mapcolor7":1,"mapcolor8":3,"mapcolor9":2,"mapcolor13":2,"pop_est":1366417754,"pop_rank":18,"pop_year":2019,"gdp_md":2868929,"gdp_year":2019,"economy":"3. Emerging region: BRIC","income_grp":"4. Lower middle income","fips_10":"IN","iso_a2":"IN","iso_a2_eh":"IN","iso_a3":"IND","iso_a3_eh":"IND","iso_n3":"356","iso_n3_eh":"356","un_a3":"356","wb_a2":"IN","wb_a3":"IND","woe_id":23424848,"woe_id_eh":23424848,"woe_note":"Exact WOE match as country","adm0_iso":"IND","adm0_diff":null,"adm0_tlc":"IND","adm0_a3_us":"IND","adm0_a3_fr":"IND","adm0_a3_ru":"IND","adm0_a3_es":"IND","adm0_a3_cn":"IND","adm0_a3_tw":"IND","adm0_a3_in":"IND","adm0_a3_np":"IND","adm0_a3_pk":"IND","adm0_a3_de":"IND","adm0_a3_gb":"IND","adm0_a3_br":"IND","adm0_a3_il":"IND","adm0_a3_ps":"IND","adm0_a3_sa":"IND","adm0_a3_eg":"IND","adm0_a3_ma":"IND","adm0_a3_pt":"IND","adm0_a3_ar":"IND","adm0_a3_jp":"IND","adm0_a3_ko":"IND","adm0_a3_vn":"IND","adm0_a3_tr":"IND","adm0_a3_id":"IND","adm0_a3_pl":"IND","adm0_a3_gr":"IND","adm0_a3_it":"IND","adm0_a3_nl":"IND","adm0_a3_se":"IND","adm0_a3_bd":"IND","adm0_a3_ua":"IND","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Southern Asia","region_wb":"South Asia","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":6.7,"label_x":79.358105,"label_y":22.686852,"ne_id":1159320847,"wikidataid":"Q668","name_ar":"الهند","name_bn":"ভারত","name_de":"Indien","name_en":"India","name_es":"India","name_fa":"هند","name_fr":"Inde","name_el":"Ινδία","name_he":"הודו","name_hi":"भारत","name_hu":"India","name_id":"India","name_it":"India","name_ja":"インド","name_ko":"인도","name_nl":"India","name_pl":"Indie","name_pt":"Índia","name_ru":"Индия","name_sv":"Indien","name_tr":"Hindistan","name_uk":"Індія","name_ur":"بھارت","name_vi":"Ấn Độ","name_zh":"印度","name_zht":"印度","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"IND.geojson"},"geometry":{"type":"Polygon","coordinates":[[[97.32711388549004,28.26158274994634],[97.40256147663614,27.882536119085444],[97.0519885599681,27.69905894623315],[97.1339990580153,27.083773505149964],[96.41936567585097,27.264589341739224],[95.12476769407496,26.5735720891323],[95.1551534362626,26.001307277932085],[94.60324913938538,25.162495428970402],[94.55265791217164,24.675238348890336],[94.10674197792507,23.85074087167348],[93.3251876159428,24.078556423432204],[93.28632693885928,23.043658352139005],[93.06029422401463,22.70311066333557],[93.16612755734837,22.278459580977103],[92.67272098182556,22.041238918541254],[92.14603478390681,23.627498684172593],[91.86992760617132,23.624346421802784],[91.70647505083211,22.985263983649187],[91.15896325069973,23.50352692310439],[91.46772993364368,24.072639471934792],[91.91509280799443,24.130413723237112],[92.37620161333481,24.976692816664965],[91.79959598182208,25.147431748957317],[90.87221072791212,25.132600612889547],[89.92069258012185,25.26974986419218],[89.83248091019962,25.96508209889548],[89.35509402868729,26.014407253518073],[88.56304935094977,26.446525580342723],[88.2097892598025,25.768065700782714],[88.93155398962308,25.238692328384776],[88.30637251175602,24.866079413344206],[88.08442223506242,24.501657212821925],[88.69994022009092,24.23371491138856],[88.52976972855379,23.631141872649167],[88.87631188350309,22.87914642993783],[89.03196129756623,22.055708319582976],[88.88876590368542,21.690588487224748],[88.20849734899522,21.703171698487807],[86.97570438024027,21.49556163175521],[87.03316857294887,20.743307806882413],[86.49935102737379,20.151638495356607],[85.0602657409097,19.4785788029711],[83.94100589390001,18.302009792549725],[83.18921715691785,17.67122142177898],[82.19279218946592,17.016636053937816],[82.19124189649719,16.556664130107848],[81.69271935417748,16.310219224507904],[80.79199913933014,15.951972357644493],[80.32489586784388,15.89918488205835],[80.02506920768644,15.136414903214147],[80.2332735533904,13.835770778859981],[80.28629357292186,13.006260687710835],[79.8625468281285,12.056215318240888],[79.85799930208682,10.35727509199711],[79.340511509116,10.30885427493962],[78.88534549348918,9.546135972527722],[79.1897196796883,9.216543687370148],[78.2779407083305,8.933046779816934],[77.94116539908435,8.252959092639742],[77.53989790233794,7.965534776232332],[76.59297895702167,8.89927623131419],[76.13006147655108,10.299630031775521],[75.7464673196485,11.308250637248307],[75.39610110870959,11.781245022015824],[74.86481570831683,12.741935736537897],[74.61671715688354,13.99258291264968],[74.44385949086723,14.617221787977698],[73.5341992532334,15.99065216721496],[73.11990929554943,17.928570054592498],[72.82090945830865,19.208233547436166],[72.8244751321368,20.419503282141534],[72.6305334817454,21.356009426351008],[71.17527347197395,20.757441311114235],[70.4704586119451,20.877330634031384],[69.16413008003883,22.0892980005727],[69.6449276060824,22.450774644454338],[69.34959679553435,22.84317963306269],[68.1766451353734,23.69196503345671],[68.84259931831878,24.35913361256094],[71.04324018746823,24.3565239527302],[70.84469933460284,25.21510203704352],[70.2828731627256,25.72222870533983],[70.16892662952202,26.491871649678842],[69.51439293811313,26.940965684511372],[70.61649620960193,27.989196275335868],[71.77766564320032,27.913180243434525],[72.8237516620847,28.961591701772054],[73.45063846221743,29.97641347911987],[74.42138024282028,30.979814764931177],[74.40592898956501,31.69263947196528],[75.25864179881322,32.2711054550405],[74.45155927927871,32.7648996038055],[74.10429365427734,33.44147329358685],[73.74994835805197,34.31769887952785],[74.24020267120497,34.748887030571254],[75.75706098826834,34.50492259372132],[76.87172163280403,34.65354401299274],[77.83745079947457,35.494009507787766],[78.91226891471322,34.32193634697579],[78.81108646028574,33.50619802503242],[79.20889163606859,32.994394639613716],[79.17612877799553,32.48377981213771],[78.45844648632601,32.61816437431273],[78.73889448437401,31.515906073527063],[79.7213668151071,30.88271474865473],[81.11125613802932,30.183480943313402],[80.4767212259174,29.72986522065534],[80.08842451367627,28.79447011974014],[81.05720258985203,28.416095282499043],[81.99998742058497,27.925479234319994],[83.30424889519955,27.36450572357556],[84.6750179381738,27.234901231387536],[85.25177859898338,26.726198431906344],[86.02439293817918,26.63098460540857],[87.2274719583663,26.397898057556077],[88.06023766474982,26.41461538340249],[88.17480431514092,26.81040517832595],[88.04313276566123,27.445818589786825],[88.12044070836987,27.876541652939594],[88.73032596227856,28.086864732367516],[88.81424848832056,27.299315904239364],[88.83564253128938,27.098966376243762],[89.74452762243885,26.719402981059957],[90.37327477413407,26.87572418874288],[91.21751264848643,26.808648179628022],[92.03348351437509,26.83831045176356],[92.10371178585974,27.452614040633208],[91.69665652869668,27.771741848251665],[92.50311893104364,27.89687632904645],[93.41334760943269,28.640629380807226],[94.56599043170294,29.277438055939985],[95.40480228066464,29.03171662039213],[96.11767866413103,29.452802028922466],[96.58659061074749,28.83097951915434],[96.24883344928779,28.411030992134442],[97.32711388549004,28.26158274994634]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"China","sov_a3":"CH1","adm0_dif":1,"level":2,"type":"Country","tlc":"1","admin":"China","adm0_a3":"CHN","geou_dif":0,"geounit":"China","gu_a3":"CHN","su_dif":0,"subunit":"China","su_a3":"CHN","brk_diff":0,"name":"China","name_long":"China","brk_a3":"CHN","brk_name":"China","brk_group":null,"abbrev":"China","postal":"CN","formal_en":"People's Republic of China","formal_fr":null,"name_ciawf":"China","note_adm0":null,"note_brk":null,"name_sort":"China","name_alt":null,"mapcolor7":4,"mapcolor8":4,"mapcolor9":4,"mapcolor13":3,"pop_est":1397715000,"pop_rank":18,"pop_year":2019,"gdp_md":14342903,"gdp_year":2019,"economy":"3. Emerging region: BRIC","income_grp":"3. Upper middle income","fips_10":"CH","iso_a2":"CN","iso_a2_eh":"CN","iso_a3":"CHN","iso_a3_eh":"CHN","iso_n3":"156","iso_n3_eh":"156","un_a3":"156","wb_a2":"CN","wb_a3":"CHN","woe_id":23424781,"woe_id_eh":23424781,"woe_note":"Exact WOE match as country","adm0_iso":"CHN","adm0_diff":null,"adm0_tlc":"CHN","adm0_a3_us":"CHN","adm0_a3_fr":"CHN","adm0_a3_ru":"CHN","adm0_a3_es":"CHN","adm0_a3_cn":"CHN","adm0_a3_tw":"TWN","adm0_a3_in":"CHN","adm0_a3_np":"CHN","adm0_a3_pk":"CHN","adm0_a3_de":"CHN","adm0_a3_gb":"CHN","adm0_a3_br":"CHN","adm0_a3_il":"CHN","adm0_a3_ps":"CHN","adm0_a3_sa":"CHN","adm0_a3_eg":"CHN","adm0_a3_ma":"CHN","adm0_a3_pt":"CHN","adm0_a3_ar":"CHN","adm0_a3_jp":"CHN","adm0_a3_ko":"CHN","adm0_a3_vn":"CHN","adm0_a3_tr":"CHN","adm0_a3_id":"CHN","adm0_a3_pl":"CHN","adm0_a3_gr":"CHN","adm0_a3_it":"CHN","adm0_a3_nl":"CHN","adm0_a3_se":"CHN","adm0_a3_bd":"CHN","adm0_a3_ua":"CHN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Eastern Asia","region_wb":"East Asia & Pacific","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":5.7,"label_x":106.337289,"label_y":32.498178,"ne_id":1159320471,"wikidataid":"Q148","name_ar":"الصين","name_bn":"গণচীন","name_de":"Volksrepublik China","name_en":"People's Republic of China","name_es":"China","name_fa":"جمهوری خلق چین","name_fr":"République populaire de Chine","name_el":"Λαϊκή Δημοκρατία της Κίνας","name_he":"הרפובליקה העממית של סין","name_hi":"चीनी जनवादी गणराज्य","name_hu":"Kína","name_id":"Republik Rakyat Tiongkok","name_it":"Cina","name_ja":"中華人民共和国","name_ko":"중화인민공화국","name_nl":"Volksrepubliek China","name_pl":"Chińska Republika Ludowa","name_pt":"China","name_ru":"Китайская Народная Республика","name_sv":"Kina","name_tr":"Çin Halk Cumhuriyeti","name_uk":"Китайська Народна Республіка","name_ur":"عوامی جمہوریہ چین","name_vi":"Trung Quốc","name_zh":"中华人民共和国","name_zht":"中華人民共和國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":"Unrecognized","fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"CHN.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[109.47520958866365,18.197700913968575],[108.65520796105616,18.507681993071387],[108.62621748254044,19.367887885001906],[109.11905561730804,19.821038519769345],[110.21159874882281,20.101253973872033],[110.78655073450221,20.077534491450052],[111.01005130416458,19.69592987719072],[110.57064660038677,19.25587921800927],[110.33918786015147,18.678395087147592],[109.47520958866365,18.197700913968575]]],[[[80.2599902688853,42.34999929459906],[80.1801501809943,42.92006785742694],[80.86620649610126,43.18036204688101],[79.96610639844141,44.91751699480463],[81.9470707539181,45.31702749285312],[82.45892581576906,45.539649563166506],[83.18048383986047,47.33003123635086],[85.16429039911324,47.0009557155161],[85.72048383987067,47.452969468773105],[85.7682328633083,48.45575063739699],[86.59877648310336,48.549181626980626],[87.35997033076265,49.21498078062912],[87.75126427607671,49.297197984405486],[88.01383222855173,48.599462795600616],[88.85429772334676,48.069081732772965],[90.28082563676392,47.69354909930793],[90.97080936072501,46.88814606382293],[90.58576826371828,45.71971609148753],[90.9455395853343,45.28607330991028],[92.13389082231822,45.11507599545646],[93.4807336771413,44.975472113619965],[94.68892866412533,44.35233185482842],[95.30687544147153,44.24133087826547],[95.76245486855669,43.319449164394605],[96.34939578652781,42.725635280928685],[97.45175744017801,42.74888967546002],[99.51581749878004,42.524691473961724],[100.84586551310827,42.66380442969145],[101.83304039917994,42.51487295182628],[103.31227827353482,41.9074681666676],[104.52228193564899,41.908346666016556],[104.96499393109347,41.59740957291635],[106.12931562706169,42.13432770442891],[107.74477257693795,42.48151581478187],[109.24359581913146,42.5194463160841],[110.41210330611528,42.87123362891103],[111.12968224492023,43.40683401140015],[111.82958784388137,43.74311839453952],[111.66773725794323,44.07317576758771],[111.34837690637946,44.45744171811009],[111.8733061056003,45.10207937273506],[112.43606245325881,45.01164561622429],[113.46390669154417,44.80889313412712],[114.46033165899607,45.339816799493825],[115.98509647020009,45.727235012386004],[116.71786828009886,46.38820241961521],[117.42170128791419,46.67273285581426],[118.87432579963873,46.80541209572365],[119.66326989143876,46.69267995867892],[119.7728239278975,47.04805878355013],[118.86657433479495,47.74706004494617],[118.06414269416672,48.06673045510369],[117.29550744025741,47.69770905210743],[116.30895267137323,47.85341014260284],[115.74283735561579,47.72654450132629],[115.48528201707306,48.13538259540344],[116.19180219936757,49.134598090199106],[116.67880089728612,49.888531399121405],[117.8792444194264,49.510983384796965],[119.2884607280258,50.142882798862004],[119.27939,50.58292],[120.18208000000016,51.64355000000012],[120.7382,51.96411],[120.72578901579197,52.516226304730935],[120.17708865771681,52.75388621684124],[121.00308475147017,53.25140106873119],[122.24574791879283,53.431725979213695],[123.57147,53.4588],[125.06821129771038,53.16104482686886],[125.94634891164617,52.79279857035698],[126.56439904185697,51.7842554795327],[126.93915652883766,51.35389415140592],[127.28745568248485,50.73979726826548],[127.65740000000028,49.760270000000105],[129.39781782442043,49.44060008401544],[130.58229332898242,48.72968740497614],[130.9872600000001,47.79013],[132.50669,47.78896],[133.37359581922794,48.18344167743487],[135.02631147678665,48.478229885443874],[134.50081,47.57845],[134.1123500000001,47.21248],[133.76964399631288,46.116926988299014],[133.09712000000013,45.14409],[131.8834542176595,45.32116160743652],[131.02519000000018,44.96796],[131.28855512911548,44.11151968034828],[131.1446879416149,42.92998973242689],[130.63386640840974,42.90301463477053],[130.63999970690955,42.39502427522179],[129.99426720593323,42.985386867843786],[129.59666873587952,42.42498179785456],[128.0522152039723,41.99428457291795],[128.20843305879066,41.46677155208249],[127.34378299368302,41.50315176041597],[126.86908328664987,41.81656932226619],[126.18204511932943,41.10733612727637],[125.07994184784064,40.56982371679245],[124.26562462778531,39.928493353834156],[122.86757042856095,39.63778758397622],[122.1313879741309,39.170451768544666],[121.05455447803286,38.897471014962846],[121.58599490772248,39.36085358332407],[121.37675703337268,39.75026133885949],[122.16859500538106,40.422442531896024],[121.64035851449353,40.94638987890333],[120.76862877816194,40.59338816991754],[119.63960208544907,39.898055935214245],[119.02346398323306,39.252333075511146],[118.04274865119791,39.2042739934797],[117.53270226447711,38.73763580988408],[118.05969852098964,38.06147553156106],[118.87814985562832,37.89732534438593],[118.91163618375344,37.44846385349871],[119.70280236214205,37.15638865818505],[120.8234574728236,37.87042776137801],[121.711258579598,37.48112335870718],[122.35793745329849,37.45448415786072],[122.5199947449658,36.93061432550185],[121.10416385303307,36.651329047180425],[120.63700890511453,36.111439520811075],[119.66456180224606,35.60979055433772],[119.1512081238586,34.90985911716044],[120.22752485563373,34.36033193616865],[120.62036909391655,33.37672272392514],[121.22901411345023,32.46031871187719],[121.90814578663003,31.692174384074647],[121.89191938689038,30.949351508095106],[121.26425744027328,30.6762674016487],[121.50351932178467,30.14291494396429],[122.0921138855891,29.83252045340315],[121.93842817595306,29.01802236583478],[121.68443851123851,28.225512600206617],[121.12566124886649,28.135673122667185],[120.39547326058232,27.05320689544932],[119.5854968608395,25.740780544532612],[118.65687137255452,24.54739085540024],[117.28160647997088,23.624501451099658],[115.89073530483512,22.78287323657807],[114.76382734584624,22.668074042241667],[114.15254682826564,22.22376007739615],[113.80677981980074,22.5483397486214],[113.24107791550159,22.051367499270455],[111.84359215703248,21.550493679281473],[110.78546552942407,21.397143866455338],[110.44403934127168,20.34103261970633],[109.88986128137361,20.282457383703488],[109.62765506392466,21.008227037026703],[109.86448815311832,21.395050970947523],[108.5228129415244,21.715212307211814],[108.05018029178294,21.55237986906012],[107.04342003787264,21.811898912029914],[106.56727339073532,22.21820486092477],[106.72540327354847,22.79426788989842],[105.81124718630522,22.976892401617903],[105.32920942588663,23.352063300056912],[104.47685835166448,22.819150092046968],[103.50451460166056,22.70375661873921],[102.7069922221001,22.708795070887675],[102.17043582561358,22.464753119389304],[101.65201785686152,22.318198757409547],[101.80311974488293,21.17436676684507],[101.27002566935997,21.201651923095184],[101.18000532430754,21.436572984294028],[101.15003299357825,21.849984442629022],[100.41653771362738,21.558839423096614],[99.98348921102149,21.7429367131364],[99.24089887898725,22.11831431730458],[99.5319922220874,22.94903880461258],[98.89874922078278,23.14272207284253],[98.66026248575577,24.063286037689966],[97.60471967976198,23.897404690033042],[97.72460900267914,25.083637193293],[98.67183800658916,25.918702500913525],[98.71209394734451,26.743535874940267],[98.68269005737046,27.50881216075062],[98.2462309102333,27.74722138112918],[97.91198774616944,28.335945136014345],[97.32711388549004,28.26158274994634],[96.24883344928779,28.411030992134442],[96.58659061074749,28.83097951915434],[96.11767866413103,29.452802028922466],[95.40480228066464,29.03171662039213],[94.56599043170294,29.277438055939985],[93.41334760943269,28.640629380807226],[92.50311893104364,27.89687632904645],[91.69665652869668,27.771741848251665],[91.25885379431992,28.040614325466294],[90.7305139505678,28.064953925075756],[90.01582889197118,28.296438503527217],[89.47581017452111,28.042758897406397],[88.81424848832056,27.299315904239364],[88.73032596227856,28.086864732367516],[88.12044070836987,27.876541652939594],[86.9545170430006,27.974261786403517],[85.82331994013151,28.203575954698707],[85.01163821812304,28.642773952747344],[84.23457970575015,28.839893703724698],[83.89899295444673,29.320226141877658],[83.33711510613719,29.463731594352197],[82.32751264845088,30.115268052688137],[81.52580447787474,30.42271698660863],[81.11125613802932,30.183480943313402],[79.7213668151071,30.88271474865473],[78.73889448437401,31.515906073527063],[78.45844648632601,32.61816437431273],[79.17612877799553,32.48377981213771],[79.20889163606859,32.994394639613716],[78.81108646028574,33.50619802503242],[78.91226891471322,34.32193634697579],[77.83745079947457,35.494009507787766],[76.19284834178569,35.89840342868783],[75.89689741405013,36.666806138651836],[75.15802778514092,37.13303091078912],[74.98000247589542,37.419990139305895],[74.8299857929521,37.9900070257014],[74.86481570831683,38.3788463404816],[74.25751427602273,38.60650686294345],[73.92885216664644,38.50581533462274],[73.6753792662548,39.4312368841056],[73.96001305531843,39.660008449861735],[73.8222436868283,39.893973497063186],[74.77686242055606,40.36642527929163],[75.4678279967307,40.56207225194867],[76.52636803579745,40.42794607193512],[76.90448449087708,41.06648590754965],[78.18719689322597,41.18531586360481],[78.54366092317531,41.58224254003869],[80.11943037305139,42.12394074153825],[80.2599902688853,42.34999929459906]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Israel","sov_a3":"IS1","adm0_dif":1,"level":2,"type":"Disputed","tlc":"1","admin":"Israel","adm0_a3":"ISR","geou_dif":0,"geounit":"Israel","gu_a3":"ISR","su_dif":0,"subunit":"Israel","su_a3":"ISR","brk_diff":1,"name":"Israel","name_long":"Israel","brk_a3":"ISR","brk_name":"Israel","brk_group":null,"abbrev":"Isr.","postal":"IS","formal_en":"State of Israel","formal_fr":null,"name_ciawf":"Israel","note_adm0":null,"note_brk":null,"name_sort":"Israel","name_alt":null,"mapcolor7":3,"mapcolor8":2,"mapcolor9":5,"mapcolor13":9,"pop_est":9053300,"pop_rank":13,"pop_year":2019,"gdp_md":394652,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"-99","iso_a2":"IL","iso_a2_eh":"IL","iso_a3":"ISR","iso_a3_eh":"ISR","iso_n3":"376","iso_n3_eh":"376","un_a3":"376","wb_a2":"IL","wb_a3":"ISR","woe_id":23424852,"woe_id_eh":23424852,"woe_note":"Exact WOE match as country","adm0_iso":"ISR","adm0_diff":null,"adm0_tlc":"ISR","adm0_a3_us":"ISR","adm0_a3_fr":"ISR","adm0_a3_ru":"ISR","adm0_a3_es":"ISR","adm0_a3_cn":"ISR","adm0_a3_tw":"ISR","adm0_a3_in":"ISR","adm0_a3_np":"ISR","adm0_a3_pk":"PSX","adm0_a3_de":"ISR","adm0_a3_gb":"ISR","adm0_a3_br":"ISR","adm0_a3_il":"ISR","adm0_a3_ps":"ISR","adm0_a3_sa":"PSX","adm0_a3_eg":"ISR","adm0_a3_ma":"ISR","adm0_a3_pt":"ISR","adm0_a3_ar":"ISR","adm0_a3_jp":"ISR","adm0_a3_ko":"ISR","adm0_a3_vn":"ISR","adm0_a3_tr":"ISR","adm0_a3_id":"ISR","adm0_a3_pl":"ISR","adm0_a3_gr":"ISR","adm0_a3_it":"ISR","adm0_a3_nl":"ISR","adm0_a3_se":"ISR","adm0_a3_bd":"PSX","adm0_a3_ua":"ISR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Middle East & North Africa","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":34.847915,"label_y":30.911148,"ne_id":1159320895,"wikidataid":"Q801","name_ar":"إسرائيل","name_bn":"ইসরায়েল","name_de":"Israel","name_en":"Israel","name_es":"Israel","name_fa":"اسرائیل","name_fr":"Israël","name_el":"Ισραήλ","name_he":"ישראל","name_hi":"इज़राइल","name_hu":"Izrael","name_id":"Israel","name_it":"Israele","name_ja":"イスラエル","name_ko":"이스라엘","name_nl":"Israël","name_pl":"Izrael","name_pt":"Israel","name_ru":"Израиль","name_sv":"Israel","name_tr":"İsrail","name_uk":"Ізраїль","name_ur":"اسرائیل","name_vi":"Israel","name_zh":"以色列","name_zht":"以色列","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":"Unrecognized","fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":"Unrecognized","fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":"Unrecognized","fclass_ua":null,"filename":"ISR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[35.71991824722275,32.709192409794866],[35.54566531753454,32.393992011030576],[35.183930291491436,32.53251068778894],[34.97464074070933,31.866582343059722],[35.22589155451243,31.754341132121766],[34.970506626125996,31.61677846936081],[34.92740848159457,31.353435370401414],[35.397560662586045,31.489086005167582],[35.420918409981965,31.100065822874356],[34.92260257339143,29.501326198844524],[34.823243288783814,29.76108076171822],[34.26544,31.21936],[34.26543474464621,31.21935730952032],[34.26543338393569,31.219360866820153],[34.55637169773891,31.548823960896996],[34.48810713068136,31.60553884533732],[34.75258711115117,32.07292633720117],[34.95541710789678,32.82737641044638],[35.098457472480675,33.080539252244265],[35.126052687324545,33.09090037691878],[35.460709262846706,33.08904002535628],[35.55279666519081,33.26427480725802],[35.82110070165024,33.2774264592763],[35.836396925608625,32.86812327730851],[35.70079796727475,32.71601369885738],[35.71991824722275,32.709192409794866]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Israel","sov_a3":"IS1","adm0_dif":1,"level":2,"type":"Indeterminate","tlc":"1","admin":"Palestine","adm0_a3":"PSX","geou_dif":0,"geounit":"Palestine","gu_a3":"PSX","su_dif":0,"subunit":"Palestine","su_a3":"PSX","brk_diff":0,"name":"Palestine","name_long":"Palestine","brk_a3":"PSX","brk_name":"Palestine","brk_group":null,"abbrev":"Pal.","postal":"PAL","formal_en":"West Bank and Gaza","formal_fr":null,"name_ciawf":null,"note_adm0":null,"note_brk":"Partial self-admin.","name_sort":"Palestine (West Bank and Gaza)","name_alt":null,"mapcolor7":3,"mapcolor8":2,"mapcolor9":5,"mapcolor13":8,"pop_est":4685306,"pop_rank":12,"pop_year":2019,"gdp_md":16276,"gdp_year":2018,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"-99","iso_a2":"PS","iso_a2_eh":"PS","iso_a3":"PSE","iso_a3_eh":"PSE","iso_n3":"275","iso_n3_eh":"275","un_a3":"275","wb_a2":"GZ","wb_a3":"WBG","woe_id":28289408,"woe_id_eh":28289408,"woe_note":"Exact WOE match as country","adm0_iso":"PSX","adm0_diff":null,"adm0_tlc":"PSX","adm0_a3_us":"PSX","adm0_a3_fr":"PSX","adm0_a3_ru":"PSX","adm0_a3_es":"PSX","adm0_a3_cn":"PSX","adm0_a3_tw":"PSX","adm0_a3_in":"PSX","adm0_a3_np":"PSX","adm0_a3_pk":"PSX","adm0_a3_de":"PSX","adm0_a3_gb":"PSX","adm0_a3_br":"PSX","adm0_a3_il":"PSX","adm0_a3_ps":"PSX","adm0_a3_sa":"PSX","adm0_a3_eg":"PSX","adm0_a3_ma":"PSX","adm0_a3_pt":"PSX","adm0_a3_ar":"PSX","adm0_a3_jp":"PSX","adm0_a3_ko":"PSX","adm0_a3_vn":"PSX","adm0_a3_tr":"PSX","adm0_a3_id":"PSX","adm0_a3_pl":"PSX","adm0_a3_gr":"PSX","adm0_a3_it":"PSX","adm0_a3_nl":"PSX","adm0_a3_se":"PSX","adm0_a3_bd":"PSX","adm0_a3_ua":"PSX","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Middle East & North Africa","name_len":9,"long_len":9,"abbrev_len":4,"tiny":-99,"homepart":-99,"min_zoom":7,"min_label":4.5,"max_label":9.5,"label_x":35.291341,"label_y":32.047431,"ne_id":1159320899,"wikidataid":"Q23792","name_ar":"فلسطين","name_bn":"ফিলিস্তিন অঞ্চল","name_de":"Palästina","name_en":"Palestine","name_es":"Palestina","name_fa":"فلسطین","name_fr":"Palestine","name_el":"Παλαιστίνη","name_he":"ארץ ישראל","name_hi":"फ़िलिस्तीनी राज्यक्षेत्र","name_hu":"Palesztina","name_id":"Palestina","name_it":"Palestina","name_ja":"パレスチナ","name_ko":"팔레스타인","name_nl":"Palestina","name_pl":"Palestyna","name_pt":"Palestina","name_ru":"Палестина","name_sv":"Palestina","name_tr":"Filistin","name_uk":"Палестина","name_ur":"فلسطین","name_vi":"Palestine","name_zh":"巴勒斯坦","name_zht":"巴勒斯坦地區","fclass_iso":"Admin-0 dependency","tlc_diff":null,"fclass_tlc":"Admin-0 dependency","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":"Admin-0 country","fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":"Admin-0 country","fclass_sa":"Admin-0 country","fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":"Admin-0 country","fclass_ua":null,"filename":"PSE.geojson"},"geometry":{"type":"Polygon","coordinates":[[[35.397560662586045,31.489086005167582],[34.92740848159457,31.353435370401414],[34.970506626125996,31.61677846936081],[35.22589155451243,31.754341132121766],[34.97464074070933,31.866582343059722],[35.183930291491436,32.53251068778894],[35.54566531753454,32.393992011030576],[35.5452519060762,31.78250478772084],[35.397560662586045,31.489086005167582]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Lebanon","sov_a3":"LBN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Lebanon","adm0_a3":"LBN","geou_dif":0,"geounit":"Lebanon","gu_a3":"LBN","su_dif":0,"subunit":"Lebanon","su_a3":"LBN","brk_diff":0,"name":"Lebanon","name_long":"Lebanon","brk_a3":"LBN","brk_name":"Lebanon","brk_group":null,"abbrev":"Leb.","postal":"LB","formal_en":"Lebanese Republic","formal_fr":null,"name_ciawf":"Lebanon","note_adm0":null,"note_brk":null,"name_sort":"Lebanon","name_alt":null,"mapcolor7":4,"mapcolor8":4,"mapcolor9":4,"mapcolor13":12,"pop_est":6855713,"pop_rank":13,"pop_year":2019,"gdp_md":51991,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"LE","iso_a2":"LB","iso_a2_eh":"LB","iso_a3":"LBN","iso_a3_eh":"LBN","iso_n3":"422","iso_n3_eh":"422","un_a3":"422","wb_a2":"LB","wb_a3":"LBN","woe_id":23424873,"woe_id_eh":23424873,"woe_note":"Exact WOE match as country","adm0_iso":"LBN","adm0_diff":null,"adm0_tlc":"LBN","adm0_a3_us":"LBN","adm0_a3_fr":"LBN","adm0_a3_ru":"LBN","adm0_a3_es":"LBN","adm0_a3_cn":"LBN","adm0_a3_tw":"LBN","adm0_a3_in":"LBN","adm0_a3_np":"LBN","adm0_a3_pk":"LBN","adm0_a3_de":"LBN","adm0_a3_gb":"LBN","adm0_a3_br":"LBN","adm0_a3_il":"LBN","adm0_a3_ps":"LBN","adm0_a3_sa":"LBN","adm0_a3_eg":"LBN","adm0_a3_ma":"LBN","adm0_a3_pt":"LBN","adm0_a3_ar":"LBN","adm0_a3_jp":"LBN","adm0_a3_ko":"LBN","adm0_a3_vn":"LBN","adm0_a3_tr":"LBN","adm0_a3_id":"LBN","adm0_a3_pl":"LBN","adm0_a3_gr":"LBN","adm0_a3_it":"LBN","adm0_a3_nl":"LBN","adm0_a3_se":"LBN","adm0_a3_bd":"LBN","adm0_a3_ua":"LBN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Middle East & North Africa","name_len":7,"long_len":7,"abbrev_len":4,"tiny":4,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":35.992892,"label_y":34.133368,"ne_id":1159321013,"wikidataid":"Q822","name_ar":"لبنان","name_bn":"লেবানন","name_de":"Libanon","name_en":"Lebanon","name_es":"Líbano","name_fa":"لبنان","name_fr":"Liban","name_el":"Λίβανος","name_he":"לבנון","name_hi":"लेबनान","name_hu":"Libanon","name_id":"Lebanon","name_it":"Libano","name_ja":"レバノン","name_ko":"레바논","name_nl":"Libanon","name_pl":"Liban","name_pt":"Líbano","name_ru":"Ливан","name_sv":"Libanon","name_tr":"Lübnan","name_uk":"Ліван","name_ur":"لبنان","name_vi":"Liban","name_zh":"黎巴嫩","name_zht":"黎巴嫩","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"LBN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[35.82110070165024,33.2774264592763],[35.55279666519081,33.26427480725802],[35.460709262846706,33.08904002535628],[35.126052687324545,33.09090037691878],[35.48220665868013,33.90545014091944],[35.9795923194894,34.61005829521913],[35.99840254084364,34.644914048800004],[36.4481942075121,34.59393524834407],[36.61175011571589,34.20178864189718],[36.066460402172055,33.82491242119255],[35.82110070165024,33.2774264592763]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Syria","sov_a3":"SYR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Syria","adm0_a3":"SYR","geou_dif":0,"geounit":"Syria","gu_a3":"SYR","su_dif":0,"subunit":"Syria","su_a3":"SYR","brk_diff":0,"name":"Syria","name_long":"Syria","brk_a3":"SYR","brk_name":"Syria","brk_group":null,"abbrev":"Syria","postal":"SYR","formal_en":"Syrian Arab Republic","formal_fr":null,"name_ciawf":"Syria","note_adm0":null,"note_brk":null,"name_sort":"Syrian Arab Republic","name_alt":null,"mapcolor7":2,"mapcolor8":6,"mapcolor9":2,"mapcolor13":6,"pop_est":17070135,"pop_rank":14,"pop_year":2019,"gdp_md":98830,"gdp_year":2015,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"SY","iso_a2":"SY","iso_a2_eh":"SY","iso_a3":"SYR","iso_a3_eh":"SYR","iso_n3":"760","iso_n3_eh":"760","un_a3":"760","wb_a2":"SY","wb_a3":"SYR","woe_id":23424956,"woe_id_eh":23424956,"woe_note":"Exact WOE match as country","adm0_iso":"SYR","adm0_diff":null,"adm0_tlc":"SYR","adm0_a3_us":"SYR","adm0_a3_fr":"SYR","adm0_a3_ru":"SYR","adm0_a3_es":"SYR","adm0_a3_cn":"SYR","adm0_a3_tw":"SYR","adm0_a3_in":"SYR","adm0_a3_np":"SYR","adm0_a3_pk":"SYR","adm0_a3_de":"SYR","adm0_a3_gb":"SYR","adm0_a3_br":"SYR","adm0_a3_il":"SYR","adm0_a3_ps":"SYR","adm0_a3_sa":"SYR","adm0_a3_eg":"SYR","adm0_a3_ma":"SYR","adm0_a3_pt":"SYR","adm0_a3_ar":"SYR","adm0_a3_jp":"SYR","adm0_a3_ko":"SYR","adm0_a3_vn":"SYR","adm0_a3_tr":"SYR","adm0_a3_id":"SYR","adm0_a3_pl":"SYR","adm0_a3_gr":"SYR","adm0_a3_it":"SYR","adm0_a3_nl":"SYR","adm0_a3_se":"SYR","adm0_a3_bd":"SYR","adm0_a3_ua":"SYR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Middle East & North Africa","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":38.277783,"label_y":35.006636,"ne_id":1159321295,"wikidataid":"Q858","name_ar":"سوريا","name_bn":"সিরিয়া","name_de":"Syrien","name_en":"Syria","name_es":"Siria","name_fa":"سوریه","name_fr":"Syrie","name_el":"Συρία","name_he":"סוריה","name_hi":"सीरिया","name_hu":"Szíria","name_id":"Suriah","name_it":"Siria","name_ja":"シリア","name_ko":"시리아","name_nl":"Syrië","name_pl":"Syria","name_pt":"Síria","name_ru":"Сирия","name_sv":"Syrien","name_tr":"Suriye","name_uk":"Сирія","name_ur":"سوریہ","name_vi":"Syria","name_zh":"叙利亚","name_zht":"敘利亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SYR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[35.71991824722275,32.709192409794866],[35.70079796727475,32.71601369885738],[35.836396925608625,32.86812327730851],[35.82110070165024,33.2774264592763],[36.066460402172055,33.82491242119255],[36.61175011571589,34.20178864189718],[36.4481942075121,34.59393524834407],[35.99840254084364,34.644914048800004],[35.905023227692226,35.410009467097325],[36.149762811026534,35.82153473565367],[36.417550083163036,36.04061697035506],[36.6853890317318,36.259699205056464],[36.7394942563414,36.81752045343109],[37.06676110204583,36.62303620050062],[38.1677274920242,36.90121043552777],[38.6998913917659,36.71292735447234],[39.52258019385255,36.71605377862599],[40.67325931169569,37.09127635349729],[41.21208947120305,37.074352321921694],[42.34959109881177,37.2298725449041],[41.83706424334096,36.605853786763575],[41.289707472505455,36.35881460219227],[41.383965285005814,35.628316555314356],[41.006158888519934,34.41937226006212],[38.792340529136084,33.378686428352225],[36.834062127435544,32.312937526980775],[35.71991824722275,32.709192409794866]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"South Korea","sov_a3":"KOR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"South Korea","adm0_a3":"KOR","geou_dif":0,"geounit":"South Korea","gu_a3":"KOR","su_dif":0,"subunit":"South Korea","su_a3":"KOR","brk_diff":0,"name":"South Korea","name_long":"Republic of Korea","brk_a3":"KOR","brk_name":"Republic of Korea","brk_group":null,"abbrev":"S.K.","postal":"KR","formal_en":"Republic of Korea","formal_fr":null,"name_ciawf":"Korea, South","note_adm0":null,"note_brk":null,"name_sort":"Korea, Rep.","name_alt":null,"mapcolor7":4,"mapcolor8":1,"mapcolor9":1,"mapcolor13":5,"pop_est":51709098,"pop_rank":16,"pop_year":2019,"gdp_md":1646739,"gdp_year":2019,"economy":"4. Emerging region: MIKT","income_grp":"1. High income: OECD","fips_10":"KS","iso_a2":"KR","iso_a2_eh":"KR","iso_a3":"KOR","iso_a3_eh":"KOR","iso_n3":"410","iso_n3_eh":"410","un_a3":"410","wb_a2":"KR","wb_a3":"KOR","woe_id":23424868,"woe_id_eh":23424868,"woe_note":"Exact WOE match as country","adm0_iso":"KOR","adm0_diff":null,"adm0_tlc":"KOR","adm0_a3_us":"KOR","adm0_a3_fr":"KOR","adm0_a3_ru":"KOR","adm0_a3_es":"KOR","adm0_a3_cn":"KOR","adm0_a3_tw":"KOR","adm0_a3_in":"KOR","adm0_a3_np":"KOR","adm0_a3_pk":"KOR","adm0_a3_de":"KOR","adm0_a3_gb":"KOR","adm0_a3_br":"KOR","adm0_a3_il":"KOR","adm0_a3_ps":"KOR","adm0_a3_sa":"KOR","adm0_a3_eg":"KOR","adm0_a3_ma":"KOR","adm0_a3_pt":"KOR","adm0_a3_ar":"KOR","adm0_a3_jp":"KOR","adm0_a3_ko":"KOR","adm0_a3_vn":"KOR","adm0_a3_tr":"KOR","adm0_a3_id":"KOR","adm0_a3_pl":"KOR","adm0_a3_gr":"KOR","adm0_a3_it":"KOR","adm0_a3_nl":"KOR","adm0_a3_se":"KOR","adm0_a3_bd":"KOR","adm0_a3_ua":"KOR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Eastern Asia","region_wb":"East Asia & Pacific","name_len":11,"long_len":17,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.5,"max_label":7,"label_x":128.129504,"label_y":36.384924,"ne_id":1159320985,"wikidataid":"Q884","name_ar":"كوريا الجنوبية","name_bn":"দক্ষিণ কোরিয়া","name_de":"Südkorea","name_en":"South Korea","name_es":"Corea del Sur","name_fa":"کره جنوبی","name_fr":"Corée du Sud","name_el":"Νότια Κορέα","name_he":"קוריאה הדרומית","name_hi":"दक्षिण कोरिया","name_hu":"Dél-Korea","name_id":"Korea Selatan","name_it":"Corea del Sud","name_ja":"大韓民国","name_ko":"대한민국","name_nl":"Zuid-Korea","name_pl":"Korea Południowa","name_pt":"Coreia do Sul","name_ru":"Республика Корея","name_sv":"Sydkorea","name_tr":"Güney Kore","name_uk":"Південна Корея","name_ur":"جنوبی کوریا","name_vi":"Hàn Quốc","name_zh":"大韩民国","name_zht":"大韓民國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"KOR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[126.17475874237624,37.74968577732804],[126.23733890188176,37.84037791600028],[126.68371992401893,37.80477285415118],[127.07330854706737,38.2561148137884],[127.78003543509101,38.30453563084589],[128.20574588431145,38.37039724380189],[128.34971642467661,38.61224294692785],[129.21291954968007,37.43239248305595],[129.46044966035817,36.78418915460283],[129.4683044780665,35.63214061130395],[129.0913765809296,35.082484239231434],[128.1858504578791,34.89037710218639],[127.3865194031884,34.47567373304412],[126.48574751190876,34.39004588473648],[126.37391971242914,34.934560451795946],[126.55923139862779,35.6845405136479],[126.11739790253229,36.72548472751926],[126.86014326386339,36.893924058574626],[126.17475874237624,37.74968577732804]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"North Korea","sov_a3":"PRK","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"North Korea","adm0_a3":"PRK","geou_dif":0,"geounit":"North Korea","gu_a3":"PRK","su_dif":0,"subunit":"North Korea","su_a3":"PRK","brk_diff":0,"name":"North Korea","name_long":"Dem. Rep. Korea","brk_a3":"PRK","brk_name":"Dem. Rep. Korea","brk_group":null,"abbrev":"N.K.","postal":"KP","formal_en":"Democratic People's Republic of Korea","formal_fr":null,"name_ciawf":"Korea, North","note_adm0":null,"note_brk":null,"name_sort":"Korea, Dem. Rep.","name_alt":null,"mapcolor7":3,"mapcolor8":5,"mapcolor9":3,"mapcolor13":9,"pop_est":25666161,"pop_rank":15,"pop_year":2019,"gdp_md":40000,"gdp_year":2016,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"KN","iso_a2":"KP","iso_a2_eh":"KP","iso_a3":"PRK","iso_a3_eh":"PRK","iso_n3":"408","iso_n3_eh":"408","un_a3":"408","wb_a2":"KP","wb_a3":"PRK","woe_id":23424865,"woe_id_eh":23424865,"woe_note":"Exact WOE match as country","adm0_iso":"PRK","adm0_diff":null,"adm0_tlc":"PRK","adm0_a3_us":"PRK","adm0_a3_fr":"PRK","adm0_a3_ru":"PRK","adm0_a3_es":"PRK","adm0_a3_cn":"PRK","adm0_a3_tw":"PRK","adm0_a3_in":"PRK","adm0_a3_np":"PRK","adm0_a3_pk":"PRK","adm0_a3_de":"PRK","adm0_a3_gb":"PRK","adm0_a3_br":"PRK","adm0_a3_il":"PRK","adm0_a3_ps":"PRK","adm0_a3_sa":"PRK","adm0_a3_eg":"PRK","adm0_a3_ma":"PRK","adm0_a3_pt":"PRK","adm0_a3_ar":"PRK","adm0_a3_jp":"PRK","adm0_a3_ko":"PRK","adm0_a3_vn":"PRK","adm0_a3_tr":"PRK","adm0_a3_id":"PRK","adm0_a3_pl":"PRK","adm0_a3_gr":"PRK","adm0_a3_it":"PRK","adm0_a3_nl":"PRK","adm0_a3_se":"PRK","adm0_a3_bd":"PRK","adm0_a3_ua":"PRK","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Eastern Asia","region_wb":"East Asia & Pacific","name_len":11,"long_len":15,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":126.444516,"label_y":39.885252,"ne_id":1159321181,"wikidataid":"Q423","name_ar":"كوريا الشمالية","name_bn":"উত্তর কোরিয়া","name_de":"Nordkorea","name_en":"North Korea","name_es":"Corea del Norte","name_fa":"کره شمالی","name_fr":"Corée du Nord","name_el":"Βόρεια Κορέα","name_he":"קוריאה הצפונית","name_hi":"उत्तर कोरिया","name_hu":"Észak-Korea","name_id":"Korea Utara","name_it":"Corea del Nord","name_ja":"朝鮮民主主義人民共和国","name_ko":"조선민주주의인민공화국","name_nl":"Noord-Korea","name_pl":"Korea Północna","name_pt":"Coreia do Norte","name_ru":"КНДР","name_sv":"Nordkorea","name_tr":"Kuzey Kore","name_uk":"Корейська Народно-Демократична Республіка","name_ur":"شمالی کوریا","name_vi":"Cộng hòa Dân chủ Nhân dân Triều Tiên","name_zh":"朝鲜民主主义人民共和国","name_zht":"朝鮮民主主義人民共和國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"PRK.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[130.78000366004676,42.220007813203225],[130.78000485358513,42.22001036108258],[130.78000735893113,42.22000722916885],[130.78000366004676,42.220007813203225]]],[[[130.63999970690955,42.39502427522179],[130.6400000000001,42.395],[130.77999231657833,42.22000960427719],[130.40003055228902,42.28000356705971],[129.96594852103726,41.94136790625106],[129.66736209525482,41.60110443782523],[129.70518924369247,40.88282786718433],[129.18811486218,40.66180776627199],[129.01039961152821,40.485436102859815],[128.63336836152672,40.18984691015031],[127.96741417858135,40.02541250259756],[127.53343550019417,39.7568500839767],[127.5021195822253,39.32393077245153],[127.38543419811027,39.213472398427655],[127.78334272675772,39.05089834243742],[128.34971642467661,38.61224294692785],[128.20574588431145,38.37039724380189],[127.78003543509101,38.30453563084589],[127.07330854706737,38.2561148137884],[126.68371992401893,37.80477285415118],[126.23733890188176,37.84037791600028],[126.17475874237624,37.74968577732804],[125.68910363169721,37.94001007745902],[125.5684391622957,37.75208873142962],[125.2753304383362,37.669070542952724],[125.24008711151316,37.85722443292744],[124.98103315643397,37.94882090916478],[124.71216067921938,38.10834605564979],[124.98599409393398,38.54847422947968],[125.2219486837787,38.66585724543067],[125.13285851450752,38.84855927179859],[125.3865897970606,39.387957872061165],[125.32111575734682,39.55138458918421],[124.7374821310424,39.66034434667162],[124.26562462778531,39.928493353834156],[125.07994184784064,40.56982371679245],[126.18204511932943,41.10733612727637],[126.86908328664987,41.81656932226619],[127.34378299368302,41.50315176041597],[128.20843305879066,41.46677155208249],[128.0522152039723,41.99428457291795],[129.59666873587952,42.42498179785456],[129.99426720593323,42.985386867843786],[130.63999970690955,42.39502427522179]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Bhutan","sov_a3":"BTN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Bhutan","adm0_a3":"BTN","geou_dif":0,"geounit":"Bhutan","gu_a3":"BTN","su_dif":0,"subunit":"Bhutan","su_a3":"BTN","brk_diff":0,"name":"Bhutan","name_long":"Bhutan","brk_a3":"BTN","brk_name":"Bhutan","brk_group":null,"abbrev":"Bhutan","postal":"BT","formal_en":"Kingdom of Bhutan","formal_fr":null,"name_ciawf":"Bhutan","note_adm0":null,"note_brk":null,"name_sort":"Bhutan","name_alt":null,"mapcolor7":5,"mapcolor8":6,"mapcolor9":1,"mapcolor13":8,"pop_est":763092,"pop_rank":11,"pop_year":2019,"gdp_md":2530,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"4. Lower middle income","fips_10":"BT","iso_a2":"BT","iso_a2_eh":"BT","iso_a3":"BTN","iso_a3_eh":"BTN","iso_n3":"064","iso_n3_eh":"064","un_a3":"064","wb_a2":"BT","wb_a3":"BTN","woe_id":23424770,"woe_id_eh":23424770,"woe_note":"Exact WOE match as country","adm0_iso":"BTN","adm0_diff":null,"adm0_tlc":"BTN","adm0_a3_us":"BTN","adm0_a3_fr":"BTN","adm0_a3_ru":"BTN","adm0_a3_es":"BTN","adm0_a3_cn":"BTN","adm0_a3_tw":"BTN","adm0_a3_in":"BTN","adm0_a3_np":"BTN","adm0_a3_pk":"BTN","adm0_a3_de":"BTN","adm0_a3_gb":"BTN","adm0_a3_br":"BTN","adm0_a3_il":"BTN","adm0_a3_ps":"BTN","adm0_a3_sa":"BTN","adm0_a3_eg":"BTN","adm0_a3_ma":"BTN","adm0_a3_pt":"BTN","adm0_a3_ar":"BTN","adm0_a3_jp":"BTN","adm0_a3_ko":"BTN","adm0_a3_vn":"BTN","adm0_a3_tr":"BTN","adm0_a3_id":"BTN","adm0_a3_pl":"BTN","adm0_a3_gr":"BTN","adm0_a3_it":"BTN","adm0_a3_nl":"BTN","adm0_a3_se":"BTN","adm0_a3_bd":"BTN","adm0_a3_ua":"BTN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Southern Asia","region_wb":"South Asia","name_len":6,"long_len":6,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":90.040294,"label_y":27.536685,"ne_id":1159320453,"wikidataid":"Q917","name_ar":"بوتان","name_bn":"ভুটান","name_de":"Bhutan","name_en":"Bhutan","name_es":"Bután","name_fa":"بوتان","name_fr":"Bhoutan","name_el":"Μπουτάν","name_he":"בהוטן","name_hi":"भूटान","name_hu":"Bhután","name_id":"Bhutan","name_it":"Bhutan","name_ja":"ブータン","name_ko":"부탄","name_nl":"Bhutan","name_pl":"Bhutan","name_pt":"Butão","name_ru":"Бутан","name_sv":"Bhutan","name_tr":"Bhutan","name_uk":"Бутан","name_ur":"بھوٹان","name_vi":"Bhutan","name_zh":"不丹","name_zht":"不丹","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BTN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[91.69665652869668,27.771741848251665],[92.10371178585974,27.452614040633208],[92.03348351437509,26.83831045176356],[91.21751264848643,26.808648179628022],[90.37327477413407,26.87572418874288],[89.74452762243885,26.719402981059957],[88.83564253128938,27.098966376243762],[88.81424848832056,27.299315904239364],[89.47581017452111,28.042758897406397],[90.01582889197118,28.296438503527217],[90.7305139505678,28.064953925075756],[91.25885379431992,28.040614325466294],[91.69665652869668,27.771741848251665]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Oman","sov_a3":"OMN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Oman","adm0_a3":"OMN","geou_dif":0,"geounit":"Oman","gu_a3":"OMN","su_dif":0,"subunit":"Oman","su_a3":"OMN","brk_diff":0,"name":"Oman","name_long":"Oman","brk_a3":"OMN","brk_name":"Oman","brk_group":null,"abbrev":"Oman","postal":"OM","formal_en":"Sultanate of Oman","formal_fr":null,"name_ciawf":"Oman","note_adm0":null,"note_brk":null,"name_sort":"Oman","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":1,"mapcolor13":6,"pop_est":4974986,"pop_rank":12,"pop_year":2019,"gdp_md":76331,"gdp_year":2019,"economy":"6. Developing region","income_grp":"2. High income: nonOECD","fips_10":"MU","iso_a2":"OM","iso_a2_eh":"OM","iso_a3":"OMN","iso_a3_eh":"OMN","iso_n3":"512","iso_n3_eh":"512","un_a3":"512","wb_a2":"OM","wb_a3":"OMN","woe_id":23424898,"woe_id_eh":23424898,"woe_note":"Exact WOE match as country","adm0_iso":"OMN","adm0_diff":null,"adm0_tlc":"OMN","adm0_a3_us":"OMN","adm0_a3_fr":"OMN","adm0_a3_ru":"OMN","adm0_a3_es":"OMN","adm0_a3_cn":"OMN","adm0_a3_tw":"OMN","adm0_a3_in":"OMN","adm0_a3_np":"OMN","adm0_a3_pk":"OMN","adm0_a3_de":"OMN","adm0_a3_gb":"OMN","adm0_a3_br":"OMN","adm0_a3_il":"OMN","adm0_a3_ps":"OMN","adm0_a3_sa":"OMN","adm0_a3_eg":"OMN","adm0_a3_ma":"OMN","adm0_a3_pt":"OMN","adm0_a3_ar":"OMN","adm0_a3_jp":"OMN","adm0_a3_ko":"OMN","adm0_a3_vn":"OMN","adm0_a3_tr":"OMN","adm0_a3_id":"OMN","adm0_a3_pl":"OMN","adm0_a3_gr":"OMN","adm0_a3_it":"OMN","adm0_a3_nl":"OMN","adm0_a3_se":"OMN","adm0_a3_bd":"OMN","adm0_a3_ua":"OMN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Middle East & North Africa","name_len":4,"long_len":4,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":57.336553,"label_y":22.120427,"ne_id":1159321151,"wikidataid":"Q842","name_ar":"سلطنة عمان","name_bn":"ওমান","name_de":"Oman","name_en":"Oman","name_es":"Omán","name_fa":"عمان","name_fr":"Oman","name_el":"Ομάν","name_he":"עומאן","name_hi":"ओमान","name_hu":"Omán","name_id":"Oman","name_it":"Oman","name_ja":"オマーン","name_ko":"오만","name_nl":"Oman","name_pl":"Oman","name_pt":"Omã","name_ru":"Оман","name_sv":"Oman","name_tr":"Umman","name_uk":"Оман","name_ur":"عمان","name_vi":"Oman","name_zh":"阿曼","name_zht":"阿曼","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"OMN.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[55.208341098863194,22.708329982997046],[55.234489373602884,23.110992743415324],[55.525841098864475,23.524869289640932],[55.52863162620824,23.933604030853502],[55.98121382022046,24.13054291431783],[55.804118686756226,24.269604193615265],[55.88623253766801,24.920830593357447],[56.396847365144005,24.924732163995486],[56.845140415276006,24.241673081961505],[57.4034525897574,23.878594468678813],[58.13694786970825,23.74793060962881],[58.72921146020542,23.56566783293536],[59.18050174341033,22.992395331305474],[59.45009769067703,22.6602709009656],[59.80806033716286,22.533611965418217],[59.806148309168066,22.310524807214193],[59.442191196536385,21.714540513592027],[59.28240766788991,21.43388580981485],[58.86114139184656,21.114034532144302],[58.48798587426694,20.428985907467094],[58.034318475176605,20.481437486243337],[57.826372511634105,20.24300242764863],[57.665762160070955,19.73600495043307],[57.788700392493325,19.067570298737678],[57.694390903560645,18.94470958096376],[57.234263950433814,18.947991034414287],[56.60965091332193,18.574267076079465],[56.51218916201947,18.087113348863966],[56.28352094912793,17.876066799383963],[55.66149173363064,17.884128322821496],[55.26993940615512,17.632309068263197],[55.27490034365513,17.22835439703762],[54.79100223167404,16.95069692633338],[54.23925296409371,17.044980577049913],[53.570508253804576,16.707662665264706],[53.10857262554751,16.651051133688952],[52.78218427919205,17.349742336491232],[52.00000980002224,19.000003363516058],[54.99998172386236,19.999994004796108],[55.666659376859826,22.00000112557234],[55.208341098863194,22.708329982997046]]],[[[56.261041701080956,25.71460643157677],[56.07082075381456,26.05546417897398],[56.36201744977927,26.39593435312898],[56.48567915225374,26.309117946878633],[56.39142133975335,25.895990708921246],[56.261041701080956,25.71460643157677]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Uzbekistan","sov_a3":"UZB","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Uzbekistan","adm0_a3":"UZB","geou_dif":0,"geounit":"Uzbekistan","gu_a3":"UZB","su_dif":0,"subunit":"Uzbekistan","su_a3":"UZB","brk_diff":0,"name":"Uzbekistan","name_long":"Uzbekistan","brk_a3":"UZB","brk_name":"Uzbekistan","brk_group":null,"abbrev":"Uzb.","postal":"UZ","formal_en":"Republic of Uzbekistan","formal_fr":null,"name_ciawf":"Uzbekistan","note_adm0":null,"note_brk":null,"name_sort":"Uzbekistan","name_alt":null,"mapcolor7":2,"mapcolor8":3,"mapcolor9":5,"mapcolor13":4,"pop_est":33580650,"pop_rank":15,"pop_year":2019,"gdp_md":57921,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"UZ","iso_a2":"UZ","iso_a2_eh":"UZ","iso_a3":"UZB","iso_a3_eh":"UZB","iso_n3":"860","iso_n3_eh":"860","un_a3":"860","wb_a2":"UZ","wb_a3":"UZB","woe_id":23424980,"woe_id_eh":23424980,"woe_note":"Exact WOE match as country","adm0_iso":"UZB","adm0_diff":null,"adm0_tlc":"UZB","adm0_a3_us":"UZB","adm0_a3_fr":"UZB","adm0_a3_ru":"UZB","adm0_a3_es":"UZB","adm0_a3_cn":"UZB","adm0_a3_tw":"UZB","adm0_a3_in":"UZB","adm0_a3_np":"UZB","adm0_a3_pk":"UZB","adm0_a3_de":"UZB","adm0_a3_gb":"UZB","adm0_a3_br":"UZB","adm0_a3_il":"UZB","adm0_a3_ps":"UZB","adm0_a3_sa":"UZB","adm0_a3_eg":"UZB","adm0_a3_ma":"UZB","adm0_a3_pt":"UZB","adm0_a3_ar":"UZB","adm0_a3_jp":"UZB","adm0_a3_ko":"UZB","adm0_a3_vn":"UZB","adm0_a3_tr":"UZB","adm0_a3_id":"UZB","adm0_a3_pl":"UZB","adm0_a3_gr":"UZB","adm0_a3_it":"UZB","adm0_a3_nl":"UZB","adm0_a3_se":"UZB","adm0_a3_bd":"UZB","adm0_a3_ua":"UZB","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Central Asia","region_wb":"Europe & Central Asia","name_len":10,"long_len":10,"abbrev_len":4,"tiny":5,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":64.005429,"label_y":41.693603,"ne_id":1159321405,"wikidataid":"Q265","name_ar":"أوزبكستان","name_bn":"উজবেকিস্তান","name_de":"Usbekistan","name_en":"Uzbekistan","name_es":"Uzbekistán","name_fa":"ازبکستان","name_fr":"Ouzbékistan","name_el":"Ουζμπεκιστάν","name_he":"אוזבקיסטן","name_hi":"उज़्बेकिस्तान","name_hu":"Üzbegisztán","name_id":"Uzbekistan","name_it":"Uzbekistan","name_ja":"ウズベキスタン","name_ko":"우즈베키스탄","name_nl":"Oezbekistan","name_pl":"Uzbekistan","name_pt":"Uzbequistão","name_ru":"Узбекистан","name_sv":"Uzbekistan","name_tr":"Özbekistan","name_uk":"Узбекистан","name_ur":"ازبکستان","name_vi":"Uzbekistan","name_zh":"乌兹别克斯坦","name_zht":"烏茲別克","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"UZB.geojson"},"geometry":{"type":"Polygon","coordinates":[[[55.96819135928291,41.30864166926936],[55.928917270741096,44.99585846615911],[58.50312706892845,45.586804307632974],[58.68998904809581,45.50001373959873],[60.23997195825834,44.78403677019473],[61.05831994003245,44.40581696225051],[62.01330040878625,43.50447663021565],[63.18578698105657,43.650074978198006],[64.90082441595928,43.72808055274258],[66.09801232286509,42.997660020513095],[66.02339155463562,41.99464630794404],[66.51064863471572,41.987644151368556],[66.71404707221652,41.1684435084615],[67.98585574735182,41.13599070898222],[68.25989586779562,40.6623245305949],[68.63248294462002,40.66868073176681],[69.07002729683524,41.38424428971234],[70.3889648782208,42.08130768489745],[70.96231489449914,42.266154283205495],[71.25924767444823,42.16771067968946],[70.42002241402821,41.51999827734314],[71.1578585142916,41.14358714452912],[71.87011478057047,41.392900092121266],[73.05541710804917,40.866033026689465],[71.77487511585656,40.14584442805378],[71.01419803252017,40.24436554621823],[70.60140669137269,40.21852733007229],[70.45815962105962,40.49649485937029],[70.66662234892505,40.960213324541414],[69.32949466337283,40.72782440852485],[69.0116329283455,40.08615814875667],[68.53641645698943,39.53345286717894],[67.70142866401736,39.58047842056453],[67.44221967964131,39.140143541005486],[68.17602501818592,38.901553453113905],[68.39203250516596,38.15702525486874],[67.82999962755952,37.144994004864685],[67.07578209825962,37.35614390720929],[66.51860680528867,37.36278432875879],[66.54615034370022,37.97468496352687],[65.2159989765074,38.4026950139843],[64.17022301621677,38.892406724598246],[63.51801476426103,39.36325653742564],[62.374260288345006,40.05388621679039],[61.88271406438469,41.084856879229406],[61.54717898951356,41.266370347654615],[60.465952996670694,41.22032664648255],[60.083340691981675,41.425146185871405],[59.976422153569786,42.22308197689021],[58.62901085799146,42.75155101172305],[57.78652998233708,42.17055288346552],[56.932215203687804,41.826026109375604],[57.0963912290791,41.32231008561057],[55.96819135928291,41.30864166926936]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Kazakhstan","sov_a3":"KA1","adm0_dif":1,"level":1,"type":"Sovereignty","tlc":"1","admin":"Kazakhstan","adm0_a3":"KAZ","geou_dif":0,"geounit":"Kazakhstan","gu_a3":"KAZ","su_dif":0,"subunit":"Kazakhstan","su_a3":"KAZ","brk_diff":0,"name":"Kazakhstan","name_long":"Kazakhstan","brk_a3":"KAZ","brk_name":"Kazakhstan","brk_group":null,"abbrev":"Kaz.","postal":"KZ","formal_en":"Republic of Kazakhstan","formal_fr":null,"name_ciawf":"Kazakhstan","note_adm0":null,"note_brk":null,"name_sort":"Kazakhstan","name_alt":null,"mapcolor7":6,"mapcolor8":1,"mapcolor9":6,"mapcolor13":1,"pop_est":18513930,"pop_rank":14,"pop_year":2019,"gdp_md":181665,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"KZ","iso_a2":"KZ","iso_a2_eh":"KZ","iso_a3":"KAZ","iso_a3_eh":"KAZ","iso_n3":"398","iso_n3_eh":"398","un_a3":"398","wb_a2":"KZ","wb_a3":"KAZ","woe_id":-90,"woe_id_eh":23424871,"woe_note":"Includes Baykonur Cosmodrome as an Admin-1 states provinces","adm0_iso":"KAZ","adm0_diff":null,"adm0_tlc":"KAZ","adm0_a3_us":"KAZ","adm0_a3_fr":"KAZ","adm0_a3_ru":"KAZ","adm0_a3_es":"KAZ","adm0_a3_cn":"KAZ","adm0_a3_tw":"KAZ","adm0_a3_in":"KAZ","adm0_a3_np":"KAZ","adm0_a3_pk":"KAZ","adm0_a3_de":"KAZ","adm0_a3_gb":"KAZ","adm0_a3_br":"KAZ","adm0_a3_il":"KAZ","adm0_a3_ps":"KAZ","adm0_a3_sa":"KAZ","adm0_a3_eg":"KAZ","adm0_a3_ma":"KAZ","adm0_a3_pt":"KAZ","adm0_a3_ar":"KAZ","adm0_a3_jp":"KAZ","adm0_a3_ko":"KAZ","adm0_a3_vn":"KAZ","adm0_a3_tr":"KAZ","adm0_a3_id":"KAZ","adm0_a3_pl":"KAZ","adm0_a3_gr":"KAZ","adm0_a3_it":"KAZ","adm0_a3_nl":"KAZ","adm0_a3_se":"KAZ","adm0_a3_bd":"KAZ","adm0_a3_ua":"KAZ","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Central Asia","region_wb":"Europe & Central Asia","name_len":10,"long_len":10,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.7,"max_label":7,"label_x":68.685548,"label_y":49.054149,"ne_id":1159320967,"wikidataid":"Q232","name_ar":"كازاخستان","name_bn":"কাজাখস্তান","name_de":"Kasachstan","name_en":"Kazakhstan","name_es":"Kazajistán","name_fa":"قزاقستان","name_fr":"Kazakhstan","name_el":"Καζακστάν","name_he":"קזחסטן","name_hi":"कज़ाख़िस्तान","name_hu":"Kazahsztán","name_id":"Kazakhstan","name_it":"Kazakistan","name_ja":"カザフスタン","name_ko":"카자흐스탄","name_nl":"Kazachstan","name_pl":"Kazachstan","name_pt":"Cazaquistão","name_ru":"Казахстан","name_sv":"Kazakstan","name_tr":"Kazakistan","name_uk":"Казахстан","name_ur":"قازقستان","name_vi":"Kazakhstan","name_zh":"哈萨克斯坦","name_zht":"哈薩克","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"KAZ.geojson"},"geometry":{"type":"Polygon","coordinates":[[[87.35997033076265,49.21498078062912],[86.59877648310336,48.549181626980626],[85.7682328633083,48.45575063739699],[85.72048383987067,47.452969468773105],[85.16429039911324,47.0009557155161],[83.18048383986047,47.33003123635086],[82.45892581576906,45.539649563166506],[81.9470707539181,45.31702749285312],[79.96610639844141,44.91751699480463],[80.86620649610126,43.18036204688101],[80.1801501809943,42.92006785742694],[80.2599902688853,42.34999929459906],[79.64364546094012,42.49668284765953],[79.14217736197978,42.85609243424952],[77.65839196158322,42.96068553320826],[76.00035363149846,42.98802236589067],[75.63696495962202,42.87789988867668],[74.21286583852256,43.29833934180337],[73.64530358266092,43.09127187760987],[73.48975752146237,42.50089447689132],[71.8446382994506,42.8453954127651],[71.18628055205212,42.70429291439214],[70.96231489449914,42.266154283205495],[70.3889648782208,42.08130768489745],[69.07002729683524,41.38424428971234],[68.63248294462002,40.66868073176681],[68.25989586779562,40.6623245305949],[67.98585574735182,41.13599070898222],[66.71404707221652,41.1684435084615],[66.51064863471572,41.987644151368556],[66.02339155463562,41.99464630794404],[66.09801232286509,42.997660020513095],[64.90082441595928,43.72808055274258],[63.18578698105657,43.650074978198006],[62.01330040878625,43.50447663021565],[61.05831994003245,44.40581696225051],[60.23997195825834,44.78403677019473],[58.68998904809581,45.50001373959873],[58.50312706892845,45.586804307632974],[55.928917270741096,44.99585846615911],[55.96819135928291,41.30864166926936],[55.45525109235377,41.25985911718584],[54.75534549339264,42.043971462566574],[54.07941775901495,42.32410940202083],[52.944293247291654,42.11603424739759],[52.50245975119615,41.78331553808637],[52.44633914572722,42.027150783855575],[52.692112257707265,42.44389537207337],[52.50142622255032,42.7922978785852],[51.342427199108215,43.132974758469345],[50.89129194520024,44.03103363705378],[50.339129266161365,44.284015611338475],[50.30564293803627,44.609835516938915],[51.278503452363225,44.51485423438646],[51.31689904155604,45.2459982366679],[52.16738976421573,45.40839142514511],[53.0408764992452,45.25904653582177],[53.220865512917726,46.234645901059935],[53.042736850807785,46.85300608986449],[52.04202273947561,46.80463694923924],[51.191945428274266,47.048704738953916],[50.03408328634248,46.60898997658222],[49.10116000000011,46.399330000000134],[48.59325000000018,46.56104],[48.694733514201744,47.07562816017793],[48.05725,47.74377],[47.31524000000013,47.7158500000001],[46.46644575377627,48.39415233010493],[47.04367150247651,49.152038886097614],[46.75159630716274,49.35600576435377],[47.54948042174931,50.454698391311126],[48.57784142435753,49.87475962991567],[48.70238162618102,50.60512848571284],[50.76664839051216,51.6927623561599],[52.32872358583097,51.718652248738124],[54.532878452376224,51.02623973245932],[55.71694,50.62171000000018],[56.77798000000013,51.04355],[58.36332,51.06364],[59.642282342370606,50.545442206415714],[59.93280724471549,50.842194118851864],[61.337424350840934,50.79907013610426],[61.58800337102417,51.272658799843214],[59.967533807215545,51.9604204372157],[60.92726850774028,52.44754832621504],[60.73999311711458,52.71998647725775],[61.699986199800605,52.97999644633427],[60.978066440683165,53.66499339457914],[61.43660000000017,54.00625],[65.17853356309593,54.35422781027211],[65.66687,54.60125000000011],[68.16910037625883,54.97039175070432],[69.06816694527288,55.38525014914353],[70.86526655465514,55.169733588270105],[71.18013105660941,54.13328522400826],[72.22415001820218,54.376655381886735],[73.5085160663844,54.0356167669766],[73.42567874542044,53.489810289109755],[74.38482000000016,53.54685000000012],[76.89110029491343,54.49052440044193],[76.52517947785475,54.17700348572714],[77.80091556184425,53.404414984747575],[80.03555952344169,50.86475088154725],[80.56844689323549,51.38833649352847],[81.94598554883993,50.81219594990637],[83.38300377801238,51.069182847693924],[83.93511478061885,50.88924551045358],[84.41637739455308,50.311399644565824],[85.11555952346203,50.11730296487764],[85.54126997268247,49.69285858824816],[86.82935672398963,49.82667470966817],[87.35997033076265,49.21498078062912]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Tajikistan","sov_a3":"TJK","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Tajikistan","adm0_a3":"TJK","geou_dif":0,"geounit":"Tajikistan","gu_a3":"TJK","su_dif":0,"subunit":"Tajikistan","su_a3":"TJK","brk_diff":0,"name":"Tajikistan","name_long":"Tajikistan","brk_a3":"TJK","brk_name":"Tajikistan","brk_group":null,"abbrev":"Tjk.","postal":"TJ","formal_en":"Republic of Tajikistan","formal_fr":null,"name_ciawf":"Tajikistan","note_adm0":null,"note_brk":null,"name_sort":"Tajikistan","name_alt":null,"mapcolor7":3,"mapcolor8":6,"mapcolor9":2,"mapcolor13":5,"pop_est":9321018,"pop_rank":13,"pop_year":2019,"gdp_md":8116,"gdp_year":2019,"economy":"6. Developing region","income_grp":"5. Low income","fips_10":"TI","iso_a2":"TJ","iso_a2_eh":"TJ","iso_a3":"TJK","iso_a3_eh":"TJK","iso_n3":"762","iso_n3_eh":"762","un_a3":"762","wb_a2":"TJ","wb_a3":"TJK","woe_id":23424961,"woe_id_eh":23424961,"woe_note":"Exact WOE match as country","adm0_iso":"TJK","adm0_diff":null,"adm0_tlc":"TJK","adm0_a3_us":"TJK","adm0_a3_fr":"TJK","adm0_a3_ru":"TJK","adm0_a3_es":"TJK","adm0_a3_cn":"TJK","adm0_a3_tw":"TJK","adm0_a3_in":"TJK","adm0_a3_np":"TJK","adm0_a3_pk":"TJK","adm0_a3_de":"TJK","adm0_a3_gb":"TJK","adm0_a3_br":"TJK","adm0_a3_il":"TJK","adm0_a3_ps":"TJK","adm0_a3_sa":"TJK","adm0_a3_eg":"TJK","adm0_a3_ma":"TJK","adm0_a3_pt":"TJK","adm0_a3_ar":"TJK","adm0_a3_jp":"TJK","adm0_a3_ko":"TJK","adm0_a3_vn":"TJK","adm0_a3_tr":"TJK","adm0_a3_id":"TJK","adm0_a3_pl":"TJK","adm0_a3_gr":"TJK","adm0_a3_it":"TJK","adm0_a3_nl":"TJK","adm0_a3_se":"TJK","adm0_a3_bd":"TJK","adm0_a3_ua":"TJK","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Central Asia","region_wb":"Europe & Central Asia","name_len":10,"long_len":10,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":72.587276,"label_y":38.199835,"ne_id":1159321307,"wikidataid":"Q863","name_ar":"طاجيكستان","name_bn":"তাজিকিস্তান","name_de":"Tadschikistan","name_en":"Tajikistan","name_es":"Tayikistán","name_fa":"تاجیکستان","name_fr":"Tadjikistan","name_el":"Τατζικιστάν","name_he":"טג׳יקיסטן","name_hi":"ताजिकिस्तान","name_hu":"Tádzsikisztán","name_id":"Tajikistan","name_it":"Tagikistan","name_ja":"タジキスタン","name_ko":"타지키스탄","name_nl":"Tadzjikistan","name_pl":"Tadżykistan","name_pt":"Tajiquistão","name_ru":"Таджикистан","name_sv":"Tadzjikistan","name_tr":"Tacikistan","name_uk":"Таджикистан","name_ur":"تاجکستان","name_vi":"Tajikistan","name_zh":"塔吉克斯坦","name_zht":"塔吉克","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"TJK.geojson"},"geometry":{"type":"Polygon","coordinates":[[[67.82999962755952,37.144994004864685],[68.39203250516596,38.15702525486874],[68.17602501818592,38.901553453113905],[67.44221967964131,39.140143541005486],[67.70142866401736,39.58047842056453],[68.53641645698943,39.53345286717894],[69.0116329283455,40.08615814875667],[69.32949466337283,40.72782440852485],[70.66662234892505,40.960213324541414],[70.45815962105962,40.49649485937029],[70.60140669137269,40.21852733007229],[71.01419803252017,40.24436554621823],[70.64801883329997,39.93575389257117],[69.55960981636852,40.10321137141298],[69.46488691597753,39.5266832545487],[70.54916181832562,39.6041979029865],[71.784693637992,39.27946320246437],[73.6753792662548,39.4312368841056],[73.92885216664644,38.50581533462274],[74.25751427602273,38.60650686294345],[74.86481570831683,38.3788463404816],[74.8299857929521,37.9900070257014],[74.98000247589542,37.419990139305895],[73.9486959166465,37.4215662704908],[73.26005577992501,37.495256862939],[72.63688968291729,37.047558091778356],[72.1930408059624,36.948287665345674],[71.8446382994506,36.73817129164692],[71.44869347523024,37.06564484308052],[71.54191775908478,37.905774441065645],[71.23940392444817,37.953265082341886],[71.34813113799026,38.25890534113216],[70.80682050973289,38.486281643216415],[70.3763041523093,38.13839590102752],[70.27057417184014,37.735164699854025],[70.11657840361033,37.58822276463209],[69.51878543485796,37.60899669041342],[69.19627282092438,37.15114350030743],[68.85944583524594,37.344335842430596],[68.13556237170138,37.02311513930431],[67.82999962755952,37.144994004864685]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Mongolia","sov_a3":"MNG","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Mongolia","adm0_a3":"MNG","geou_dif":0,"geounit":"Mongolia","gu_a3":"MNG","su_dif":0,"subunit":"Mongolia","su_a3":"MNG","brk_diff":0,"name":"Mongolia","name_long":"Mongolia","brk_a3":"MNG","brk_name":"Mongolia","brk_group":null,"abbrev":"Mong.","postal":"MN","formal_en":"Mongolia","formal_fr":null,"name_ciawf":"Mongolia","note_adm0":null,"note_brk":null,"name_sort":"Mongolia","name_alt":null,"mapcolor7":3,"mapcolor8":5,"mapcolor9":5,"mapcolor13":6,"pop_est":3225167,"pop_rank":12,"pop_year":2019,"gdp_md":13996,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"MG","iso_a2":"MN","iso_a2_eh":"MN","iso_a3":"MNG","iso_a3_eh":"MNG","iso_n3":"496","iso_n3_eh":"496","un_a3":"496","wb_a2":"MN","wb_a3":"MNG","woe_id":23424887,"woe_id_eh":23424887,"woe_note":"Exact WOE match as country","adm0_iso":"MNG","adm0_diff":null,"adm0_tlc":"MNG","adm0_a3_us":"MNG","adm0_a3_fr":"MNG","adm0_a3_ru":"MNG","adm0_a3_es":"MNG","adm0_a3_cn":"MNG","adm0_a3_tw":"MNG","adm0_a3_in":"MNG","adm0_a3_np":"MNG","adm0_a3_pk":"MNG","adm0_a3_de":"MNG","adm0_a3_gb":"MNG","adm0_a3_br":"MNG","adm0_a3_il":"MNG","adm0_a3_ps":"MNG","adm0_a3_sa":"MNG","adm0_a3_eg":"MNG","adm0_a3_ma":"MNG","adm0_a3_pt":"MNG","adm0_a3_ar":"MNG","adm0_a3_jp":"MNG","adm0_a3_ko":"MNG","adm0_a3_vn":"MNG","adm0_a3_tr":"MNG","adm0_a3_id":"MNG","adm0_a3_pl":"MNG","adm0_a3_gr":"MNG","adm0_a3_it":"MNG","adm0_a3_nl":"MNG","adm0_a3_se":"MNG","adm0_a3_bd":"MNG","adm0_a3_ua":"MNG","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Eastern Asia","region_wb":"East Asia & Pacific","name_len":8,"long_len":8,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":7,"label_x":104.150405,"label_y":45.997488,"ne_id":1159321071,"wikidataid":"Q711","name_ar":"منغوليا","name_bn":"মঙ্গোলিয়া","name_de":"Mongolei","name_en":"Mongolia","name_es":"Mongolia","name_fa":"مغولستان","name_fr":"Mongolie","name_el":"Μογγολία","name_he":"מונגוליה","name_hi":"मंगोलिया","name_hu":"Mongólia","name_id":"Mongolia","name_it":"Mongolia","name_ja":"モンゴル国","name_ko":"몽골","name_nl":"Mongolië","name_pl":"Mongolia","name_pt":"Mongólia","name_ru":"Монголия","name_sv":"Mongoliet","name_tr":"Moğolistan","name_uk":"Монголія","name_ur":"منگولیا","name_vi":"Mông Cổ","name_zh":"蒙古国","name_zht":"蒙古國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MNG.geojson"},"geometry":{"type":"Polygon","coordinates":[[[87.75126427607671,49.297197984405486],[88.80556684769552,49.47052073831242],[90.71366743364068,50.33181183532109],[92.23471154171968,50.80217072204172],[93.10421,50.49529],[94.14756635943559,50.48053660745717],[94.81594933469873,50.01343333597085],[95.8140200000002,49.97746000000012],[97.25976000000014,49.72605],[98.23176150919156,50.422400621128745],[97.82573978067431,51.01099518493318],[98.86149051310034,52.04736603454669],[99.98173221232354,51.63400625264399],[100.88948042196262,51.51685578063832],[102.06521,51.25991],[102.25589,50.51056000000011],[103.67654544476022,50.089966132195116],[104.62158,50.27532000000019],[105.88659142458675,50.406019192092224],[106.8888041524553,50.27429596618032],[107.86817589725095,49.793705145865815],[108.47516727095129,49.28254771585074],[109.40244917199664,49.292960516957635],[110.66201053267878,49.13012807880585],[111.58123091028662,49.37796824807769],[112.89773969935436,49.54356537535699],[114.36245649623527,50.24830272073741],[114.96210981655018,50.140247300815126],[115.48569542853136,49.80517731383475],[116.67880089728612,49.888531399121405],[116.19180219936757,49.134598090199106],[115.48528201707306,48.13538259540344],[115.74283735561579,47.72654450132629],[116.30895267137323,47.85341014260284],[117.29550744025741,47.69770905210743],[118.06414269416672,48.06673045510369],[118.86657433479495,47.74706004494617],[119.7728239278975,47.04805878355013],[119.66326989143876,46.69267995867892],[118.87432579963873,46.80541209572365],[117.42170128791419,46.67273285581426],[116.71786828009886,46.38820241961521],[115.98509647020009,45.727235012386004],[114.46033165899607,45.339816799493825],[113.46390669154417,44.80889313412712],[112.43606245325881,45.01164561622429],[111.8733061056003,45.10207937273506],[111.34837690637946,44.45744171811009],[111.66773725794323,44.07317576758771],[111.82958784388137,43.74311839453952],[111.12968224492023,43.40683401140015],[110.41210330611528,42.87123362891103],[109.24359581913146,42.5194463160841],[107.74477257693795,42.48151581478187],[106.12931562706169,42.13432770442891],[104.96499393109347,41.59740957291635],[104.52228193564899,41.908346666016556],[103.31227827353482,41.9074681666676],[101.83304039917994,42.51487295182628],[100.84586551310827,42.66380442969145],[99.51581749878004,42.524691473961724],[97.45175744017801,42.74888967546002],[96.34939578652781,42.725635280928685],[95.76245486855669,43.319449164394605],[95.30687544147153,44.24133087826547],[94.68892866412533,44.35233185482842],[93.4807336771413,44.975472113619965],[92.13389082231822,45.11507599545646],[90.9455395853343,45.28607330991028],[90.58576826371828,45.71971609148753],[90.97080936072501,46.88814606382293],[90.28082563676392,47.69354909930793],[88.85429772334676,48.069081732772965],[88.01383222855173,48.599462795600616],[87.75126427607671,49.297197984405486]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Vietnam","sov_a3":"VNM","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Vietnam","adm0_a3":"VNM","geou_dif":0,"geounit":"Vietnam","gu_a3":"VNM","su_dif":0,"subunit":"Vietnam","su_a3":"VNM","brk_diff":0,"name":"Vietnam","name_long":"Vietnam","brk_a3":"VNM","brk_name":"Vietnam","brk_group":null,"abbrev":"Viet.","postal":"VN","formal_en":"Socialist Republic of Vietnam","formal_fr":null,"name_ciawf":"Vietnam","note_adm0":null,"note_brk":null,"name_sort":"Vietnam","name_alt":null,"mapcolor7":5,"mapcolor8":6,"mapcolor9":5,"mapcolor13":4,"pop_est":96462106,"pop_rank":16,"pop_year":2019,"gdp_md":261921,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"4. Lower middle income","fips_10":"VM","iso_a2":"VN","iso_a2_eh":"VN","iso_a3":"VNM","iso_a3_eh":"VNM","iso_n3":"704","iso_n3_eh":"704","un_a3":"704","wb_a2":"VN","wb_a3":"VNM","woe_id":23424984,"woe_id_eh":23424984,"woe_note":"Exact WOE match as country","adm0_iso":"VNM","adm0_diff":null,"adm0_tlc":"VNM","adm0_a3_us":"VNM","adm0_a3_fr":"VNM","adm0_a3_ru":"VNM","adm0_a3_es":"VNM","adm0_a3_cn":"VNM","adm0_a3_tw":"VNM","adm0_a3_in":"VNM","adm0_a3_np":"VNM","adm0_a3_pk":"VNM","adm0_a3_de":"VNM","adm0_a3_gb":"VNM","adm0_a3_br":"VNM","adm0_a3_il":"VNM","adm0_a3_ps":"VNM","adm0_a3_sa":"VNM","adm0_a3_eg":"VNM","adm0_a3_ma":"VNM","adm0_a3_pt":"VNM","adm0_a3_ar":"VNM","adm0_a3_jp":"VNM","adm0_a3_ko":"VNM","adm0_a3_vn":"VNM","adm0_a3_tr":"VNM","adm0_a3_id":"VNM","adm0_a3_pl":"VNM","adm0_a3_gr":"VNM","adm0_a3_it":"VNM","adm0_a3_nl":"VNM","adm0_a3_se":"VNM","adm0_a3_bd":"VNM","adm0_a3_ua":"VNM","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"South-Eastern Asia","region_wb":"East Asia & Pacific","name_len":7,"long_len":7,"abbrev_len":5,"tiny":2,"homepart":1,"min_zoom":0,"min_label":2,"max_label":7,"label_x":105.387292,"label_y":21.715416,"ne_id":1159321417,"wikidataid":"Q881","name_ar":"فيتنام","name_bn":"ভিয়েতনাম","name_de":"Vietnam","name_en":"Vietnam","name_es":"Vietnam","name_fa":"ویتنام","name_fr":"Viêt Nam","name_el":"Βιετνάμ","name_he":"וייטנאם","name_hi":"वियतनाम","name_hu":"Vietnám","name_id":"Vietnam","name_it":"Vietnam","name_ja":"ベトナム","name_ko":"베트남","name_nl":"Vietnam","name_pl":"Wietnam","name_pt":"Vietname","name_ru":"Вьетнам","name_sv":"Vietnam","name_tr":"Vietnam","name_uk":"В'єтнам","name_ur":"ویتنام","name_vi":"Việt Nam","name_zh":"越南","name_zht":"越南","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"VNM.geojson"},"geometry":{"type":"Polygon","coordinates":[[[104.33433475140347,10.48654368737523],[105.19991499229235,10.889309800658097],[106.24967003786946,10.961811835163587],[105.81052371625313,11.567614650921229],[107.49140302941089,12.337205918827948],[107.61454796756243,13.535530707244206],[107.38272749230109,14.202440904186972],[107.5645251811039,15.20217316330556],[107.3127059265456,15.90853831630318],[106.55600792849569,16.604283962464805],[105.92576216026403,17.48531545660896],[105.09459842328152,18.66697459561108],[103.89653201702671,19.265180975821806],[104.18338789267894,19.62466807706022],[104.8225736836971,19.886641750563882],[104.43500044150805,20.75873322192153],[103.20386111858645,20.76656220141375],[102.75489627483466,21.675137233969465],[102.17043582561358,22.464753119389304],[102.7069922221001,22.708795070887675],[103.50451460166056,22.70375661873921],[104.47685835166448,22.819150092046968],[105.32920942588663,23.352063300056912],[105.81124718630522,22.976892401617903],[106.72540327354847,22.79426788989842],[106.56727339073532,22.21820486092477],[107.04342003787264,21.811898912029914],[108.05018029178294,21.55237986906012],[106.7150679870901,20.69685069425202],[105.88168216351903,19.752050482659698],[105.66200564984631,19.05816518806057],[106.42681684776602,18.004120998603227],[107.36195356651974,16.697456569887052],[108.26949507042963,16.07974233648615],[108.87710656131748,15.27669057867044],[109.33526981001722,13.426028347217724],[109.20013593957398,11.666859239137764],[108.36612999881545,11.008320624226272],[107.22092858279524,10.364483954301832],[106.40511274620343,9.53083974856932],[105.15826378786511,8.599759629750494],[104.79518517458239,9.241038316276502],[105.07620161338562,9.918490505406808],[104.33433475140347,10.48654368737523]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Cambodia","sov_a3":"KHM","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Cambodia","adm0_a3":"KHM","geou_dif":0,"geounit":"Cambodia","gu_a3":"KHM","su_dif":0,"subunit":"Cambodia","su_a3":"KHM","brk_diff":0,"name":"Cambodia","name_long":"Cambodia","brk_a3":"KHM","brk_name":"Cambodia","brk_group":null,"abbrev":"Camb.","postal":"KH","formal_en":"Kingdom of Cambodia","formal_fr":null,"name_ciawf":"Cambodia","note_adm0":null,"note_brk":null,"name_sort":"Cambodia","name_alt":null,"mapcolor7":6,"mapcolor8":3,"mapcolor9":6,"mapcolor13":5,"pop_est":16486542,"pop_rank":14,"pop_year":2019,"gdp_md":27089,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"CB","iso_a2":"KH","iso_a2_eh":"KH","iso_a3":"KHM","iso_a3_eh":"KHM","iso_n3":"116","iso_n3_eh":"116","un_a3":"116","wb_a2":"KH","wb_a3":"KHM","woe_id":23424776,"woe_id_eh":23424776,"woe_note":"Exact WOE match as country","adm0_iso":"KHM","adm0_diff":null,"adm0_tlc":"KHM","adm0_a3_us":"KHM","adm0_a3_fr":"KHM","adm0_a3_ru":"KHM","adm0_a3_es":"KHM","adm0_a3_cn":"KHM","adm0_a3_tw":"KHM","adm0_a3_in":"KHM","adm0_a3_np":"KHM","adm0_a3_pk":"KHM","adm0_a3_de":"KHM","adm0_a3_gb":"KHM","adm0_a3_br":"KHM","adm0_a3_il":"KHM","adm0_a3_ps":"KHM","adm0_a3_sa":"KHM","adm0_a3_eg":"KHM","adm0_a3_ma":"KHM","adm0_a3_pt":"KHM","adm0_a3_ar":"KHM","adm0_a3_jp":"KHM","adm0_a3_ko":"KHM","adm0_a3_vn":"KHM","adm0_a3_tr":"KHM","adm0_a3_id":"KHM","adm0_a3_pl":"KHM","adm0_a3_gr":"KHM","adm0_a3_it":"KHM","adm0_a3_nl":"KHM","adm0_a3_se":"KHM","adm0_a3_bd":"KHM","adm0_a3_ua":"KHM","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"South-Eastern Asia","region_wb":"East Asia & Pacific","name_len":8,"long_len":8,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":104.50487,"label_y":12.647584,"ne_id":1159320979,"wikidataid":"Q424","name_ar":"كمبوديا","name_bn":"কম্বোডিয়া","name_de":"Kambodscha","name_en":"Cambodia","name_es":"Camboya","name_fa":"کامبوج","name_fr":"Cambodge","name_el":"Καμπότζη","name_he":"קמבודיה","name_hi":"कम्बोडिया","name_hu":"Kambodzsa","name_id":"Kamboja","name_it":"Cambogia","name_ja":"カンボジア","name_ko":"캄보디아","name_nl":"Cambodja","name_pl":"Kambodża","name_pt":"Camboja","name_ru":"Камбоджа","name_sv":"Kambodja","name_tr":"Kamboçya","name_uk":"Камбоджа","name_ur":"کمبوڈیا","name_vi":"Campuchia","name_zh":"柬埔寨","name_zht":"柬埔寨","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"KHM.geojson"},"geometry":{"type":"Polygon","coordinates":[[[102.5849324890267,12.186594956913282],[102.34809939983302,13.394247341358223],[102.98842207236163,14.225721136934467],[104.28141808473661,14.416743068901367],[105.21877689007889,14.273211778210694],[106.04394616091552,13.881091009979956],[106.49637332563088,14.570583807834282],[107.38272749230109,14.202440904186972],[107.61454796756243,13.535530707244206],[107.49140302941089,12.337205918827948],[105.81052371625313,11.567614650921229],[106.24967003786946,10.961811835163587],[105.19991499229235,10.889309800658097],[104.33433475140347,10.48654368737523],[103.4972799011397,10.632555446815928],[103.09068973186726,11.153660590047165],[102.5849324890267,12.186594956913282]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"United Arab Emirates","sov_a3":"ARE","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"United Arab Emirates","adm0_a3":"ARE","geou_dif":0,"geounit":"United Arab Emirates","gu_a3":"ARE","su_dif":0,"subunit":"United Arab Emirates","su_a3":"ARE","brk_diff":0,"name":"United Arab Emirates","name_long":"United Arab Emirates","brk_a3":"ARE","brk_name":"United Arab Emirates","brk_group":null,"abbrev":"U.A.E.","postal":"AE","formal_en":"United Arab Emirates","formal_fr":null,"name_ciawf":"United Arab Emirates","note_adm0":null,"note_brk":null,"name_sort":"United Arab Emirates","name_alt":null,"mapcolor7":2,"mapcolor8":1,"mapcolor9":3,"mapcolor13":3,"pop_est":9770529,"pop_rank":13,"pop_year":2019,"gdp_md":421142,"gdp_year":2019,"economy":"6. Developing region","income_grp":"2. High income: nonOECD","fips_10":"AE","iso_a2":"AE","iso_a2_eh":"AE","iso_a3":"ARE","iso_a3_eh":"ARE","iso_n3":"784","iso_n3_eh":"784","un_a3":"784","wb_a2":"AE","wb_a3":"ARE","woe_id":23424738,"woe_id_eh":23424738,"woe_note":"Exact WOE match as country","adm0_iso":"ARE","adm0_diff":null,"adm0_tlc":"ARE","adm0_a3_us":"ARE","adm0_a3_fr":"ARE","adm0_a3_ru":"ARE","adm0_a3_es":"ARE","adm0_a3_cn":"ARE","adm0_a3_tw":"ARE","adm0_a3_in":"ARE","adm0_a3_np":"ARE","adm0_a3_pk":"ARE","adm0_a3_de":"ARE","adm0_a3_gb":"ARE","adm0_a3_br":"ARE","adm0_a3_il":"ARE","adm0_a3_ps":"ARE","adm0_a3_sa":"ARE","adm0_a3_eg":"ARE","adm0_a3_ma":"ARE","adm0_a3_pt":"ARE","adm0_a3_ar":"ARE","adm0_a3_jp":"ARE","adm0_a3_ko":"ARE","adm0_a3_vn":"ARE","adm0_a3_tr":"ARE","adm0_a3_id":"ARE","adm0_a3_pl":"ARE","adm0_a3_gr":"ARE","adm0_a3_it":"ARE","adm0_a3_nl":"ARE","adm0_a3_se":"ARE","adm0_a3_bd":"ARE","adm0_a3_ua":"ARE","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Middle East & North Africa","name_len":20,"long_len":20,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":54.547256,"label_y":23.466285,"ne_id":1159320329,"wikidataid":"Q878","name_ar":"الإمارات العربية المتحدة","name_bn":"সংযুক্ত আরব আমিরাত","name_de":"Vereinigte Arabische Emirate","name_en":"United Arab Emirates","name_es":"Emiratos Árabes Unidos","name_fa":"امارات متحده عربی","name_fr":"Émirats arabes unis","name_el":"Ηνωμένα Αραβικά Εμιράτα","name_he":"איחוד האמירויות הערביות","name_hi":"संयुक्त अरब अमीरात","name_hu":"Egyesült Arab Emírségek","name_id":"Uni Emirat Arab","name_it":"Emirati Arabi Uniti","name_ja":"アラブ首長国連邦","name_ko":"아랍에미리트","name_nl":"Verenigde Arabische Emiraten","name_pl":"Zjednoczone Emiraty Arabskie","name_pt":"Emirados Árabes Unidos","name_ru":"Объединённые Арабские Эмираты","name_sv":"Förenade Arabemiraten","name_tr":"Birleşik Arap Emirlikleri","name_uk":"Об'єднані Арабські Емірати","name_ur":"متحدہ عرب امارات","name_vi":"Các Tiểu vương quốc Ả Rập Thống nhất","name_zh":"阿拉伯联合酋长国","name_zht":"阿拉伯聯合大公國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ARE.geojson"},"geometry":{"type":"Polygon","coordinates":[[[51.57951867046327,24.245497137951105],[51.757440626844186,24.29407298430547],[51.79438927593287,24.019826158132506],[52.57708051942561,24.177439276622707],[53.404006788960146,24.15131684009917],[54.00800092958758,24.121757920828216],[54.69302371604863,24.79789236093509],[55.43902469261414,25.43914520924494],[56.07082075381456,26.05546417897398],[56.261041701080956,25.71460643157677],[56.396847365144005,24.924732163995486],[55.88623253766801,24.920830593357447],[55.804118686756226,24.269604193615265],[55.98121382022046,24.13054291431783],[55.52863162620824,23.933604030853502],[55.525841098864475,23.524869289640932],[55.234489373602884,23.110992743415324],[55.208341098863194,22.708329982997046],[55.006803012924905,22.496947536707136],[52.000733270074335,23.00115448657894],[51.61770755392698,24.01421926522883],[51.57951867046327,24.245497137951105]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Georgia","sov_a3":"GEO","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Georgia","adm0_a3":"GEO","geou_dif":0,"geounit":"Georgia","gu_a3":"GEO","su_dif":0,"subunit":"Georgia","su_a3":"GEO","brk_diff":0,"name":"Georgia","name_long":"Georgia","brk_a3":"GEO","brk_name":"Georgia","brk_group":null,"abbrev":"Geo.","postal":"GE","formal_en":"Georgia","formal_fr":null,"name_ciawf":"Georgia","note_adm0":null,"note_brk":null,"name_sort":"Georgia","name_alt":null,"mapcolor7":5,"mapcolor8":1,"mapcolor9":3,"mapcolor13":2,"pop_est":3720382,"pop_rank":12,"pop_year":2019,"gdp_md":17477,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"GG","iso_a2":"GE","iso_a2_eh":"GE","iso_a3":"GEO","iso_a3_eh":"GEO","iso_n3":"268","iso_n3_eh":"268","un_a3":"268","wb_a2":"GE","wb_a3":"GEO","woe_id":23424823,"woe_id_eh":23424823,"woe_note":"Exact WOE match as country","adm0_iso":"GEO","adm0_diff":null,"adm0_tlc":"GEO","adm0_a3_us":"GEO","adm0_a3_fr":"GEO","adm0_a3_ru":"GEO","adm0_a3_es":"GEO","adm0_a3_cn":"GEO","adm0_a3_tw":"GEO","adm0_a3_in":"GEO","adm0_a3_np":"GEO","adm0_a3_pk":"GEO","adm0_a3_de":"GEO","adm0_a3_gb":"GEO","adm0_a3_br":"GEO","adm0_a3_il":"GEO","adm0_a3_ps":"GEO","adm0_a3_sa":"GEO","adm0_a3_eg":"GEO","adm0_a3_ma":"GEO","adm0_a3_pt":"GEO","adm0_a3_ar":"GEO","adm0_a3_jp":"GEO","adm0_a3_ko":"GEO","adm0_a3_vn":"GEO","adm0_a3_tr":"GEO","adm0_a3_id":"GEO","adm0_a3_pl":"GEO","adm0_a3_gr":"GEO","adm0_a3_it":"GEO","adm0_a3_nl":"GEO","adm0_a3_se":"GEO","adm0_a3_bd":"GEO","adm0_a3_ua":"GEO","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":43.735724,"label_y":41.870087,"ne_id":1159320779,"wikidataid":"Q230","name_ar":"جورجيا","name_bn":"জর্জিয়া","name_de":"Georgien","name_en":"Georgia","name_es":"Georgia","name_fa":"گرجستان","name_fr":"Géorgie","name_el":"Γεωργία","name_he":"גאורגיה","name_hi":"जॉर्जिया","name_hu":"Grúzia","name_id":"Georgia","name_it":"Georgia","name_ja":"ジョージア","name_ko":"조지아","name_nl":"Georgië","name_pl":"Gruzja","name_pt":"Geórgia","name_ru":"Грузия","name_sv":"Georgien","name_tr":"Gürcistan","name_uk":"Грузія","name_ur":"جارجیا","name_vi":"Gruzia","name_zh":"格鲁吉亚","name_zht":"喬治亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"GEO.geojson"},"geometry":{"type":"Polygon","coordinates":[[[39.955008579270924,43.43499766699922],[40.07696495947977,43.553104153002316],[40.922190000000114,43.38215000000014],[42.39440000000013,43.2203],[43.75599000000011,42.74083],[43.931210000000135,42.55496000000011],[44.537622918481986,42.71199270280363],[45.47027916848572,42.50278066666998],[45.7764,42.09244000000018],[46.404950799348825,41.860675157227305],[46.14543175637902,41.72280243587258],[46.63790815612058,41.181672675128226],[46.50163740416693,41.06444468847411],[45.96260053893039,41.123872585609774],[45.217426385281584,41.41145193131405],[44.97248009621808,41.248128567055595],[43.58274580259273,41.09214325618257],[42.61954878110449,41.58317271581994],[41.55408410011066,41.53565623632757],[41.70317060727271,41.96294281673292],[41.45347008643839,42.64512339941794],[40.87546919125379,43.013628038091284],[40.32139448422032,43.128633938156845],[39.955008579270924,43.43499766699922]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Azerbaijan","sov_a3":"AZE","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Azerbaijan","adm0_a3":"AZE","geou_dif":0,"geounit":"Azerbaijan","gu_a3":"AZE","su_dif":0,"subunit":"Azerbaijan","su_a3":"AZE","brk_diff":0,"name":"Azerbaijan","name_long":"Azerbaijan","brk_a3":"AZE","brk_name":"Azerbaijan","brk_group":null,"abbrev":"Aze.","postal":"AZ","formal_en":"Republic of Azerbaijan","formal_fr":null,"name_ciawf":"Azerbaijan","note_adm0":null,"note_brk":null,"name_sort":"Azerbaijan","name_alt":null,"mapcolor7":1,"mapcolor8":6,"mapcolor9":5,"mapcolor13":8,"pop_est":10023318,"pop_rank":14,"pop_year":2019,"gdp_md":48047,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"AJ","iso_a2":"AZ","iso_a2_eh":"AZ","iso_a3":"AZE","iso_a3_eh":"AZE","iso_n3":"031","iso_n3_eh":"031","un_a3":"031","wb_a2":"AZ","wb_a3":"AZE","woe_id":23424741,"woe_id_eh":23424741,"woe_note":"Exact WOE match as country","adm0_iso":"AZE","adm0_diff":null,"adm0_tlc":"AZE","adm0_a3_us":"AZE","adm0_a3_fr":"AZE","adm0_a3_ru":"AZE","adm0_a3_es":"AZE","adm0_a3_cn":"AZE","adm0_a3_tw":"AZE","adm0_a3_in":"AZE","adm0_a3_np":"AZE","adm0_a3_pk":"AZE","adm0_a3_de":"AZE","adm0_a3_gb":"AZE","adm0_a3_br":"AZE","adm0_a3_il":"AZE","adm0_a3_ps":"AZE","adm0_a3_sa":"AZE","adm0_a3_eg":"AZE","adm0_a3_ma":"AZE","adm0_a3_pt":"AZE","adm0_a3_ar":"AZE","adm0_a3_jp":"AZE","adm0_a3_ko":"AZE","adm0_a3_vn":"AZE","adm0_a3_tr":"AZE","adm0_a3_id":"AZE","adm0_a3_pl":"AZE","adm0_a3_gr":"AZE","adm0_a3_it":"AZE","adm0_a3_nl":"AZE","adm0_a3_se":"AZE","adm0_a3_bd":"AZE","adm0_a3_ua":"AZE","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Europe & Central Asia","name_len":10,"long_len":10,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":47.210994,"label_y":40.402387,"ne_id":1159320381,"wikidataid":"Q227","name_ar":"أذربيجان","name_bn":"আজারবাইজান","name_de":"Aserbaidschan","name_en":"Azerbaijan","name_es":"Azerbaiyán","name_fa":"جمهوری آذربایجان","name_fr":"Azerbaïdjan","name_el":"Αζερμπαϊτζάν","name_he":"אזרבייג'ן","name_hi":"अज़रबैजान","name_hu":"Azerbajdzsán","name_id":"Azerbaijan","name_it":"Azerbaigian","name_ja":"アゼルバイジャン","name_ko":"아제르바이잔","name_nl":"Azerbeidzjan","name_pl":"Azerbejdżan","name_pt":"Azerbaijão","name_ru":"Азербайджан","name_sv":"Azerbajdzjan","name_tr":"Azerbaycan","name_uk":"Азербайджан","name_ur":"آذربائیجان","name_vi":"Azerbaijan","name_zh":"阿塞拜疆","name_zht":"亞塞拜然","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"AZE.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[46.404950799348825,41.860675157227305],[46.68607059101661,41.82713715266988],[47.37331546406623,41.2197323675112],[47.81566572448463,41.15141612402135],[47.98728315612598,41.40581920019423],[48.58435339611342,41.80886879162067],[49.110263706260696,41.28228668880051],[49.6189148293096,40.57292430272996],[50.08482954285313,40.52615713150581],[50.39282107931268,40.25656118423912],[49.569202101444795,40.176100979160665],[49.395259230350376,39.39948171646225],[49.22322838725071,39.04921885838793],[48.85653242370759,38.81548635513178],[48.88324913920249,38.32024526626262],[48.63437544128482,38.27037750910097],[48.01074425638648,38.79401479751452],[48.35552941263788,39.28876496027691],[48.06009524922524,39.58223541926246],[47.685079380083096,39.50836395930122],[46.50571984231797,38.770605373686294],[46.48349897643246,39.464154771475535],[46.034534132680676,39.628020738273065],[45.61001224140293,39.89999380142518],[45.89190717955509,40.21847565364],[45.35917483905817,40.56150381119346],[45.56035118997045,40.812289537105926],[45.17949588397934,40.98535390885141],[44.97248009621808,41.248128567055595],[45.217426385281584,41.41145193131405],[45.96260053893039,41.123872585609774],[46.50163740416693,41.06444468847411],[46.63790815612058,41.181672675128226],[46.14543175637902,41.72280243587258],[46.404950799348825,41.860675157227305]]],[[[46.14362308124882,38.74120148371222],[45.45772179543877,38.87413910578306],[44.95268802265031,39.33576467544637],[44.79398969908195,39.71300263117705],[45.00198733905675,39.740003567049555],[45.29814497252146,39.471751207022436],[45.73997846861698,39.47399913182713],[45.73537926614301,39.31971914321974],[46.14362308124882,38.74120148371222]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Turkey","sov_a3":"TUR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Turkey","adm0_a3":"TUR","geou_dif":0,"geounit":"Turkey","gu_a3":"TUR","su_dif":0,"subunit":"Turkey","su_a3":"TUR","brk_diff":0,"name":"Turkey","name_long":"Turkey","brk_a3":"TUR","brk_name":"Turkey","brk_group":null,"abbrev":"Tur.","postal":"TR","formal_en":"Republic of Turkey","formal_fr":null,"name_ciawf":"Turkey","note_adm0":null,"note_brk":null,"name_sort":"Turkey","name_alt":null,"mapcolor7":6,"mapcolor8":3,"mapcolor9":8,"mapcolor13":4,"pop_est":83429615,"pop_rank":16,"pop_year":2019,"gdp_md":761425,"gdp_year":2019,"economy":"4. Emerging region: MIKT","income_grp":"3. Upper middle income","fips_10":"TU","iso_a2":"TR","iso_a2_eh":"TR","iso_a3":"TUR","iso_a3_eh":"TUR","iso_n3":"792","iso_n3_eh":"792","un_a3":"792","wb_a2":"TR","wb_a3":"TUR","woe_id":23424969,"woe_id_eh":23424969,"woe_note":"Exact WOE match as country","adm0_iso":"TUR","adm0_diff":null,"adm0_tlc":"TUR","adm0_a3_us":"TUR","adm0_a3_fr":"TUR","adm0_a3_ru":"TUR","adm0_a3_es":"TUR","adm0_a3_cn":"TUR","adm0_a3_tw":"TUR","adm0_a3_in":"TUR","adm0_a3_np":"TUR","adm0_a3_pk":"TUR","adm0_a3_de":"TUR","adm0_a3_gb":"TUR","adm0_a3_br":"TUR","adm0_a3_il":"TUR","adm0_a3_ps":"TUR","adm0_a3_sa":"TUR","adm0_a3_eg":"TUR","adm0_a3_ma":"TUR","adm0_a3_pt":"TUR","adm0_a3_ar":"TUR","adm0_a3_jp":"TUR","adm0_a3_ko":"TUR","adm0_a3_vn":"TUR","adm0_a3_tr":"TUR","adm0_a3_id":"TUR","adm0_a3_pl":"TUR","adm0_a3_gr":"TUR","adm0_a3_it":"TUR","adm0_a3_nl":"TUR","adm0_a3_se":"TUR","adm0_a3_bd":"TUR","adm0_a3_ua":"TUR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2,"max_label":7,"label_x":34.508268,"label_y":39.345388,"ne_id":1159321331,"wikidataid":"Q43","name_ar":"تركيا","name_bn":"তুরস্ক","name_de":"Türkei","name_en":"Turkey","name_es":"Turquía","name_fa":"ترکیه","name_fr":"Turquie","name_el":"Τουρκία","name_he":"טורקיה","name_hi":"तुर्की","name_hu":"Törökország","name_id":"Turki","name_it":"Turchia","name_ja":"トルコ","name_ko":"터키","name_nl":"Turkije","name_pl":"Turcja","name_pt":"Turquia","name_ru":"Турция","name_sv":"Turkiet","name_tr":"Türkiye","name_uk":"Туреччина","name_ur":"ترکی","name_vi":"Thổ Nhĩ Kỳ","name_zh":"土耳其","name_zht":"土耳其","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"TUR.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[44.77267710159504,37.17043692561684],[44.29345177590287,37.0015143906063],[43.9422587420473,37.25622752537295],[42.77912560402183,37.385263576805755],[42.34959109881177,37.2298725449041],[41.21208947120305,37.074352321921694],[40.67325931169569,37.09127635349729],[39.52258019385255,36.71605377862599],[38.6998913917659,36.71292735447234],[38.1677274920242,36.90121043552777],[37.06676110204583,36.62303620050062],[36.7394942563414,36.81752045343109],[36.6853890317318,36.259699205056464],[36.417550083163036,36.04061697035506],[36.149762811026534,35.82153473565367],[35.782084995269855,36.27499542901485],[36.160821567537,36.65060557712833],[35.55093631362831,36.565442816711325],[34.714553256984345,36.7955321314909],[34.026894972476384,36.219960028624016],[32.509158156064075,36.107563788389186],[31.699595167779567,36.64427521417258],[30.621624790171097,36.6778648951623],[30.391096225717064,36.26298065850699],[29.69997562024554,36.144357408180994],[28.732902866335422,36.67683136651647],[27.641186557737317,36.65882212986274],[27.048767937943264,37.653360907536],[26.318218214633045,38.208133246405396],[26.804700148228733,38.985760199533516],[26.17078535330433,39.463612168936464],[27.28001997244939,40.42001373957831],[28.81997765474722,40.46001129817221],[29.240003696415584,41.21999074967267],[31.14593387220444,41.08762156835702],[32.34797936374571,41.736264146484615],[33.51328291192746,42.01896006933731],[35.167703891751785,42.040224921225416],[36.9131270688421,41.33535838476427],[38.34766482926452,40.94858612727573],[39.512606642420195,41.10276276301855],[40.373432651538224,41.01367259374735],[41.55408410011066,41.53565623632757],[42.61954878110449,41.58317271581994],[43.58274580259273,41.09214325618257],[43.75265791196841,40.74020091405876],[43.65643639504094,40.253563951166186],[44.4000085792887,40.00500031184228],[44.79398969908195,39.71300263117705],[44.10922529478234,39.4281362981681],[44.421402622257546,38.28128123631454],[44.22575564960053,37.97158437758935],[44.77267,37.17045],[44.77267710159504,37.17043692561684]]],[[[26.1170418637208,41.82690460872456],[27.13573937349048,42.14148489030134],[27.99672041190539,42.00735871028779],[28.115524529744416,41.62288605403624],[28.988442824018733,41.29993419042819],[28.806438429486743,41.05496206314856],[27.61901736828409,40.99982330989314],[27.19237674328238,40.69056570084242],[26.35800906749779,40.151993923496505],[26.04335127127257,40.61775360774317],[26.05694217296534,40.82412344010076],[26.294602085075667,40.93626129817413],[26.60419559093623,41.562114569661105],[26.1170418637208,41.82690460872456]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Laos","sov_a3":"LAO","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Laos","adm0_a3":"LAO","geou_dif":0,"geounit":"Laos","gu_a3":"LAO","su_dif":0,"subunit":"Laos","su_a3":"LAO","brk_diff":0,"name":"Laos","name_long":"Lao PDR","brk_a3":"LAO","brk_name":"Laos","brk_group":null,"abbrev":"Laos","postal":"LA","formal_en":"Lao People's Democratic Republic","formal_fr":null,"name_ciawf":"Laos","note_adm0":null,"note_brk":null,"name_sort":"Lao PDR","name_alt":null,"mapcolor7":1,"mapcolor8":1,"mapcolor9":1,"mapcolor13":9,"pop_est":7169455,"pop_rank":13,"pop_year":2019,"gdp_md":18173,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"4. Lower middle income","fips_10":"LA","iso_a2":"LA","iso_a2_eh":"LA","iso_a3":"LAO","iso_a3_eh":"LAO","iso_n3":"418","iso_n3_eh":"418","un_a3":"418","wb_a2":"LA","wb_a3":"LAO","woe_id":23424872,"woe_id_eh":23424872,"woe_note":"Exact WOE match as country","adm0_iso":"LAO","adm0_diff":null,"adm0_tlc":"LAO","adm0_a3_us":"LAO","adm0_a3_fr":"LAO","adm0_a3_ru":"LAO","adm0_a3_es":"LAO","adm0_a3_cn":"LAO","adm0_a3_tw":"LAO","adm0_a3_in":"LAO","adm0_a3_np":"LAO","adm0_a3_pk":"LAO","adm0_a3_de":"LAO","adm0_a3_gb":"LAO","adm0_a3_br":"LAO","adm0_a3_il":"LAO","adm0_a3_ps":"LAO","adm0_a3_sa":"LAO","adm0_a3_eg":"LAO","adm0_a3_ma":"LAO","adm0_a3_pt":"LAO","adm0_a3_ar":"LAO","adm0_a3_jp":"LAO","adm0_a3_ko":"LAO","adm0_a3_vn":"LAO","adm0_a3_tr":"LAO","adm0_a3_id":"LAO","adm0_a3_pl":"LAO","adm0_a3_gr":"LAO","adm0_a3_it":"LAO","adm0_a3_nl":"LAO","adm0_a3_se":"LAO","adm0_a3_bd":"LAO","adm0_a3_ua":"LAO","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"South-Eastern Asia","region_wb":"East Asia & Pacific","name_len":4,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":102.533912,"label_y":19.431821,"ne_id":1159321011,"wikidataid":"Q819","name_ar":"لاوس","name_bn":"লাওস","name_de":"Laos","name_en":"Laos","name_es":"Laos","name_fa":"لائوس","name_fr":"Laos","name_el":"Λάος","name_he":"לאוס","name_hi":"लाओस","name_hu":"Laosz","name_id":"Laos","name_it":"Laos","name_ja":"ラオス","name_ko":"라오스","name_nl":"Laos","name_pl":"Laos","name_pt":"Laos","name_ru":"Лаос","name_sv":"Laos","name_tr":"Laos","name_uk":"Лаос","name_ur":"لاؤس","name_vi":"Lào","name_zh":"老挝","name_zht":"寮國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"LAO.geojson"},"geometry":{"type":"Polygon","coordinates":[[[107.38272749230109,14.202440904186972],[106.49637332563088,14.570583807834282],[106.04394616091552,13.881091009979956],[105.21877689007889,14.273211778210694],[105.54433841351769,14.723933620660418],[105.58903852745016,15.570316066952858],[104.7793205098688,16.44186493577145],[104.7169470560925,17.42885895433008],[103.9564766784853,18.24095408779688],[103.20019209189374,18.309632066312773],[102.99870568238771,17.9616946476916],[102.41300499879162,17.932781683824288],[102.11359175009248,18.109101670804165],[101.05954756063517,17.51249725999449],[101.03593143107777,18.408928330961615],[101.2820146016517,19.462584947176765],[100.60629357300316,19.508344427971224],[100.54888105672688,20.109237982661128],[100.11598758341785,20.417849636308187],[100.32910119018953,20.786121731036232],[101.18000532430754,21.436572984294028],[101.27002566935997,21.201651923095184],[101.80311974488293,21.17436676684507],[101.65201785686152,22.318198757409547],[102.17043582561358,22.464753119389304],[102.75489627483466,21.675137233969465],[103.20386111858645,20.76656220141375],[104.43500044150805,20.75873322192153],[104.8225736836971,19.886641750563882],[104.18338789267894,19.62466807706022],[103.89653201702671,19.265180975821806],[105.09459842328152,18.66697459561108],[105.92576216026403,17.48531545660896],[106.55600792849569,16.604283962464805],[107.3127059265456,15.90853831630318],[107.5645251811039,15.20217316330556],[107.38272749230109,14.202440904186972]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Kyrgyzstan","sov_a3":"KGZ","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Kyrgyzstan","adm0_a3":"KGZ","geou_dif":0,"geounit":"Kyrgyzstan","gu_a3":"KGZ","su_dif":0,"subunit":"Kyrgyzstan","su_a3":"KGZ","brk_diff":0,"name":"Kyrgyzstan","name_long":"Kyrgyzstan","brk_a3":"KGZ","brk_name":"Kyrgyzstan","brk_group":null,"abbrev":"Kgz.","postal":"KG","formal_en":"Kyrgyz Republic","formal_fr":null,"name_ciawf":"Kyrgyzstan","note_adm0":null,"note_brk":null,"name_sort":"Kyrgyz Republic","name_alt":null,"mapcolor7":5,"mapcolor8":7,"mapcolor9":7,"mapcolor13":6,"pop_est":6456900,"pop_rank":13,"pop_year":2019,"gdp_md":8454,"gdp_year":2019,"economy":"6. Developing region","income_grp":"5. Low income","fips_10":"KG","iso_a2":"KG","iso_a2_eh":"KG","iso_a3":"KGZ","iso_a3_eh":"KGZ","iso_n3":"417","iso_n3_eh":"417","un_a3":"417","wb_a2":"KG","wb_a3":"KGZ","woe_id":23424864,"woe_id_eh":23424864,"woe_note":"Exact WOE match as country","adm0_iso":"KGZ","adm0_diff":null,"adm0_tlc":"KGZ","adm0_a3_us":"KGZ","adm0_a3_fr":"KGZ","adm0_a3_ru":"KGZ","adm0_a3_es":"KGZ","adm0_a3_cn":"KGZ","adm0_a3_tw":"KGZ","adm0_a3_in":"KGZ","adm0_a3_np":"KGZ","adm0_a3_pk":"KGZ","adm0_a3_de":"KGZ","adm0_a3_gb":"KGZ","adm0_a3_br":"KGZ","adm0_a3_il":"KGZ","adm0_a3_ps":"KGZ","adm0_a3_sa":"KGZ","adm0_a3_eg":"KGZ","adm0_a3_ma":"KGZ","adm0_a3_pt":"KGZ","adm0_a3_ar":"KGZ","adm0_a3_jp":"KGZ","adm0_a3_ko":"KGZ","adm0_a3_vn":"KGZ","adm0_a3_tr":"KGZ","adm0_a3_id":"KGZ","adm0_a3_pl":"KGZ","adm0_a3_gr":"KGZ","adm0_a3_it":"KGZ","adm0_a3_nl":"KGZ","adm0_a3_se":"KGZ","adm0_a3_bd":"KGZ","adm0_a3_ua":"KGZ","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Central Asia","region_wb":"Europe & Central Asia","name_len":10,"long_len":10,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":74.532637,"label_y":41.66854,"ne_id":1159320977,"wikidataid":"Q813","name_ar":"قيرغيزستان","name_bn":"কিরগিজস্তান","name_de":"Kirgisistan","name_en":"Kyrgyzstan","name_es":"Kirguistán","name_fa":"قرقیزستان","name_fr":"Kirghizistan","name_el":"Κιργιζία","name_he":"קירגיזסטן","name_hi":"किर्गिज़स्तान","name_hu":"Kirgizisztán","name_id":"Kirgizstan","name_it":"Kirghizistan","name_ja":"キルギス","name_ko":"키르기스스탄","name_nl":"Kirgizië","name_pl":"Kirgistan","name_pt":"Quirguistão","name_ru":"Киргизия","name_sv":"Kirgizistan","name_tr":"Kırgızistan","name_uk":"Киргизстан","name_ur":"کرغیزستان","name_vi":"Kyrgyzstan","name_zh":"吉尔吉斯斯坦","name_zht":"吉爾吉斯","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"KGZ.geojson"},"geometry":{"type":"Polygon","coordinates":[[[70.96231489449914,42.266154283205495],[71.18628055205212,42.70429291439214],[71.8446382994506,42.8453954127651],[73.48975752146237,42.50089447689132],[73.64530358266092,43.09127187760987],[74.21286583852256,43.29833934180337],[75.63696495962202,42.87789988867668],[76.00035363149846,42.98802236589067],[77.65839196158322,42.96068553320826],[79.14217736197978,42.85609243424952],[79.64364546094012,42.49668284765953],[80.2599902688853,42.34999929459906],[80.11943037305139,42.12394074153825],[78.54366092317531,41.58224254003869],[78.18719689322597,41.18531586360481],[76.90448449087708,41.06648590754965],[76.52636803579745,40.42794607193512],[75.4678279967307,40.56207225194867],[74.77686242055606,40.36642527929163],[73.8222436868283,39.893973497063186],[73.96001305531843,39.660008449861735],[73.6753792662548,39.4312368841056],[71.784693637992,39.27946320246437],[70.54916181832562,39.6041979029865],[69.46488691597753,39.5266832545487],[69.55960981636852,40.10321137141298],[70.64801883329997,39.93575389257117],[71.01419803252017,40.24436554621823],[71.77487511585656,40.14584442805378],[73.05541710804917,40.866033026689465],[71.87011478057047,41.392900092121266],[71.1578585142916,41.14358714452912],[70.42002241402821,41.51999827734314],[71.25924767444823,42.16771067968946],[70.96231489449914,42.266154283205495]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Armenia","sov_a3":"ARM","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Armenia","adm0_a3":"ARM","geou_dif":0,"geounit":"Armenia","gu_a3":"ARM","su_dif":0,"subunit":"Armenia","su_a3":"ARM","brk_diff":0,"name":"Armenia","name_long":"Armenia","brk_a3":"ARM","brk_name":"Armenia","brk_group":null,"abbrev":"Arm.","postal":"ARM","formal_en":"Republic of Armenia","formal_fr":null,"name_ciawf":"Armenia","note_adm0":null,"note_brk":null,"name_sort":"Armenia","name_alt":null,"mapcolor7":3,"mapcolor8":1,"mapcolor9":2,"mapcolor13":10,"pop_est":2957731,"pop_rank":12,"pop_year":2019,"gdp_md":13672,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"AM","iso_a2":"AM","iso_a2_eh":"AM","iso_a3":"ARM","iso_a3_eh":"ARM","iso_n3":"051","iso_n3_eh":"051","un_a3":"051","wb_a2":"AM","wb_a3":"ARM","woe_id":23424743,"woe_id_eh":23424743,"woe_note":"Exact WOE match as country","adm0_iso":"ARM","adm0_diff":null,"adm0_tlc":"ARM","adm0_a3_us":"ARM","adm0_a3_fr":"ARM","adm0_a3_ru":"ARM","adm0_a3_es":"ARM","adm0_a3_cn":"ARM","adm0_a3_tw":"ARM","adm0_a3_in":"ARM","adm0_a3_np":"ARM","adm0_a3_pk":"ARM","adm0_a3_de":"ARM","adm0_a3_gb":"ARM","adm0_a3_br":"ARM","adm0_a3_il":"ARM","adm0_a3_ps":"ARM","adm0_a3_sa":"ARM","adm0_a3_eg":"ARM","adm0_a3_ma":"ARM","adm0_a3_pt":"ARM","adm0_a3_ar":"ARM","adm0_a3_jp":"ARM","adm0_a3_ko":"ARM","adm0_a3_vn":"ARM","adm0_a3_tr":"ARM","adm0_a3_id":"ARM","adm0_a3_pl":"ARM","adm0_a3_gr":"ARM","adm0_a3_it":"ARM","adm0_a3_nl":"ARM","adm0_a3_se":"ARM","adm0_a3_bd":"ARM","adm0_a3_ua":"ARM","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":44.800564,"label_y":40.459077,"ne_id":1159320333,"wikidataid":"Q399","name_ar":"أرمينيا","name_bn":"আর্মেনিয়া","name_de":"Armenien","name_en":"Armenia","name_es":"Armenia","name_fa":"ارمنستان","name_fr":"Arménie","name_el":"Αρμενία","name_he":"ארמניה","name_hi":"आर्मीनिया","name_hu":"Örményország","name_id":"Armenia","name_it":"Armenia","name_ja":"アルメニア","name_ko":"아르메니아","name_nl":"Armenië","name_pl":"Armenia","name_pt":"Arménia","name_ru":"Армения","name_sv":"Armenien","name_tr":"Ermenistan","name_uk":"Вірменія","name_ur":"آرمینیا","name_vi":"Armenia","name_zh":"亚美尼亚","name_zht":"亞美尼亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ARM.geojson"},"geometry":{"type":"Polygon","coordinates":[[[46.50571984231797,38.770605373686294],[46.14362308124882,38.74120148371222],[45.73537926614301,39.31971914321974],[45.73997846861698,39.47399913182713],[45.29814497252146,39.471751207022436],[45.00198733905675,39.740003567049555],[44.79398969908195,39.71300263117705],[44.4000085792887,40.00500031184228],[43.65643639504094,40.253563951166186],[43.75265791196841,40.74020091405876],[43.58274580259273,41.09214325618257],[44.97248009621808,41.248128567055595],[45.17949588397934,40.98535390885141],[45.56035118997045,40.812289537105926],[45.35917483905817,40.56150381119346],[45.89190717955509,40.21847565364],[45.61001224140293,39.89999380142518],[46.034534132680676,39.628020738273065],[46.48349897643246,39.464154771475535],[46.50571984231797,38.770605373686294]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Iraq","sov_a3":"IRQ","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Iraq","adm0_a3":"IRQ","geou_dif":0,"geounit":"Iraq","gu_a3":"IRQ","su_dif":0,"subunit":"Iraq","su_a3":"IRQ","brk_diff":0,"name":"Iraq","name_long":"Iraq","brk_a3":"IRQ","brk_name":"Iraq","brk_group":null,"abbrev":"Iraq","postal":"IRQ","formal_en":"Republic of Iraq","formal_fr":null,"name_ciawf":"Iraq","note_adm0":null,"note_brk":null,"name_sort":"Iraq","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":3,"mapcolor13":1,"pop_est":39309783,"pop_rank":15,"pop_year":2019,"gdp_md":234094,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"IZ","iso_a2":"IQ","iso_a2_eh":"IQ","iso_a3":"IRQ","iso_a3_eh":"IRQ","iso_n3":"368","iso_n3_eh":"368","un_a3":"368","wb_a2":"IQ","wb_a3":"IRQ","woe_id":23424855,"woe_id_eh":23424855,"woe_note":"Exact WOE match as country","adm0_iso":"IRQ","adm0_diff":null,"adm0_tlc":"IRQ","adm0_a3_us":"IRQ","adm0_a3_fr":"IRQ","adm0_a3_ru":"IRQ","adm0_a3_es":"IRQ","adm0_a3_cn":"IRQ","adm0_a3_tw":"IRQ","adm0_a3_in":"IRQ","adm0_a3_np":"IRQ","adm0_a3_pk":"IRQ","adm0_a3_de":"IRQ","adm0_a3_gb":"IRQ","adm0_a3_br":"IRQ","adm0_a3_il":"IRQ","adm0_a3_ps":"IRQ","adm0_a3_sa":"IRQ","adm0_a3_eg":"IRQ","adm0_a3_ma":"IRQ","adm0_a3_pt":"IRQ","adm0_a3_ar":"IRQ","adm0_a3_jp":"IRQ","adm0_a3_ko":"IRQ","adm0_a3_vn":"IRQ","adm0_a3_tr":"IRQ","adm0_a3_id":"IRQ","adm0_a3_pl":"IRQ","adm0_a3_gr":"IRQ","adm0_a3_it":"IRQ","adm0_a3_nl":"IRQ","adm0_a3_se":"IRQ","adm0_a3_bd":"IRQ","adm0_a3_ua":"IRQ","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Middle East & North Africa","name_len":4,"long_len":4,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":7.5,"label_x":43.26181,"label_y":33.09403,"ne_id":1159320887,"wikidataid":"Q796","name_ar":"العراق","name_bn":"ইরাক","name_de":"Irak","name_en":"Iraq","name_es":"Irak","name_fa":"عراق","name_fr":"Irak","name_el":"Ιράκ","name_he":"עיראק","name_hi":"इराक","name_hu":"Irak","name_id":"Irak","name_it":"Iraq","name_ja":"イラク","name_ko":"이라크","name_nl":"Irak","name_pl":"Irak","name_pt":"Iraque","name_ru":"Ирак","name_sv":"Irak","name_tr":"Irak","name_uk":"Ірак","name_ur":"عراق","name_vi":"Iraq","name_zh":"伊拉克","name_zht":"伊拉克","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"IRQ.geojson"},"geometry":{"type":"Polygon","coordinates":[[[39.19546837744497,32.16100881604267],[38.792340529136084,33.378686428352225],[41.006158888519934,34.41937226006212],[41.383965285005814,35.628316555314356],[41.289707472505455,36.35881460219227],[41.83706424334096,36.605853786763575],[42.34959109881177,37.2298725449041],[42.77912560402183,37.385263576805755],[43.9422587420473,37.25622752537295],[44.29345177590287,37.0015143906063],[44.77267710159504,37.17043692561684],[45.42061811705321,35.977545884742824],[46.0763403664048,35.67738332777549],[46.15178795755094,35.09325877536429],[45.64845950702809,34.748137722303014],[45.41669070819904,33.967797756479584],[46.10936160663932,33.017287299119005],[47.33466149271191,32.46915538179911],[47.8492037290421,31.70917593029867],[47.68528608581227,30.984853217079632],[48.004698113808324,30.985137437457244],[48.0145683123761,30.452456773392598],[48.567971225789755,29.926778265903522],[47.974519077349896,29.975819200148504],[47.30262210469096,30.059069932570722],[46.568713413281756,29.09902517345229],[44.70949873228474,29.178891099559383],[41.889980910007836,31.19000865327837],[40.399994337736246,31.889991766887935],[39.19546837744497,32.16100881604267]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Iran","sov_a3":"IRN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Iran","adm0_a3":"IRN","geou_dif":0,"geounit":"Iran","gu_a3":"IRN","su_dif":0,"subunit":"Iran","su_a3":"IRN","brk_diff":0,"name":"Iran","name_long":"Iran","brk_a3":"IRN","brk_name":"Iran","brk_group":null,"abbrev":"Iran","postal":"IRN","formal_en":"Islamic Republic of Iran","formal_fr":null,"name_ciawf":"Iran","note_adm0":null,"note_brk":null,"name_sort":"Iran, Islamic Rep.","name_alt":null,"mapcolor7":4,"mapcolor8":3,"mapcolor9":4,"mapcolor13":13,"pop_est":82913906,"pop_rank":16,"pop_year":2019,"gdp_md":453996,"gdp_year":2018,"economy":"5. Emerging region: G20","income_grp":"3. Upper middle income","fips_10":"IR","iso_a2":"IR","iso_a2_eh":"IR","iso_a3":"IRN","iso_a3_eh":"IRN","iso_n3":"364","iso_n3_eh":"364","un_a3":"364","wb_a2":"IR","wb_a3":"IRN","woe_id":23424851,"woe_id_eh":23424851,"woe_note":"Exact WOE match as country","adm0_iso":"IRN","adm0_diff":null,"adm0_tlc":"IRN","adm0_a3_us":"IRN","adm0_a3_fr":"IRN","adm0_a3_ru":"IRN","adm0_a3_es":"IRN","adm0_a3_cn":"IRN","adm0_a3_tw":"IRN","adm0_a3_in":"IRN","adm0_a3_np":"IRN","adm0_a3_pk":"IRN","adm0_a3_de":"IRN","adm0_a3_gb":"IRN","adm0_a3_br":"IRN","adm0_a3_il":"IRN","adm0_a3_ps":"IRN","adm0_a3_sa":"IRN","adm0_a3_eg":"IRN","adm0_a3_ma":"IRN","adm0_a3_pt":"IRN","adm0_a3_ar":"IRN","adm0_a3_jp":"IRN","adm0_a3_ko":"IRN","adm0_a3_vn":"IRN","adm0_a3_tr":"IRN","adm0_a3_id":"IRN","adm0_a3_pl":"IRN","adm0_a3_gr":"IRN","adm0_a3_it":"IRN","adm0_a3_nl":"IRN","adm0_a3_se":"IRN","adm0_a3_bd":"IRN","adm0_a3_ua":"IRN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Southern Asia","region_wb":"Middle East & North Africa","name_len":4,"long_len":4,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.5,"max_label":6.7,"label_x":54.931495,"label_y":32.166225,"ne_id":1159320881,"wikidataid":"Q794","name_ar":"إيران","name_bn":"ইরান","name_de":"Iran","name_en":"Iran","name_es":"Irán","name_fa":"ایران","name_fr":"Iran","name_el":"Ιράν","name_he":"איראן","name_hi":"ईरान","name_hu":"Irán","name_id":"Iran","name_it":"Iran","name_ja":"イラン","name_ko":"이란","name_nl":"Iran","name_pl":"Iran","name_pt":"Irão","name_ru":"Иран","name_sv":"Iran","name_tr":"İran","name_uk":"Іран","name_ur":"ایران","name_vi":"Iran","name_zh":"伊朗","name_zht":"伊朗","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"IRN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[48.567971225789755,29.926778265903522],[48.0145683123761,30.452456773392598],[48.004698113808324,30.985137437457244],[47.68528608581227,30.984853217079632],[47.8492037290421,31.70917593029867],[47.33466149271191,32.46915538179911],[46.10936160663932,33.017287299119005],[45.41669070819904,33.967797756479584],[45.64845950702809,34.748137722303014],[46.15178795755094,35.09325877536429],[46.0763403664048,35.67738332777549],[45.42061811705321,35.977545884742824],[44.77267710159504,37.17043692561684],[44.77267,37.17045],[44.22575564960053,37.97158437758935],[44.421402622257546,38.28128123631454],[44.10922529478234,39.4281362981681],[44.79398969908195,39.71300263117705],[44.95268802265031,39.33576467544637],[45.45772179543877,38.87413910578306],[46.14362308124882,38.74120148371222],[46.50571984231797,38.770605373686294],[47.685079380083096,39.50836395930122],[48.06009524922524,39.58223541926246],[48.35552941263788,39.28876496027691],[48.01074425638648,38.79401479751452],[48.63437544128482,38.27037750910097],[48.88324913920249,38.32024526626262],[49.19961225769334,37.582874253889884],[50.14777143738462,37.37456655532134],[50.84235436381971,36.8728142359834],[52.264024692601424,36.7004216578577],[53.82578982932642,36.965030829408235],[53.92159793479556,37.19891836196126],[54.800303989486565,37.392420762678185],[55.51157840355191,37.96411713312317],[56.18037479027333,37.93512665460743],[56.61936608259282,38.121394354803485],[57.330433790928986,38.02922943781094],[58.436154412678206,37.5223094752438],[59.23476199731681,37.41298798273034],[60.37763797388388,36.52738312432837],[61.123070509694145,36.491597194966246],[61.210817091725744,35.650072333309225],[60.80319339380745,34.40410187431986],[60.52842980331158,33.676446031218006],[60.963700392506006,33.52883230237626],[60.536077915290775,32.98126882581157],[60.863654819588966,32.18291962333443],[60.94194461451113,31.548074652628753],[61.69931440618083,31.379506130492672],[61.781221551363444,30.735850328081238],[60.87424848820879,29.829238999952608],[61.36930870956494,29.303276272085924],[61.77186811711863,28.6993338078908],[62.72783043808599,28.25964488373539],[62.75542565292986,27.378923448184988],[63.2338977395203,27.21704702403071],[63.31663170761959,26.756532497661667],[61.87418745305655,26.239974880472104],[61.49736290878419,25.0782370061185],[59.616134067630846,25.380156561783778],[58.525761346272304,25.60996165618573],[57.39725141788239,25.73990204518364],[56.970765822177555,26.966106268821363],[56.492138706290206,27.143304755150197],[55.723710158110066,26.964633490501043],[54.71508955263727,26.480657863871514],[53.49309695823135,26.81236888275305],[52.48359785340961,27.580849107365495],[51.52076256694742,27.865689602158298],[50.85294803243954,28.814520575469388],[50.115008579311585,30.147772528599717],[49.576850213423995,29.985715236932407],[48.94133344909855,30.317090359004037],[48.567971225789755,29.926778265903522]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Qatar","sov_a3":"QAT","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Qatar","adm0_a3":"QAT","geou_dif":0,"geounit":"Qatar","gu_a3":"QAT","su_dif":0,"subunit":"Qatar","su_a3":"QAT","brk_diff":0,"name":"Qatar","name_long":"Qatar","brk_a3":"QAT","brk_name":"Qatar","brk_group":null,"abbrev":"Qatar","postal":"QA","formal_en":"State of Qatar","formal_fr":null,"name_ciawf":"Qatar","note_adm0":null,"note_brk":null,"name_sort":"Qatar","name_alt":null,"mapcolor7":3,"mapcolor8":6,"mapcolor9":2,"mapcolor13":4,"pop_est":2832067,"pop_rank":12,"pop_year":2019,"gdp_md":175837,"gdp_year":2019,"economy":"6. Developing region","income_grp":"2. High income: nonOECD","fips_10":"QA","iso_a2":"QA","iso_a2_eh":"QA","iso_a3":"QAT","iso_a3_eh":"QAT","iso_n3":"634","iso_n3_eh":"634","un_a3":"634","wb_a2":"QA","wb_a3":"QAT","woe_id":23424930,"woe_id_eh":23424930,"woe_note":"Exact WOE match as country","adm0_iso":"QAT","adm0_diff":null,"adm0_tlc":"QAT","adm0_a3_us":"QAT","adm0_a3_fr":"QAT","adm0_a3_ru":"QAT","adm0_a3_es":"QAT","adm0_a3_cn":"QAT","adm0_a3_tw":"QAT","adm0_a3_in":"QAT","adm0_a3_np":"QAT","adm0_a3_pk":"QAT","adm0_a3_de":"QAT","adm0_a3_gb":"QAT","adm0_a3_br":"QAT","adm0_a3_il":"QAT","adm0_a3_ps":"QAT","adm0_a3_sa":"QAT","adm0_a3_eg":"QAT","adm0_a3_ma":"QAT","adm0_a3_pt":"QAT","adm0_a3_ar":"QAT","adm0_a3_jp":"QAT","adm0_a3_ko":"QAT","adm0_a3_vn":"QAT","adm0_a3_tr":"QAT","adm0_a3_id":"QAT","adm0_a3_pl":"QAT","adm0_a3_gr":"QAT","adm0_a3_it":"QAT","adm0_a3_nl":"QAT","adm0_a3_se":"QAT","adm0_a3_bd":"QAT","adm0_a3_ua":"QAT","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Middle East & North Africa","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":51.143509,"label_y":25.237383,"ne_id":1159321197,"wikidataid":"Q846","name_ar":"قطر","name_bn":"কাতার","name_de":"Katar","name_en":"Qatar","name_es":"Catar","name_fa":"قطر","name_fr":"Qatar","name_el":"Κατάρ","name_he":"קטר","name_hi":"क़तर","name_hu":"Katar","name_id":"Qatar","name_it":"Qatar","name_ja":"カタール","name_ko":"카타르","name_nl":"Qatar","name_pl":"Katar","name_pt":"Catar","name_ru":"Катар","name_sv":"Qatar","name_tr":"Katar","name_uk":"Катар","name_ur":"قطر","name_vi":"Qatar","name_zh":"卡塔尔","name_zht":"卡達","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"QAT.geojson"},"geometry":{"type":"Polygon","coordinates":[[[50.81010827006958,24.754742539971378],[50.74391076030369,25.482424221289396],[51.013351678273494,26.006991685484195],[51.28646162293606,26.11458201751587],[51.58907881043726,25.80111277923338],[51.60670047384881,25.21567047779874],[51.38960778179063,24.62738597258806],[51.11241539897702,24.556330878186724],[50.81010827006958,24.754742539971378]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Saudi Arabia","sov_a3":"SAU","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Saudi Arabia","adm0_a3":"SAU","geou_dif":0,"geounit":"Saudi Arabia","gu_a3":"SAU","su_dif":0,"subunit":"Saudi Arabia","su_a3":"SAU","brk_diff":0,"name":"Saudi Arabia","name_long":"Saudi Arabia","brk_a3":"SAU","brk_name":"Saudi Arabia","brk_group":null,"abbrev":"Saud.","postal":"SA","formal_en":"Kingdom of Saudi Arabia","formal_fr":null,"name_ciawf":"Saudi Arabia","note_adm0":null,"note_brk":null,"name_sort":"Saudi Arabia","name_alt":null,"mapcolor7":6,"mapcolor8":1,"mapcolor9":6,"mapcolor13":7,"pop_est":34268528,"pop_rank":15,"pop_year":2019,"gdp_md":792966,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"2. High income: nonOECD","fips_10":"SA","iso_a2":"SA","iso_a2_eh":"SA","iso_a3":"SAU","iso_a3_eh":"SAU","iso_n3":"682","iso_n3_eh":"682","un_a3":"682","wb_a2":"SA","wb_a3":"SAU","woe_id":23424938,"woe_id_eh":23424938,"woe_note":"Exact WOE match as country","adm0_iso":"SAU","adm0_diff":null,"adm0_tlc":"SAU","adm0_a3_us":"SAU","adm0_a3_fr":"SAU","adm0_a3_ru":"SAU","adm0_a3_es":"SAU","adm0_a3_cn":"SAU","adm0_a3_tw":"SAU","adm0_a3_in":"SAU","adm0_a3_np":"SAU","adm0_a3_pk":"SAU","adm0_a3_de":"SAU","adm0_a3_gb":"SAU","adm0_a3_br":"SAU","adm0_a3_il":"SAU","adm0_a3_ps":"SAU","adm0_a3_sa":"SAU","adm0_a3_eg":"SAU","adm0_a3_ma":"SAU","adm0_a3_pt":"SAU","adm0_a3_ar":"SAU","adm0_a3_jp":"SAU","adm0_a3_ko":"SAU","adm0_a3_vn":"SAU","adm0_a3_tr":"SAU","adm0_a3_id":"SAU","adm0_a3_pl":"SAU","adm0_a3_gr":"SAU","adm0_a3_it":"SAU","adm0_a3_nl":"SAU","adm0_a3_se":"SAU","adm0_a3_bd":"SAU","adm0_a3_ua":"SAU","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Middle East & North Africa","name_len":12,"long_len":12,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":7,"label_x":44.6996,"label_y":23.806908,"ne_id":1159321225,"wikidataid":"Q851","name_ar":"السعودية","name_bn":"সৌদি আরব","name_de":"Saudi-Arabien","name_en":"Saudi Arabia","name_es":"Arabia Saudita","name_fa":"عربستان سعودی","name_fr":"Arabie saoudite","name_el":"Σαουδική Αραβία","name_he":"ערב הסעודית","name_hi":"सउदी अरब","name_hu":"Szaúd-Arábia","name_id":"Arab Saudi","name_it":"Arabia Saudita","name_ja":"サウジアラビア","name_ko":"사우디아라비아","name_nl":"Saoedi-Arabië","name_pl":"Arabia Saudyjska","name_pt":"Arábia Saudita","name_ru":"Саудовская Аравия","name_sv":"Saudiarabien","name_tr":"Suudi Arabistan","name_uk":"Саудівська Аравія","name_ur":"سعودی عرب","name_vi":"Ả Rập Saudi","name_zh":"沙特阿拉伯","name_zht":"沙烏地阿拉伯","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SAU.geojson"},"geometry":{"type":"Polygon","coordinates":[[[34.95603722508426,29.356554673778845],[36.06894087092206,29.197494615184453],[36.50121422704359,29.505253607698705],[36.74052778498725,29.86528331147619],[37.503581984209035,30.003776150018407],[37.66811974462638,30.3386652694859],[37.998848911294374,30.508499864213135],[37.00216556168101,31.508412990844747],[39.00488569515255,32.01021698661498],[39.19546837744497,32.16100881604267],[40.399994337736246,31.889991766887935],[41.889980910007836,31.19000865327837],[44.70949873228474,29.178891099559383],[46.568713413281756,29.09902517345229],[47.45982181172283,29.002519436147224],[47.708850538937384,28.526062730416143],[48.416094191283946,28.55200429942667],[48.80759484232718,27.689627997339883],[49.29955447774583,27.46121816660981],[49.47091352722566,27.109999294538085],[50.15242231629088,26.689663194275997],[50.212935418504685,26.277026882425375],[50.11330325704594,25.94397227630425],[50.239858839728754,25.608049628190926],[50.527386509000735,25.327808335872103],[50.66055667501689,24.999895534764022],[50.81010827006958,24.754742539971378],[51.11241539897702,24.556330878186724],[51.38960778179063,24.62738597258806],[51.57951867046327,24.245497137951105],[51.61770755392698,24.01421926522883],[52.000733270074335,23.00115448657894],[55.006803012924905,22.496947536707136],[55.208341098863194,22.708329982997046],[55.666659376859826,22.00000112557234],[54.99998172386236,19.999994004796108],[52.00000980002224,19.000003363516058],[49.11667158386487,18.616667588774945],[48.18334354024134,18.166669216377315],[47.46669477721763,17.116681626854884],[47.000004917189756,16.949999294497445],[46.74999433776165,17.283338120996177],[46.366658563020536,17.233315334537636],[45.39999922056876,17.333335069238558],[45.21665123879719,17.433328965723334],[44.06261315285508,17.410358791569593],[43.79151858905192,17.31997671149111],[43.380794305196105,17.57998668056767],[43.11579756040336,17.088440456607373],[43.21837527850275,16.66688996018641],[42.77933230975097,16.347891343648683],[42.649572788266084,16.774635321514964],[42.34798912941071,17.075805568912003],[42.270887892431226,17.474721787989125],[41.75438195167396,17.833046169500975],[41.22139122901558,18.67159963630121],[40.93934126156654,19.486485297111756],[40.247652215339826,20.17463450772649],[39.80168460466095,20.338862209550058],[39.139399448408284,21.291904812092934],[39.023695916506796,21.986875311770195],[39.06632897314759,22.57965566659027],[38.49277225114008,23.688451036060854],[38.02386030452362,24.078685614512935],[37.483634881344386,24.285494696545015],[37.154817742671185,24.85848297779731],[37.209491408036,25.084541530858107],[36.93162723160259,25.60295949961018],[36.639603712721225,25.826227525327223],[36.249136590323815,26.57013560638488],[35.64018151219639,27.376520494083422],[35.13018680190788,28.06335195567472],[34.63233605320798,28.058546047471566],[34.787778761541944,28.6074272730597],[34.832220493312946,28.957483425404845],[34.95603722508426,29.356554673778845]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Pakistan","sov_a3":"PAK","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Pakistan","adm0_a3":"PAK","geou_dif":0,"geounit":"Pakistan","gu_a3":"PAK","su_dif":0,"subunit":"Pakistan","su_a3":"PAK","brk_diff":0,"name":"Pakistan","name_long":"Pakistan","brk_a3":"PAK","brk_name":"Pakistan","brk_group":null,"abbrev":"Pak.","postal":"PK","formal_en":"Islamic Republic of Pakistan","formal_fr":null,"name_ciawf":"Pakistan","note_adm0":null,"note_brk":null,"name_sort":"Pakistan","name_alt":null,"mapcolor7":2,"mapcolor8":2,"mapcolor9":3,"mapcolor13":11,"pop_est":216565318,"pop_rank":17,"pop_year":2019,"gdp_md":278221,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"4. Lower middle income","fips_10":"PK","iso_a2":"PK","iso_a2_eh":"PK","iso_a3":"PAK","iso_a3_eh":"PAK","iso_n3":"586","iso_n3_eh":"586","un_a3":"586","wb_a2":"PK","wb_a3":"PAK","woe_id":23424922,"woe_id_eh":23424922,"woe_note":"Exact WOE match as country","adm0_iso":"PAK","adm0_diff":null,"adm0_tlc":"PAK","adm0_a3_us":"PAK","adm0_a3_fr":"PAK","adm0_a3_ru":"PAK","adm0_a3_es":"PAK","adm0_a3_cn":"PAK","adm0_a3_tw":"PAK","adm0_a3_in":"PAK","adm0_a3_np":"PAK","adm0_a3_pk":"PAK","adm0_a3_de":"PAK","adm0_a3_gb":"PAK","adm0_a3_br":"PAK","adm0_a3_il":"PAK","adm0_a3_ps":"PAK","adm0_a3_sa":"PAK","adm0_a3_eg":"PAK","adm0_a3_ma":"PAK","adm0_a3_pt":"PAK","adm0_a3_ar":"PAK","adm0_a3_jp":"PAK","adm0_a3_ko":"PAK","adm0_a3_vn":"PAK","adm0_a3_tr":"PAK","adm0_a3_id":"PAK","adm0_a3_pl":"PAK","adm0_a3_gr":"PAK","adm0_a3_it":"PAK","adm0_a3_nl":"PAK","adm0_a3_se":"PAK","adm0_a3_bd":"PAK","adm0_a3_ua":"PAK","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Southern Asia","region_wb":"South Asia","name_len":8,"long_len":8,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.7,"max_label":7,"label_x":68.545632,"label_y":29.328389,"ne_id":1159321153,"wikidataid":"Q843","name_ar":"باكستان","name_bn":"পাকিস্তান","name_de":"Pakistan","name_en":"Pakistan","name_es":"Pakistán","name_fa":"پاکستان","name_fr":"Pakistan","name_el":"Πακιστάν","name_he":"פקיסטן","name_hi":"पाकिस्तान","name_hu":"Pakisztán","name_id":"Pakistan","name_it":"Pakistan","name_ja":"パキスタン","name_ko":"파키스탄","name_nl":"Pakistan","name_pl":"Pakistan","name_pt":"Paquistão","name_ru":"Пакистан","name_sv":"Pakistan","name_tr":"Pakistan","name_uk":"Пакистан","name_ur":"پاکستان","name_vi":"Pakistan","name_zh":"巴基斯坦","name_zht":"巴基斯坦","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"PAK.geojson"},"geometry":{"type":"Polygon","coordinates":[[[77.83745079947457,35.494009507787766],[76.87172163280403,34.65354401299274],[75.75706098826834,34.50492259372132],[74.24020267120497,34.748887030571254],[73.74994835805197,34.31769887952785],[74.10429365427734,33.44147329358685],[74.45155927927871,32.7648996038055],[75.25864179881322,32.2711054550405],[74.40592898956501,31.69263947196528],[74.42138024282028,30.979814764931177],[73.45063846221743,29.97641347911987],[72.8237516620847,28.961591701772054],[71.77766564320032,27.913180243434525],[70.61649620960193,27.989196275335868],[69.51439293811313,26.940965684511372],[70.16892662952202,26.491871649678842],[70.2828731627256,25.72222870533983],[70.84469933460284,25.21510203704352],[71.04324018746823,24.3565239527302],[68.84259931831878,24.35913361256094],[68.1766451353734,23.69196503345671],[67.44366661974547,23.94484365487699],[67.14544192898907,24.663611151624647],[66.37282758979327,25.42514089609385],[64.53040774929113,25.23703868255143],[62.90570071803461,25.21840932871021],[61.49736290878419,25.0782370061185],[61.87418745305655,26.239974880472104],[63.31663170761959,26.756532497661667],[63.2338977395203,27.21704702403071],[62.75542565292986,27.378923448184988],[62.72783043808599,28.25964488373539],[61.77186811711863,28.6993338078908],[61.36930870956494,29.303276272085924],[60.87424848820879,29.829238999952608],[62.54985680527278,29.31857249604431],[63.55026085801117,29.468330796826166],[64.14800215033125,29.340819200145972],[64.35041873561852,29.560030625928093],[65.0468620136161,29.472180691031905],[66.34647260932442,29.887943427036177],[66.38145755398602,30.738899237586452],[66.93889122911847,31.304911200479353],[67.68339358914747,31.30315420178142],[67.79268924344478,31.58293040620963],[68.55693200060932,31.713310044882018],[68.92667687365767,31.620189113892067],[69.31776411324256,31.901412258424443],[69.26252200712256,32.5019440780883],[69.68714725126486,33.105498969041236],[70.3235941913716,33.35853261975839],[69.9305432473596,34.02012014417511],[70.8818030129884,33.98885590263852],[71.15677330921346,34.34891144463215],[71.11501875192164,34.733125718722235],[71.61307620635071,35.153203436822864],[71.49876793812109,35.650563259416],[71.26234826038575,36.074387518857804],[71.84629194528392,36.50994232842986],[72.92002485544447,36.72000702569632],[74.06755171091783,36.83617564548845],[74.57589277537298,37.02084137628346],[75.15802778514092,37.13303091078912],[75.89689741405013,36.666806138651836],[76.19284834178569,35.89840342868783],[77.83745079947457,35.494009507787766]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Thailand","sov_a3":"THA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Thailand","adm0_a3":"THA","geou_dif":0,"geounit":"Thailand","gu_a3":"THA","su_dif":0,"subunit":"Thailand","su_a3":"THA","brk_diff":0,"name":"Thailand","name_long":"Thailand","brk_a3":"THA","brk_name":"Thailand","brk_group":null,"abbrev":"Thai.","postal":"TH","formal_en":"Kingdom of Thailand","formal_fr":null,"name_ciawf":"Thailand","note_adm0":null,"note_brk":null,"name_sort":"Thailand","name_alt":null,"mapcolor7":3,"mapcolor8":6,"mapcolor9":8,"mapcolor13":1,"pop_est":69625582,"pop_rank":16,"pop_year":2019,"gdp_md":543548,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"3. Upper middle income","fips_10":"TH","iso_a2":"TH","iso_a2_eh":"TH","iso_a3":"THA","iso_a3_eh":"THA","iso_n3":"764","iso_n3_eh":"764","un_a3":"764","wb_a2":"TH","wb_a3":"THA","woe_id":23424960,"woe_id_eh":23424960,"woe_note":"Exact WOE match as country","adm0_iso":"THA","adm0_diff":null,"adm0_tlc":"THA","adm0_a3_us":"THA","adm0_a3_fr":"THA","adm0_a3_ru":"THA","adm0_a3_es":"THA","adm0_a3_cn":"THA","adm0_a3_tw":"THA","adm0_a3_in":"THA","adm0_a3_np":"THA","adm0_a3_pk":"THA","adm0_a3_de":"THA","adm0_a3_gb":"THA","adm0_a3_br":"THA","adm0_a3_il":"THA","adm0_a3_ps":"THA","adm0_a3_sa":"THA","adm0_a3_eg":"THA","adm0_a3_ma":"THA","adm0_a3_pt":"THA","adm0_a3_ar":"THA","adm0_a3_jp":"THA","adm0_a3_ko":"THA","adm0_a3_vn":"THA","adm0_a3_tr":"THA","adm0_a3_id":"THA","adm0_a3_pl":"THA","adm0_a3_gr":"THA","adm0_a3_it":"THA","adm0_a3_nl":"THA","adm0_a3_se":"THA","adm0_a3_bd":"THA","adm0_a3_ua":"THA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"South-Eastern Asia","region_wb":"East Asia & Pacific","name_len":8,"long_len":8,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.7,"max_label":8,"label_x":101.073198,"label_y":15.45974,"ne_id":1159321305,"wikidataid":"Q869","name_ar":"تايلاند","name_bn":"থাইল্যান্ড","name_de":"Thailand","name_en":"Thailand","name_es":"Tailandia","name_fa":"تایلند","name_fr":"Thaïlande","name_el":"Ταϊλάνδη","name_he":"תאילנד","name_hi":"थाईलैण्ड","name_hu":"Thaiföld","name_id":"Thailand","name_it":"Thailandia","name_ja":"タイ王国","name_ko":"태국","name_nl":"Thailand","name_pl":"Tajlandia","name_pt":"Tailândia","name_ru":"Таиланд","name_sv":"Thailand","name_tr":"Tayland","name_uk":"Таїланд","name_ur":"تھائی لینڈ","name_vi":"Thái Lan","name_zh":"泰国","name_zht":"泰國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"THA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[105.21877689007889,14.273211778210694],[104.28141808473661,14.416743068901367],[102.98842207236163,14.225721136934467],[102.34809939983302,13.394247341358223],[102.5849324890267,12.186594956913282],[101.68715783081996,12.645740057826572],[100.83180952352487,12.627084865769206],[100.9784672383692,13.412721665902566],[100.09779747925111,13.406856390837433],[100.01873253784456,12.307001044153354],[99.47892052612363,10.846366685423547],[99.15377241414316,9.963061428258555],[99.22239871622676,9.239255479362427],[99.87383182169813,9.20786204674512],[100.27964684448622,8.295152899606052],[100.45927412313276,7.429572658717177],[101.01732791545273,6.856868597842478],[101.62307905477806,6.74062246340192],[102.14118696493638,6.221636053894628],[101.81428185425798,5.810808417174242],[101.15421878459387,5.691384182147715],[101.07551557821336,6.204867051615921],[100.25959638875696,6.642824815289543],[100.0857568705271,6.464489447450291],[99.69069054565576,6.848212795433597],[99.51964155476963,7.34345388430276],[98.9882528015123,7.907993068875328],[98.503786248776,8.382305202666288],[98.339661899817,7.794511623562386],[98.15000939330582,8.350007432483878],[98.25915001830626,8.973922837759801],[98.55355065307305,9.932959906448545],[99.03812055867398,10.960545762572437],[99.58728600463972,11.892762762901697],[99.19635379435167,12.80474843998867],[99.21201175333609,13.269293728076464],[99.09775516153876,13.827502549693278],[98.43081912637987,14.622027696180837],[98.1920740091914,15.123702500870351],[98.53737592976572,15.308497422746084],[98.90334842325676,16.17782420497612],[98.49376102091135,16.83783559820793],[97.85912275593486,17.567946071843664],[97.37589643757354,18.445437730375815],[97.79778283080441,18.627080389881755],[98.25372399291561,19.708203029860044],[98.95967573445488,19.752980658440947],[99.54330936075931,20.186597601802063],[100.11598758341785,20.417849636308187],[100.54888105672688,20.109237982661128],[100.60629357300316,19.508344427971224],[101.2820146016517,19.462584947176765],[101.03593143107777,18.408928330961615],[101.05954756063517,17.51249725999449],[102.11359175009248,18.109101670804165],[102.41300499879162,17.932781683824288],[102.99870568238771,17.9616946476916],[103.20019209189374,18.309632066312773],[103.9564766784853,18.24095408779688],[104.7169470560925,17.42885895433008],[104.7793205098688,16.44186493577145],[105.58903852745016,15.570316066952858],[105.54433841351769,14.723933620660418],[105.21877689007889,14.273211778210694]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Kuwait","sov_a3":"KWT","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Kuwait","adm0_a3":"KWT","geou_dif":0,"geounit":"Kuwait","gu_a3":"KWT","su_dif":0,"subunit":"Kuwait","su_a3":"KWT","brk_diff":0,"name":"Kuwait","name_long":"Kuwait","brk_a3":"KWT","brk_name":"Kuwait","brk_group":null,"abbrev":"Kwt.","postal":"KW","formal_en":"State of Kuwait","formal_fr":null,"name_ciawf":"Kuwait","note_adm0":null,"note_brk":null,"name_sort":"Kuwait","name_alt":null,"mapcolor7":2,"mapcolor8":2,"mapcolor9":2,"mapcolor13":2,"pop_est":4207083,"pop_rank":12,"pop_year":2019,"gdp_md":134628,"gdp_year":2019,"economy":"6. Developing region","income_grp":"2. High income: nonOECD","fips_10":"KU","iso_a2":"KW","iso_a2_eh":"KW","iso_a3":"KWT","iso_a3_eh":"KWT","iso_n3":"414","iso_n3_eh":"414","un_a3":"414","wb_a2":"KW","wb_a3":"KWT","woe_id":23424870,"woe_id_eh":23424870,"woe_note":"Exact WOE match as country","adm0_iso":"KWT","adm0_diff":null,"adm0_tlc":"KWT","adm0_a3_us":"KWT","adm0_a3_fr":"KWT","adm0_a3_ru":"KWT","adm0_a3_es":"KWT","adm0_a3_cn":"KWT","adm0_a3_tw":"KWT","adm0_a3_in":"KWT","adm0_a3_np":"KWT","adm0_a3_pk":"KWT","adm0_a3_de":"KWT","adm0_a3_gb":"KWT","adm0_a3_br":"KWT","adm0_a3_il":"KWT","adm0_a3_ps":"KWT","adm0_a3_sa":"KWT","adm0_a3_eg":"KWT","adm0_a3_ma":"KWT","adm0_a3_pt":"KWT","adm0_a3_ar":"KWT","adm0_a3_jp":"KWT","adm0_a3_ko":"KWT","adm0_a3_vn":"KWT","adm0_a3_tr":"KWT","adm0_a3_id":"KWT","adm0_a3_pl":"KWT","adm0_a3_gr":"KWT","adm0_a3_it":"KWT","adm0_a3_nl":"KWT","adm0_a3_se":"KWT","adm0_a3_bd":"KWT","adm0_a3_ua":"KWT","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Middle East & North Africa","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":47.313999,"label_y":29.413628,"ne_id":1159321009,"wikidataid":"Q817","name_ar":"الكويت","name_bn":"কুয়েত","name_de":"Kuwait","name_en":"Kuwait","name_es":"Kuwait","name_fa":"کویت","name_fr":"Koweït","name_el":"Κουβέιτ","name_he":"כווית","name_hi":"कुवैत","name_hu":"Kuvait","name_id":"Kuwait","name_it":"Kuwait","name_ja":"クウェート","name_ko":"쿠웨이트","name_nl":"Koeweit","name_pl":"Kuwejt","name_pt":"Kuwait","name_ru":"Кувейт","name_sv":"Kuwait","name_tr":"Kuveyt","name_uk":"Кувейт","name_ur":"کویت","name_vi":"Kuwait","name_zh":"科威特","name_zht":"科威特","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"KWT.geojson"},"geometry":{"type":"Polygon","coordinates":[[[47.974519077349896,29.975819200148504],[48.18318851094449,29.534476630159762],[48.09394331237642,29.306299343375002],[48.416094191283946,28.55200429942667],[47.708850538937384,28.526062730416143],[47.45982181172283,29.002519436147224],[46.568713413281756,29.09902517345229],[47.30262210469096,30.059069932570722],[47.974519077349896,29.975819200148504]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"East Timor","sov_a3":"TLS","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"East Timor","adm0_a3":"TLS","geou_dif":0,"geounit":"East Timor","gu_a3":"TLS","su_dif":0,"subunit":"East Timor","su_a3":"TLS","brk_diff":0,"name":"Timor-Leste","name_long":"Timor-Leste","brk_a3":"TLS","brk_name":"Timor-Leste","brk_group":null,"abbrev":"T.L.","postal":"TL","formal_en":"Democratic Republic of Timor-Leste","formal_fr":null,"name_ciawf":"Timor-Leste","note_adm0":null,"note_brk":null,"name_sort":"Timor-Leste","name_alt":"East Timor","mapcolor7":2,"mapcolor8":2,"mapcolor9":4,"mapcolor13":3,"pop_est":1293119,"pop_rank":12,"pop_year":2019,"gdp_md":2017,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"4. Lower middle income","fips_10":"TT","iso_a2":"TL","iso_a2_eh":"TL","iso_a3":"TLS","iso_a3_eh":"TLS","iso_n3":"626","iso_n3_eh":"626","un_a3":"626","wb_a2":"TP","wb_a3":"TMP","woe_id":23424968,"woe_id_eh":23424968,"woe_note":"Exact WOE match as country","adm0_iso":"TLS","adm0_diff":null,"adm0_tlc":"TLS","adm0_a3_us":"TLS","adm0_a3_fr":"TLS","adm0_a3_ru":"TLS","adm0_a3_es":"TLS","adm0_a3_cn":"TLS","adm0_a3_tw":"TLS","adm0_a3_in":"TLS","adm0_a3_np":"TLS","adm0_a3_pk":"TLS","adm0_a3_de":"TLS","adm0_a3_gb":"TLS","adm0_a3_br":"TLS","adm0_a3_il":"TLS","adm0_a3_ps":"TLS","adm0_a3_sa":"TLS","adm0_a3_eg":"TLS","adm0_a3_ma":"TLS","adm0_a3_pt":"TLS","adm0_a3_ar":"TLS","adm0_a3_jp":"TLS","adm0_a3_ko":"TLS","adm0_a3_vn":"TLS","adm0_a3_tr":"TLS","adm0_a3_id":"TLS","adm0_a3_pl":"TLS","adm0_a3_gr":"TLS","adm0_a3_it":"TLS","adm0_a3_nl":"TLS","adm0_a3_se":"TLS","adm0_a3_bd":"TLS","adm0_a3_ua":"TLS","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"South-Eastern Asia","region_wb":"East Asia & Pacific","name_len":11,"long_len":11,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":125.854679,"label_y":-8.803705,"ne_id":1159321313,"wikidataid":"Q574","name_ar":"تيمور الشرقية","name_bn":"পূর্ব তিমুর","name_de":"Osttimor","name_en":"East Timor","name_es":"Timor Oriental","name_fa":"تیمور شرقی","name_fr":"Timor oriental","name_el":"Ανατολικό Τιμόρ","name_he":"מזרח טימור","name_hi":"पूर्वी तिमोर","name_hu":"Kelet-Timor","name_id":"Timor Leste","name_it":"Timor Est","name_ja":"東ティモール","name_ko":"동티모르","name_nl":"Oost-Timor","name_pl":"Timor Wschodni","name_pt":"Timor-Leste","name_ru":"Восточный Тимор","name_sv":"Östtimor","name_tr":"Doğu Timor","name_uk":"Східний Тимор","name_ur":"مشرقی تیمور","name_vi":"Đông Timor","name_zh":"东帝汶","name_zht":"東帝汶","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"TLS.geojson"},"geometry":{"type":"Polygon","coordinates":[[[124.96868248911623,-8.892790215697083],[125.08624637258026,-8.65688730228468],[125.94707238169826,-8.432094821815035],[126.64470421763855,-8.398246758663852],[126.95724328013983,-8.273344821814398],[127.33592817597463,-8.397316582882603],[126.96799197805655,-8.668256117388893],[125.9258850444586,-9.106007175333353],[125.08852013560109,-9.393173109579294],[125.07001997284061,-9.089987481322872],[124.96868248911623,-8.892790215697083]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Brunei","sov_a3":"BRN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Brunei","adm0_a3":"BRN","geou_dif":0,"geounit":"Brunei","gu_a3":"BRN","su_dif":0,"subunit":"Brunei","su_a3":"BRN","brk_diff":0,"name":"Brunei","name_long":"Brunei Darussalam","brk_a3":"BRN","brk_name":"Brunei","brk_group":null,"abbrev":"Brunei","postal":"BN","formal_en":"Negara Brunei Darussalam","formal_fr":null,"name_ciawf":"Brunei","note_adm0":null,"note_brk":null,"name_sort":"Brunei","name_alt":null,"mapcolor7":4,"mapcolor8":6,"mapcolor9":6,"mapcolor13":12,"pop_est":433285,"pop_rank":10,"pop_year":2019,"gdp_md":13469,"gdp_year":2019,"economy":"6. Developing region","income_grp":"2. High income: nonOECD","fips_10":"BX","iso_a2":"BN","iso_a2_eh":"BN","iso_a3":"BRN","iso_a3_eh":"BRN","iso_n3":"096","iso_n3_eh":"096","un_a3":"096","wb_a2":"BN","wb_a3":"BRN","woe_id":23424773,"woe_id_eh":23424773,"woe_note":"Exact WOE match as country","adm0_iso":"BRN","adm0_diff":null,"adm0_tlc":"BRN","adm0_a3_us":"BRN","adm0_a3_fr":"BRN","adm0_a3_ru":"BRN","adm0_a3_es":"BRN","adm0_a3_cn":"BRN","adm0_a3_tw":"BRN","adm0_a3_in":"BRN","adm0_a3_np":"BRN","adm0_a3_pk":"BRN","adm0_a3_de":"BRN","adm0_a3_gb":"BRN","adm0_a3_br":"BRN","adm0_a3_il":"BRN","adm0_a3_ps":"BRN","adm0_a3_sa":"BRN","adm0_a3_eg":"BRN","adm0_a3_ma":"BRN","adm0_a3_pt":"BRN","adm0_a3_ar":"BRN","adm0_a3_jp":"BRN","adm0_a3_ko":"BRN","adm0_a3_vn":"BRN","adm0_a3_tr":"BRN","adm0_a3_id":"BRN","adm0_a3_pl":"BRN","adm0_a3_gr":"BRN","adm0_a3_it":"BRN","adm0_a3_nl":"BRN","adm0_a3_se":"BRN","adm0_a3_bd":"BRN","adm0_a3_ua":"BRN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"South-Eastern Asia","region_wb":"East Asia & Pacific","name_len":6,"long_len":17,"abbrev_len":6,"tiny":2,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":114.551943,"label_y":4.448298,"ne_id":1159320451,"wikidataid":"Q921","name_ar":"بروناي","name_bn":"ব্রুনাই","name_de":"Brunei","name_en":"Brunei","name_es":"Brunéi","name_fa":"برونئی","name_fr":"Brunei","name_el":"Μπρουνέι","name_he":"ברוניי","name_hi":"ब्रुनेई","name_hu":"Brunei","name_id":"Brunei Darussalam","name_it":"Brunei","name_ja":"ブルネイ","name_ko":"브루나이","name_nl":"Brunei","name_pl":"Brunei","name_pt":"Brunei","name_ru":"Бруней","name_sv":"Brunei","name_tr":"Brunei","name_uk":"Бруней","name_ur":"برونائی دار السلام","name_vi":"Brunei","name_zh":"文莱","name_zht":"汶萊","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BRN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[115.45071048386981,5.447729803891534],[115.40570031134361,4.955227565933839],[115.34746097215066,4.316636053887009],[114.8695573263154,4.348313706881925],[114.65959598191353,4.007636826997754],[114.20401655482837,4.525873928236805],[114.59996137904872,4.900011298029966],[115.45071048386981,5.447729803891534]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Myanmar","sov_a3":"MMR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Myanmar","adm0_a3":"MMR","geou_dif":0,"geounit":"Myanmar","gu_a3":"MMR","su_dif":0,"subunit":"Myanmar","su_a3":"MMR","brk_diff":0,"name":"Myanmar","name_long":"Myanmar","brk_a3":"MMR","brk_name":"Myanmar","brk_group":null,"abbrev":"Myan.","postal":"MM","formal_en":"Republic of the Union of Myanmar","formal_fr":null,"name_ciawf":"Burma","note_adm0":null,"note_brk":null,"name_sort":"Myanmar","name_alt":null,"mapcolor7":2,"mapcolor8":2,"mapcolor9":5,"mapcolor13":13,"pop_est":54045420,"pop_rank":16,"pop_year":2019,"gdp_md":76085,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"BM","iso_a2":"MM","iso_a2_eh":"MM","iso_a3":"MMR","iso_a3_eh":"MMR","iso_n3":"104","iso_n3_eh":"104","un_a3":"104","wb_a2":"MM","wb_a3":"MMR","woe_id":23424763,"woe_id_eh":23424763,"woe_note":"Exact WOE match as country","adm0_iso":"MMR","adm0_diff":null,"adm0_tlc":"MMR","adm0_a3_us":"MMR","adm0_a3_fr":"MMR","adm0_a3_ru":"MMR","adm0_a3_es":"MMR","adm0_a3_cn":"MMR","adm0_a3_tw":"MMR","adm0_a3_in":"MMR","adm0_a3_np":"MMR","adm0_a3_pk":"MMR","adm0_a3_de":"MMR","adm0_a3_gb":"MMR","adm0_a3_br":"MMR","adm0_a3_il":"MMR","adm0_a3_ps":"MMR","adm0_a3_sa":"MMR","adm0_a3_eg":"MMR","adm0_a3_ma":"MMR","adm0_a3_pt":"MMR","adm0_a3_ar":"MMR","adm0_a3_jp":"MMR","adm0_a3_ko":"MMR","adm0_a3_vn":"MMR","adm0_a3_tr":"MMR","adm0_a3_id":"MMR","adm0_a3_pl":"MMR","adm0_a3_gr":"MMR","adm0_a3_it":"MMR","adm0_a3_nl":"MMR","adm0_a3_se":"MMR","adm0_a3_bd":"MMR","adm0_a3_ua":"MMR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"South-Eastern Asia","region_wb":"East Asia & Pacific","name_len":7,"long_len":7,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":95.804497,"label_y":21.573855,"ne_id":1159321067,"wikidataid":"Q836","name_ar":"ميانمار","name_bn":"মিয়ানমার","name_de":"Myanmar","name_en":"Myanmar","name_es":"Birmania","name_fa":"میانمار","name_fr":"Birmanie","name_el":"Μιανμάρ","name_he":"מיאנמר","name_hi":"म्यान्मार","name_hu":"Mianmar","name_id":"Myanmar","name_it":"Birmania","name_ja":"ミャンマー","name_ko":"미얀마","name_nl":"Myanmar","name_pl":"Mjanma","name_pt":"Myanmar","name_ru":"Мьянма","name_sv":"Myanmar","name_tr":"Myanmar","name_uk":"М'янма","name_ur":"میانمار","name_vi":"Myanma","name_zh":"缅甸","name_zht":"緬甸","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MMR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[100.11598758341785,20.417849636308187],[99.54330936075931,20.186597601802063],[98.95967573445488,19.752980658440947],[98.25372399291561,19.708203029860044],[97.79778283080441,18.627080389881755],[97.37589643757354,18.445437730375815],[97.85912275593486,17.567946071843664],[98.49376102091135,16.83783559820793],[98.90334842325676,16.17782420497612],[98.53737592976572,15.308497422746084],[98.1920740091914,15.123702500870351],[98.43081912637987,14.622027696180837],[99.09775516153876,13.827502549693278],[99.21201175333609,13.269293728076464],[99.19635379435167,12.80474843998867],[99.58728600463972,11.892762762901697],[99.03812055867398,10.960545762572437],[98.55355065307305,9.932959906448545],[98.45717410684873,10.67526601810515],[98.76454552612078,11.441291612183749],[98.42833865762985,12.032986761925685],[98.50957400919268,13.122377631070677],[98.1036039571077,13.640459703012851],[97.77773237507517,14.837285874892642],[97.59707156778276,16.10056793869977],[97.1645398294998,16.92873444260934],[96.505768670643,16.42724050543285],[95.3693522481124,15.7143899601826],[94.80840457558412,15.80345429123764],[94.18880415240454,16.037936102762018],[94.53348595579135,17.277240301985728],[94.32481652219676,18.2135139022499],[93.54098839719364,19.366492621330025],[93.66325483599621,19.726961574781996],[93.07827762245219,19.855144965081976],[92.36855350135562,20.670883287025347],[92.30323449093868,21.47548533780982],[92.65225711463799,21.324047552978485],[92.67272098182556,22.041238918541254],[93.16612755734837,22.278459580977103],[93.06029422401463,22.70311066333557],[93.28632693885928,23.043658352139005],[93.3251876159428,24.078556423432204],[94.10674197792507,23.85074087167348],[94.55265791217164,24.675238348890336],[94.60324913938538,25.162495428970402],[95.1551534362626,26.001307277932085],[95.12476769407496,26.5735720891323],[96.41936567585097,27.264589341739224],[97.1339990580153,27.083773505149964],[97.0519885599681,27.69905894623315],[97.40256147663614,27.882536119085444],[97.32711388549004,28.26158274994634],[97.91198774616944,28.335945136014345],[98.2462309102333,27.74722138112918],[98.68269005737046,27.50881216075062],[98.71209394734451,26.743535874940267],[98.67183800658916,25.918702500913525],[97.72460900267914,25.083637193293],[97.60471967976198,23.897404690033042],[98.66026248575577,24.063286037689966],[98.89874922078278,23.14272207284253],[99.5319922220874,22.94903880461258],[99.24089887898725,22.11831431730458],[99.98348921102149,21.7429367131364],[100.41653771362738,21.558839423096614],[101.15003299357825,21.849984442629022],[101.18000532430754,21.436572984294028],[100.32910119018953,20.786121731036232],[100.11598758341785,20.417849636308187]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Bangladesh","sov_a3":"BGD","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Bangladesh","adm0_a3":"BGD","geou_dif":0,"geounit":"Bangladesh","gu_a3":"BGD","su_dif":0,"subunit":"Bangladesh","su_a3":"BGD","brk_diff":0,"name":"Bangladesh","name_long":"Bangladesh","brk_a3":"BGD","brk_name":"Bangladesh","brk_group":null,"abbrev":"Bang.","postal":"BD","formal_en":"People's Republic of Bangladesh","formal_fr":null,"name_ciawf":"Bangladesh","note_adm0":null,"note_brk":null,"name_sort":"Bangladesh","name_alt":null,"mapcolor7":3,"mapcolor8":4,"mapcolor9":7,"mapcolor13":7,"pop_est":163046161,"pop_rank":17,"pop_year":2019,"gdp_md":302571,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"BG","iso_a2":"BD","iso_a2_eh":"BD","iso_a3":"BGD","iso_a3_eh":"BGD","iso_n3":"050","iso_n3_eh":"050","un_a3":"050","wb_a2":"BD","wb_a3":"BGD","woe_id":23424759,"woe_id_eh":23424759,"woe_note":"Exact WOE match as country","adm0_iso":"BGD","adm0_diff":null,"adm0_tlc":"BGD","adm0_a3_us":"BGD","adm0_a3_fr":"BGD","adm0_a3_ru":"BGD","adm0_a3_es":"BGD","adm0_a3_cn":"BGD","adm0_a3_tw":"BGD","adm0_a3_in":"BGD","adm0_a3_np":"BGD","adm0_a3_pk":"BGD","adm0_a3_de":"BGD","adm0_a3_gb":"BGD","adm0_a3_br":"BGD","adm0_a3_il":"BGD","adm0_a3_ps":"BGD","adm0_a3_sa":"BGD","adm0_a3_eg":"BGD","adm0_a3_ma":"BGD","adm0_a3_pt":"BGD","adm0_a3_ar":"BGD","adm0_a3_jp":"BGD","adm0_a3_ko":"BGD","adm0_a3_vn":"BGD","adm0_a3_tr":"BGD","adm0_a3_id":"BGD","adm0_a3_pl":"BGD","adm0_a3_gr":"BGD","adm0_a3_it":"BGD","adm0_a3_nl":"BGD","adm0_a3_se":"BGD","adm0_a3_bd":"BGD","adm0_a3_ua":"BGD","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Southern Asia","region_wb":"South Asia","name_len":10,"long_len":10,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":89.684963,"label_y":24.214956,"ne_id":1159320407,"wikidataid":"Q902","name_ar":"بنغلاديش","name_bn":"বাংলাদেশ","name_de":"Bangladesch","name_en":"Bangladesh","name_es":"Bangladés","name_fa":"بنگلادش","name_fr":"Bangladesh","name_el":"Μπανγκλαντές","name_he":"בנגלדש","name_hi":"बांग्लादेश","name_hu":"Banglades","name_id":"Bangladesh","name_it":"Bangladesh","name_ja":"バングラデシュ","name_ko":"방글라데시","name_nl":"Bangladesh","name_pl":"Bangladesz","name_pt":"Bangladesh","name_ru":"Бангладеш","name_sv":"Bangladesh","name_tr":"Bangladeş","name_uk":"Бангладеш","name_ur":"بنگلہ دیش","name_vi":"Bangladesh","name_zh":"孟加拉国","name_zht":"孟加拉","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BGD.geojson"},"geometry":{"type":"Polygon","coordinates":[[[92.67272098182556,22.041238918541254],[92.65225711463799,21.324047552978485],[92.30323449093868,21.47548533780982],[92.36855350135562,20.670883287025347],[92.08288618364614,21.19219513598577],[92.02521528520839,21.701569729086767],[91.83489098507744,22.182935695885565],[91.41708702999766,22.76501902922122],[90.49600630082728,22.80501658781513],[90.58695682166098,22.392793687422866],[90.27297081905556,21.83636770272011],[89.84746707556428,22.039146023033425],[89.70204959509493,21.857115790285306],[89.41886274613549,21.9661789006373],[89.03196129756623,22.055708319582976],[88.87631188350309,22.87914642993783],[88.52976972855379,23.631141872649167],[88.69994022009092,24.23371491138856],[88.08442223506242,24.501657212821925],[88.30637251175602,24.866079413344206],[88.93155398962308,25.238692328384776],[88.2097892598025,25.768065700782714],[88.56304935094977,26.446525580342723],[89.35509402868729,26.014407253518073],[89.83248091019962,25.96508209889548],[89.92069258012185,25.26974986419218],[90.87221072791212,25.132600612889547],[91.79959598182208,25.147431748957317],[92.37620161333481,24.976692816664965],[91.91509280799443,24.130413723237112],[91.46772993364368,24.072639471934792],[91.15896325069973,23.50352692310439],[91.70647505083211,22.985263983649187],[91.86992760617132,23.624346421802784],[92.14603478390681,23.627498684172593],[92.67272098182556,22.041238918541254]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Afghanistan","sov_a3":"AFG","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Afghanistan","adm0_a3":"AFG","geou_dif":0,"geounit":"Afghanistan","gu_a3":"AFG","su_dif":0,"subunit":"Afghanistan","su_a3":"AFG","brk_diff":0,"name":"Afghanistan","name_long":"Afghanistan","brk_a3":"AFG","brk_name":"Afghanistan","brk_group":null,"abbrev":"Afg.","postal":"AF","formal_en":"Islamic State of Afghanistan","formal_fr":null,"name_ciawf":"Afghanistan","note_adm0":null,"note_brk":null,"name_sort":"Afghanistan","name_alt":null,"mapcolor7":5,"mapcolor8":6,"mapcolor9":8,"mapcolor13":7,"pop_est":38041754,"pop_rank":15,"pop_year":2019,"gdp_md":19291,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"AF","iso_a2":"AF","iso_a2_eh":"AF","iso_a3":"AFG","iso_a3_eh":"AFG","iso_n3":"004","iso_n3_eh":"004","un_a3":"004","wb_a2":"AF","wb_a3":"AFG","woe_id":23424739,"woe_id_eh":23424739,"woe_note":"Exact WOE match as country","adm0_iso":"AFG","adm0_diff":null,"adm0_tlc":"AFG","adm0_a3_us":"AFG","adm0_a3_fr":"AFG","adm0_a3_ru":"AFG","adm0_a3_es":"AFG","adm0_a3_cn":"AFG","adm0_a3_tw":"AFG","adm0_a3_in":"AFG","adm0_a3_np":"AFG","adm0_a3_pk":"AFG","adm0_a3_de":"AFG","adm0_a3_gb":"AFG","adm0_a3_br":"AFG","adm0_a3_il":"AFG","adm0_a3_ps":"AFG","adm0_a3_sa":"AFG","adm0_a3_eg":"AFG","adm0_a3_ma":"AFG","adm0_a3_pt":"AFG","adm0_a3_ar":"AFG","adm0_a3_jp":"AFG","adm0_a3_ko":"AFG","adm0_a3_vn":"AFG","adm0_a3_tr":"AFG","adm0_a3_id":"AFG","adm0_a3_pl":"AFG","adm0_a3_gr":"AFG","adm0_a3_it":"AFG","adm0_a3_nl":"AFG","adm0_a3_se":"AFG","adm0_a3_bd":"AFG","adm0_a3_ua":"AFG","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Southern Asia","region_wb":"South Asia","name_len":11,"long_len":11,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":7,"label_x":66.496586,"label_y":34.164262,"ne_id":1159320319,"wikidataid":"Q889","name_ar":"أفغانستان","name_bn":"আফগানিস্তান","name_de":"Afghanistan","name_en":"Afghanistan","name_es":"Afganistán","name_fa":"افغانستان","name_fr":"Afghanistan","name_el":"Αφγανιστάν","name_he":"אפגניסטן","name_hi":"अफ़्गानिस्तान","name_hu":"Afganisztán","name_id":"Afganistan","name_it":"Afghanistan","name_ja":"アフガニスタン","name_ko":"아프가니스탄","name_nl":"Afghanistan","name_pl":"Afganistan","name_pt":"Afeganistão","name_ru":"Афганистан","name_sv":"Afghanistan","name_tr":"Afganistan","name_uk":"Афганістан","name_ur":"افغانستان","name_vi":"Afghanistan","name_zh":"阿富汗","name_zht":"阿富汗","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"AFG.geojson"},"geometry":{"type":"Polygon","coordinates":[[[66.51860680528867,37.36278432875879],[67.07578209825962,37.35614390720929],[67.82999962755952,37.144994004864685],[68.13556237170138,37.02311513930431],[68.85944583524594,37.344335842430596],[69.19627282092438,37.15114350030743],[69.51878543485796,37.60899669041342],[70.11657840361033,37.58822276463209],[70.27057417184014,37.735164699854025],[70.3763041523093,38.13839590102752],[70.80682050973289,38.486281643216415],[71.34813113799026,38.25890534113216],[71.23940392444817,37.953265082341886],[71.54191775908478,37.905774441065645],[71.44869347523024,37.06564484308052],[71.8446382994506,36.73817129164692],[72.1930408059624,36.948287665345674],[72.63688968291729,37.047558091778356],[73.26005577992501,37.495256862939],[73.9486959166465,37.4215662704908],[74.98000247589542,37.419990139305895],[75.15802778514092,37.13303091078912],[74.57589277537298,37.02084137628346],[74.06755171091783,36.83617564548845],[72.92002485544447,36.72000702569632],[71.84629194528392,36.50994232842986],[71.26234826038575,36.074387518857804],[71.49876793812109,35.650563259416],[71.61307620635071,35.153203436822864],[71.11501875192164,34.733125718722235],[71.15677330921346,34.34891144463215],[70.8818030129884,33.98885590263852],[69.9305432473596,34.02012014417511],[70.3235941913716,33.35853261975839],[69.68714725126486,33.105498969041236],[69.26252200712256,32.5019440780883],[69.31776411324256,31.901412258424443],[68.92667687365767,31.620189113892067],[68.55693200060932,31.713310044882018],[67.79268924344478,31.58293040620963],[67.68339358914747,31.30315420178142],[66.93889122911847,31.304911200479353],[66.38145755398602,30.738899237586452],[66.34647260932442,29.887943427036177],[65.0468620136161,29.472180691031905],[64.35041873561852,29.560030625928093],[64.14800215033125,29.340819200145972],[63.55026085801117,29.468330796826166],[62.54985680527278,29.31857249604431],[60.87424848820879,29.829238999952608],[61.781221551363444,30.735850328081238],[61.69931440618083,31.379506130492672],[60.94194461451113,31.548074652628753],[60.863654819588966,32.18291962333443],[60.536077915290775,32.98126882581157],[60.963700392506006,33.52883230237626],[60.52842980331158,33.676446031218006],[60.80319339380745,34.40410187431986],[61.210817091725744,35.650072333309225],[62.230651483005886,35.270663967422294],[62.98466230657661,35.40404083916762],[63.19353844590035,35.857165635718914],[63.98289594915871,36.0079574651466],[64.5464791197339,36.31207326918427],[64.7461051776774,37.111817735333304],[65.58894778835784,37.30521678318564],[65.74563073106683,37.66116404881207],[66.21738488145934,37.39379018813392],[66.51860680528867,37.36278432875879]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Turkmenistan","sov_a3":"TKM","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Turkmenistan","adm0_a3":"TKM","geou_dif":0,"geounit":"Turkmenistan","gu_a3":"TKM","su_dif":0,"subunit":"Turkmenistan","su_a3":"TKM","brk_diff":0,"name":"Turkmenistan","name_long":"Turkmenistan","brk_a3":"TKM","brk_name":"Turkmenistan","brk_group":null,"abbrev":"Turkm.","postal":"TM","formal_en":"Turkmenistan","formal_fr":null,"name_ciawf":"Turkmenistan","note_adm0":null,"note_brk":null,"name_sort":"Turkmenistan","name_alt":null,"mapcolor7":3,"mapcolor8":2,"mapcolor9":1,"mapcolor13":9,"pop_est":5942089,"pop_rank":13,"pop_year":2019,"gdp_md":40761,"gdp_year":2018,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"TX","iso_a2":"TM","iso_a2_eh":"TM","iso_a3":"TKM","iso_a3_eh":"TKM","iso_n3":"795","iso_n3_eh":"795","un_a3":"795","wb_a2":"TM","wb_a3":"TKM","woe_id":23424972,"woe_id_eh":23424972,"woe_note":"Exact WOE match as country","adm0_iso":"TKM","adm0_diff":null,"adm0_tlc":"TKM","adm0_a3_us":"TKM","adm0_a3_fr":"TKM","adm0_a3_ru":"TKM","adm0_a3_es":"TKM","adm0_a3_cn":"TKM","adm0_a3_tw":"TKM","adm0_a3_in":"TKM","adm0_a3_np":"TKM","adm0_a3_pk":"TKM","adm0_a3_de":"TKM","adm0_a3_gb":"TKM","adm0_a3_br":"TKM","adm0_a3_il":"TKM","adm0_a3_ps":"TKM","adm0_a3_sa":"TKM","adm0_a3_eg":"TKM","adm0_a3_ma":"TKM","adm0_a3_pt":"TKM","adm0_a3_ar":"TKM","adm0_a3_jp":"TKM","adm0_a3_ko":"TKM","adm0_a3_vn":"TKM","adm0_a3_tr":"TKM","adm0_a3_id":"TKM","adm0_a3_pl":"TKM","adm0_a3_gr":"TKM","adm0_a3_it":"TKM","adm0_a3_nl":"TKM","adm0_a3_se":"TKM","adm0_a3_bd":"TKM","adm0_a3_ua":"TKM","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Central Asia","region_wb":"Europe & Central Asia","name_len":12,"long_len":12,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":58.676647,"label_y":39.855246,"ne_id":1159321309,"wikidataid":"Q874","name_ar":"تركمانستان","name_bn":"তুর্কমেনিস্তান","name_de":"Turkmenistan","name_en":"Turkmenistan","name_es":"Turkmenistán","name_fa":"ترکمنستان","name_fr":"Turkménistan","name_el":"Τουρκμενιστάν","name_he":"טורקמניסטן","name_hi":"तुर्कमेनिस्तान","name_hu":"Türkmenisztán","name_id":"Turkmenistan","name_it":"Turkmenistan","name_ja":"トルクメニスタン","name_ko":"투르크메니스탄","name_nl":"Turkmenistan","name_pl":"Turkmenistan","name_pt":"Turquemenistão","name_ru":"Туркмения","name_sv":"Turkmenistan","name_tr":"Türkmenistan","name_uk":"Туркменістан","name_ur":"ترکمانستان","name_vi":"Turkmenistan","name_zh":"土库曼斯坦","name_zht":"土庫曼","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"TKM.geojson"},"geometry":{"type":"Polygon","coordinates":[[[52.50245975119615,41.78331553808637],[52.944293247291654,42.11603424739759],[54.07941775901495,42.32410940202083],[54.75534549339264,42.043971462566574],[55.45525109235377,41.25985911718584],[55.96819135928291,41.30864166926936],[57.0963912290791,41.32231008561057],[56.932215203687804,41.826026109375604],[57.78652998233708,42.17055288346552],[58.62901085799146,42.75155101172305],[59.976422153569786,42.22308197689021],[60.083340691981675,41.425146185871405],[60.465952996670694,41.22032664648255],[61.54717898951356,41.266370347654615],[61.88271406438469,41.084856879229406],[62.374260288345006,40.05388621679039],[63.51801476426103,39.36325653742564],[64.17022301621677,38.892406724598246],[65.2159989765074,38.4026950139843],[66.54615034370022,37.97468496352687],[66.51860680528867,37.36278432875879],[66.21738488145934,37.39379018813392],[65.74563073106683,37.66116404881207],[65.58894778835784,37.30521678318564],[64.7461051776774,37.111817735333304],[64.5464791197339,36.31207326918427],[63.98289594915871,36.0079574651466],[63.19353844590035,35.857165635718914],[62.98466230657661,35.40404083916762],[62.230651483005886,35.270663967422294],[61.210817091725744,35.650072333309225],[61.123070509694145,36.491597194966246],[60.37763797388388,36.52738312432837],[59.23476199731681,37.41298798273034],[58.436154412678206,37.5223094752438],[57.330433790928986,38.02922943781094],[56.61936608259282,38.121394354803485],[56.18037479027333,37.93512665460743],[55.51157840355191,37.96411713312317],[54.800303989486565,37.392420762678185],[53.92159793479556,37.19891836196126],[53.73551110211252,37.90613617609169],[53.880928582581845,38.95209300389536],[53.1010278664329,39.29057363540713],[53.35780805849123,39.97528636327445],[52.69397260926982,40.03362905533197],[52.915251092343624,40.87652334244473],[53.858139275941134,40.63103445084218],[54.73684533063215,40.95101491959346],[54.008310988181314,41.55121084244742],[53.72171349469059,42.12319143327003],[52.916749708880076,41.86811656347733],[52.81468875510362,41.13537059179471],[52.50245975119615,41.78331553808637]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Jordan","sov_a3":"JOR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Jordan","adm0_a3":"JOR","geou_dif":0,"geounit":"Jordan","gu_a3":"JOR","su_dif":0,"subunit":"Jordan","su_a3":"JOR","brk_diff":0,"name":"Jordan","name_long":"Jordan","brk_a3":"JOR","brk_name":"Jordan","brk_group":null,"abbrev":"Jord.","postal":"J","formal_en":"Hashemite Kingdom of Jordan","formal_fr":null,"name_ciawf":"Jordan","note_adm0":null,"note_brk":null,"name_sort":"Jordan","name_alt":null,"mapcolor7":5,"mapcolor8":3,"mapcolor9":4,"mapcolor13":4,"pop_est":10101694,"pop_rank":14,"pop_year":2019,"gdp_md":44502,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"JO","iso_a2":"JO","iso_a2_eh":"JO","iso_a3":"JOR","iso_a3_eh":"JOR","iso_n3":"400","iso_n3_eh":"400","un_a3":"400","wb_a2":"JO","wb_a3":"JOR","woe_id":23424860,"woe_id_eh":23424860,"woe_note":"Exact WOE match as country","adm0_iso":"JOR","adm0_diff":null,"adm0_tlc":"JOR","adm0_a3_us":"JOR","adm0_a3_fr":"JOR","adm0_a3_ru":"JOR","adm0_a3_es":"JOR","adm0_a3_cn":"JOR","adm0_a3_tw":"JOR","adm0_a3_in":"JOR","adm0_a3_np":"JOR","adm0_a3_pk":"JOR","adm0_a3_de":"JOR","adm0_a3_gb":"JOR","adm0_a3_br":"JOR","adm0_a3_il":"JOR","adm0_a3_ps":"JOR","adm0_a3_sa":"JOR","adm0_a3_eg":"JOR","adm0_a3_ma":"JOR","adm0_a3_pt":"JOR","adm0_a3_ar":"JOR","adm0_a3_jp":"JOR","adm0_a3_ko":"JOR","adm0_a3_vn":"JOR","adm0_a3_tr":"JOR","adm0_a3_id":"JOR","adm0_a3_pl":"JOR","adm0_a3_gr":"JOR","adm0_a3_it":"JOR","adm0_a3_nl":"JOR","adm0_a3_se":"JOR","adm0_a3_bd":"JOR","adm0_a3_ua":"JOR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Middle East & North Africa","name_len":6,"long_len":6,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":36.375991,"label_y":30.805025,"ne_id":1159320935,"wikidataid":"Q810","name_ar":"الأردن","name_bn":"জর্ডান","name_de":"Jordanien","name_en":"Jordan","name_es":"Jordania","name_fa":"اردن","name_fr":"Jordanie","name_el":"Ιορδανία","name_he":"ירדן","name_hi":"जॉर्डन","name_hu":"Jordánia","name_id":"Yordania","name_it":"Giordania","name_ja":"ヨルダン","name_ko":"요르단","name_nl":"Jordanië","name_pl":"Jordania","name_pt":"Jordânia","name_ru":"Иордания","name_sv":"Jordanien","name_tr":"Ürdün","name_uk":"Йорданія","name_ur":"اردن","name_vi":"Jordan","name_zh":"约旦","name_zht":"約旦","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"JOR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[35.54566531753454,32.393992011030576],[35.71991824722275,32.709192409794866],[36.834062127435544,32.312937526980775],[38.792340529136084,33.378686428352225],[39.19546837744497,32.16100881604267],[39.00488569515255,32.01021698661498],[37.00216556168101,31.508412990844747],[37.998848911294374,30.508499864213135],[37.66811974462638,30.3386652694859],[37.503581984209035,30.003776150018407],[36.74052778498725,29.86528331147619],[36.50121422704359,29.505253607698705],[36.06894087092206,29.197494615184453],[34.95603722508426,29.356554673778845],[34.92260257339143,29.501326198844524],[35.420918409981965,31.100065822874356],[35.397560662586045,31.489086005167582],[35.5452519060762,31.78250478772084],[35.54566531753454,32.393992011030576]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Nepal","sov_a3":"NPL","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Nepal","adm0_a3":"NPL","geou_dif":0,"geounit":"Nepal","gu_a3":"NPL","su_dif":0,"subunit":"Nepal","su_a3":"NPL","brk_diff":0,"name":"Nepal","name_long":"Nepal","brk_a3":"NPL","brk_name":"Nepal","brk_group":null,"abbrev":"Nepal","postal":"NP","formal_en":"Nepal","formal_fr":null,"name_ciawf":"Nepal","note_adm0":null,"note_brk":null,"name_sort":"Nepal","name_alt":null,"mapcolor7":2,"mapcolor8":2,"mapcolor9":3,"mapcolor13":12,"pop_est":28608710,"pop_rank":15,"pop_year":2019,"gdp_md":30641,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"NP","iso_a2":"NP","iso_a2_eh":"NP","iso_a3":"NPL","iso_a3_eh":"NPL","iso_n3":"524","iso_n3_eh":"524","un_a3":"524","wb_a2":"NP","wb_a3":"NPL","woe_id":23424911,"woe_id_eh":23424911,"woe_note":"Exact WOE match as country","adm0_iso":"NPL","adm0_diff":null,"adm0_tlc":"NPL","adm0_a3_us":"NPL","adm0_a3_fr":"NPL","adm0_a3_ru":"NPL","adm0_a3_es":"NPL","adm0_a3_cn":"NPL","adm0_a3_tw":"NPL","adm0_a3_in":"NPL","adm0_a3_np":"NPL","adm0_a3_pk":"NPL","adm0_a3_de":"NPL","adm0_a3_gb":"NPL","adm0_a3_br":"NPL","adm0_a3_il":"NPL","adm0_a3_ps":"NPL","adm0_a3_sa":"NPL","adm0_a3_eg":"NPL","adm0_a3_ma":"NPL","adm0_a3_pt":"NPL","adm0_a3_ar":"NPL","adm0_a3_jp":"NPL","adm0_a3_ko":"NPL","adm0_a3_vn":"NPL","adm0_a3_tr":"NPL","adm0_a3_id":"NPL","adm0_a3_pl":"NPL","adm0_a3_gr":"NPL","adm0_a3_it":"NPL","adm0_a3_nl":"NPL","adm0_a3_se":"NPL","adm0_a3_bd":"NPL","adm0_a3_ua":"NPL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Southern Asia","region_wb":"South Asia","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":83.639914,"label_y":28.297925,"ne_id":1159321121,"wikidataid":"Q837","name_ar":"نيبال","name_bn":"নেপাল","name_de":"Nepal","name_en":"Nepal","name_es":"Nepal","name_fa":"نپال","name_fr":"Népal","name_el":"Νεπάλ","name_he":"נפאל","name_hi":"नेपाल","name_hu":"Nepál","name_id":"Nepal","name_it":"Nepal","name_ja":"ネパール","name_ko":"네팔","name_nl":"Nepal","name_pl":"Nepal","name_pt":"Nepal","name_ru":"Непал","name_sv":"Nepal","name_tr":"Nepal","name_uk":"Непал","name_ur":"نیپال","name_vi":"Nepal","name_zh":"尼泊尔","name_zht":"尼泊爾","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"NPL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[88.12044070836987,27.876541652939594],[88.04313276566123,27.445818589786825],[88.17480431514092,26.81040517832595],[88.06023766474982,26.41461538340249],[87.2274719583663,26.397898057556077],[86.02439293817918,26.63098460540857],[85.25177859898338,26.726198431906344],[84.6750179381738,27.234901231387536],[83.30424889519955,27.36450572357556],[81.99998742058497,27.925479234319994],[81.05720258985203,28.416095282499043],[80.08842451367627,28.79447011974014],[80.4767212259174,29.72986522065534],[81.11125613802932,30.183480943313402],[81.52580447787474,30.42271698660863],[82.32751264845088,30.115268052688137],[83.33711510613719,29.463731594352197],[83.89899295444673,29.320226141877658],[84.23457970575015,28.839893703724698],[85.01163821812304,28.642773952747344],[85.82331994013151,28.203575954698707],[86.9545170430006,27.974261786403517],[88.12044070836987,27.876541652939594]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Yemen","sov_a3":"YEM","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Yemen","adm0_a3":"YEM","geou_dif":0,"geounit":"Yemen","gu_a3":"YEM","su_dif":0,"subunit":"Yemen","su_a3":"YEM","brk_diff":0,"name":"Yemen","name_long":"Yemen","brk_a3":"YEM","brk_name":"Yemen","brk_group":null,"abbrev":"Yem.","postal":"YE","formal_en":"Republic of Yemen","formal_fr":null,"name_ciawf":"Yemen","note_adm0":null,"note_brk":null,"name_sort":"Yemen, Rep.","name_alt":null,"mapcolor7":5,"mapcolor8":3,"mapcolor9":3,"mapcolor13":11,"pop_est":29161922,"pop_rank":15,"pop_year":2019,"gdp_md":22581,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"4. Lower middle income","fips_10":"YM","iso_a2":"YE","iso_a2_eh":"YE","iso_a3":"YEM","iso_a3_eh":"YEM","iso_n3":"887","iso_n3_eh":"887","un_a3":"887","wb_a2":"RY","wb_a3":"YEM","woe_id":23425002,"woe_id_eh":23425002,"woe_note":"Exact WOE match as country","adm0_iso":"YEM","adm0_diff":null,"adm0_tlc":"YEM","adm0_a3_us":"YEM","adm0_a3_fr":"YEM","adm0_a3_ru":"YEM","adm0_a3_es":"YEM","adm0_a3_cn":"YEM","adm0_a3_tw":"YEM","adm0_a3_in":"YEM","adm0_a3_np":"YEM","adm0_a3_pk":"YEM","adm0_a3_de":"YEM","adm0_a3_gb":"YEM","adm0_a3_br":"YEM","adm0_a3_il":"YEM","adm0_a3_ps":"YEM","adm0_a3_sa":"YEM","adm0_a3_eg":"YEM","adm0_a3_ma":"YEM","adm0_a3_pt":"YEM","adm0_a3_ar":"YEM","adm0_a3_jp":"YEM","adm0_a3_ko":"YEM","adm0_a3_vn":"YEM","adm0_a3_tr":"YEM","adm0_a3_id":"YEM","adm0_a3_pl":"YEM","adm0_a3_gr":"YEM","adm0_a3_it":"YEM","adm0_a3_nl":"YEM","adm0_a3_se":"YEM","adm0_a3_bd":"YEM","adm0_a3_ua":"YEM","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Middle East & North Africa","name_len":5,"long_len":5,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":45.874383,"label_y":15.328226,"ne_id":1159321425,"wikidataid":"Q805","name_ar":"اليمن","name_bn":"ইয়েমেন","name_de":"Jemen","name_en":"Yemen","name_es":"Yemen","name_fa":"یمن","name_fr":"Yémen","name_el":"Υεμένη","name_he":"תימן","name_hi":"यमन","name_hu":"Jemen","name_id":"Yaman","name_it":"Yemen","name_ja":"イエメン","name_ko":"예멘","name_nl":"Jemen","name_pl":"Jemen","name_pt":"Iémen","name_ru":"Йемен","name_sv":"Jemen","name_tr":"Yemen","name_uk":"Ємен","name_ur":"یمن","name_vi":"Yemen","name_zh":"也门","name_zht":"葉門","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"YEM.geojson"},"geometry":{"type":"Polygon","coordinates":[[[52.00000980002224,19.000003363516058],[52.78218427919205,17.349742336491232],[53.10857262554751,16.651051133688952],[52.38520592632588,16.382411200419654],[52.19172936382509,15.93843313238402],[52.1681649107,15.597420355689948],[51.172515089732485,15.175249742081492],[49.57457645040315,14.708766587782748],[48.67923058451416,14.00320241948566],[48.23894738138742,13.948089504446372],[47.938914015500785,14.007233181204427],[47.354453566279716,13.592219753468383],[46.717076450391744,13.39969920496502],[45.87759280781027,13.347764390511685],[45.62505008319988,13.290946153206763],[45.406458774605255,13.026905422411433],[45.14435591002086,12.95393830001531],[44.989533318874415,12.69958690027471],[44.49457645038285,12.721652736863348],[44.17511274595449,12.585950425664876],[43.48295861183713,12.636800035040084],[43.22287112811213,13.220950425667425],[43.25144819516953,13.767583726450852],[43.08794396339806,14.06263031662131],[42.892245314308724,14.802249253798749],[42.60487267433362,15.213335272680595],[42.80501549660005,15.261962795467255],[42.70243777850066,15.718885809791999],[42.823670688657415,15.911742255105267],[42.77933230975097,16.347891343648683],[43.21837527850275,16.66688996018641],[43.11579756040336,17.088440456607373],[43.380794305196105,17.57998668056767],[43.79151858905192,17.31997671149111],[44.06261315285508,17.410358791569593],[45.21665123879719,17.433328965723334],[45.39999922056876,17.333335069238558],[46.366658563020536,17.233315334537636],[46.74999433776165,17.283338120996177],[47.000004917189756,16.949999294497445],[47.46669477721763,17.116681626854884],[48.18334354024134,18.166669216377315],[49.11667158386487,18.616667588774945],[52.00000980002224,19.000003363516058]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Northern Cyprus","sov_a3":"CYN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Northern Cyprus","adm0_a3":"CYN","geou_dif":0,"geounit":"Northern Cyprus","gu_a3":"CYN","su_dif":0,"subunit":"Northern Cyprus","su_a3":"CYN","brk_diff":0,"name":"N. Cyprus","name_long":"Northern Cyprus","brk_a3":"CYN","brk_name":"N. Cyprus","brk_group":null,"abbrev":"N. Cy.","postal":"CN","formal_en":"Turkish Republic of Northern Cyprus","formal_fr":null,"name_ciawf":null,"note_adm0":"Self admin.","note_brk":"Self admin.; Claimed by Cyprus","name_sort":"Cyprus, Northern","name_alt":null,"mapcolor7":3,"mapcolor8":1,"mapcolor9":4,"mapcolor13":8,"pop_est":326000,"pop_rank":10,"pop_year":2017,"gdp_md":3600,"gdp_year":2013,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"-99","iso_a2":"-99","iso_a2_eh":"-99","iso_a3":"-99","iso_a3_eh":"-99","iso_n3":"-99","iso_n3_eh":"-99","un_a3":"-099","wb_a2":"-99","wb_a3":"-99","woe_id":-90,"woe_id_eh":23424995,"woe_note":"WOE lists as subunit of united Cyprus","adm0_iso":"CYP","adm0_diff":"1","adm0_tlc":"CYN","adm0_a3_us":"CYP","adm0_a3_fr":"CYP","adm0_a3_ru":"CYP","adm0_a3_es":"CYP","adm0_a3_cn":"CYP","adm0_a3_tw":"CYP","adm0_a3_in":"CYP","adm0_a3_np":"CYP","adm0_a3_pk":"CYP","adm0_a3_de":"CYP","adm0_a3_gb":"CYP","adm0_a3_br":"CYP","adm0_a3_il":"CYP","adm0_a3_ps":"CYP","adm0_a3_sa":"CYP","adm0_a3_eg":"CYP","adm0_a3_ma":"CYP","adm0_a3_pt":"CYP","adm0_a3_ar":"CYP","adm0_a3_jp":"CYP","adm0_a3_ko":"CYP","adm0_a3_vn":"CYP","adm0_a3_tr":"CYN","adm0_a3_id":"CYP","adm0_a3_pl":"CYP","adm0_a3_gr":"CYP","adm0_a3_it":"CYP","adm0_a3_nl":"CYP","adm0_a3_se":"CYP","adm0_a3_bd":"CYP","adm0_a3_ua":"CYP","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Western Asia","region_wb":"Europe & Central Asia","name_len":9,"long_len":15,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":6,"max_label":10,"label_x":33.692434,"label_y":35.216071,"ne_id":1159320531,"wikidataid":"Q23681","name_ar":"قبرص الشمالية","name_bn":"উত্তর সাইপ্রাস","name_de":"Türkische Republik Nordzypern","name_en":"Turkish Republic of Northern Cyprus","name_es":"República Turca del Norte de Chipre","name_fa":"جمهوری ترک قبرس شمالی","name_fr":"Chypre du Nord","name_el":"Τουρκική Δημοκρατία της Βόρειας Κύπρου","name_he":"הרפובליקה הטורקית של צפון קפריסין","name_hi":"उत्तरी साइप्रस","name_hu":"Észak-Ciprus","name_id":"Republik Turki Siprus Utara","name_it":"Cipro del Nord","name_ja":"北キプロス・トルコ共和国","name_ko":"북키프로스","name_nl":"Noord-Cyprus","name_pl":"Cypr Północny","name_pt":"República Turca do Chipre do Norte","name_ru":"Турецкая Республика Северного Кипра","name_sv":"Nordcypern","name_tr":"Kuzey Kıbrıs Türk Cumhuriyeti","name_uk":"Турецька Республіка Північного Кіпру","name_ur":"ترک جمہوریہ شمالی قبرص","name_vi":"Bắc Síp","name_zh":"北塞浦路斯土耳其共和国","name_zht":"北賽普勒斯土耳其共和國","fclass_iso":"Unrecognized","tlc_diff":"1","fclass_tlc":"Admin-0 country","fclass_us":"Admin-0 breakaway and disputed","fclass_fr":"Unrecognized","fclass_ru":"Unrecognized","fclass_es":"Unrecognized","fclass_cn":"Unrecognized","fclass_tw":"Unrecognized","fclass_in":"Unrecognized","fclass_np":"Unrecognized","fclass_pk":"Unrecognized","fclass_de":"Unrecognized","fclass_gb":"Unrecognized","fclass_br":"Unrecognized","fclass_il":"Unrecognized","fclass_ps":"Unrecognized","fclass_sa":"Unrecognized","fclass_eg":"Unrecognized","fclass_ma":"Unrecognized","fclass_pt":"Unrecognized","fclass_ar":"Unrecognized","fclass_jp":"Unrecognized","fclass_ko":"Unrecognized","fclass_vn":"Unrecognized","fclass_tr":"Admin-0 country","fclass_id":"Unrecognized","fclass_pl":"Unrecognized","fclass_gr":"Unrecognized","fclass_it":"Unrecognized","fclass_nl":"Unrecognized","fclass_se":"Unrecognized","fclass_bd":"Unrecognized","fclass_ua":"Unrecognized","filename":"CYN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[32.73178022637745,35.14002594658844],[32.80247358575275,35.14550364841138],[32.946960890440806,35.3867033961337],[33.667227003724946,35.37321584730552],[34.576473829900465,35.67159556735879],[33.900804477684204,35.245755927057616],[33.97361657078346,35.058506374648005],[33.86643965021011,35.09359467217419],[33.675391880027064,35.01786286065045],[33.5256852556775,35.03868846286407],[33.47581749851585,35.000344550103506],[33.45592207208347,35.10142365166641],[33.3838334490363,35.16271190036457],[33.19097700372305,35.17312470147138],[32.919572381326134,35.08783274997364],[32.73178022637745,35.14002594658844]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Philippines","sov_a3":"PHL","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Philippines","adm0_a3":"PHL","geou_dif":0,"geounit":"Philippines","gu_a3":"PHL","su_dif":0,"subunit":"Philippines","su_a3":"PHL","brk_diff":0,"name":"Philippines","name_long":"Philippines","brk_a3":"PHL","brk_name":"Philippines","brk_group":null,"abbrev":"Phil.","postal":"PH","formal_en":"Republic of the Philippines","formal_fr":null,"name_ciawf":"Philippines","note_adm0":null,"note_brk":null,"name_sort":"Philippines","name_alt":null,"mapcolor7":3,"mapcolor8":2,"mapcolor9":2,"mapcolor13":8,"pop_est":108116615,"pop_rank":17,"pop_year":2019,"gdp_md":376795,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"4. Lower middle income","fips_10":"RP","iso_a2":"PH","iso_a2_eh":"PH","iso_a3":"PHL","iso_a3_eh":"PHL","iso_n3":"608","iso_n3_eh":"608","un_a3":"608","wb_a2":"PH","wb_a3":"PHL","woe_id":23424934,"woe_id_eh":23424934,"woe_note":"Exact WOE match as country","adm0_iso":"PHL","adm0_diff":null,"adm0_tlc":"PHL","adm0_a3_us":"PHL","adm0_a3_fr":"PHL","adm0_a3_ru":"PHL","adm0_a3_es":"PHL","adm0_a3_cn":"PHL","adm0_a3_tw":"PHL","adm0_a3_in":"PHL","adm0_a3_np":"PHL","adm0_a3_pk":"PHL","adm0_a3_de":"PHL","adm0_a3_gb":"PHL","adm0_a3_br":"PHL","adm0_a3_il":"PHL","adm0_a3_ps":"PHL","adm0_a3_sa":"PHL","adm0_a3_eg":"PHL","adm0_a3_ma":"PHL","adm0_a3_pt":"PHL","adm0_a3_ar":"PHL","adm0_a3_jp":"PHL","adm0_a3_ko":"PHL","adm0_a3_vn":"PHL","adm0_a3_tr":"PHL","adm0_a3_id":"PHL","adm0_a3_pl":"PHL","adm0_a3_gr":"PHL","adm0_a3_it":"PHL","adm0_a3_nl":"PHL","adm0_a3_se":"PHL","adm0_a3_bd":"PHL","adm0_a3_ua":"PHL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"South-Eastern Asia","region_wb":"East Asia & Pacific","name_len":11,"long_len":11,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.5,"max_label":7,"label_x":122.465,"label_y":11.198,"ne_id":1159321169,"wikidataid":"Q928","name_ar":"الفلبين","name_bn":"ফিলিপাইন","name_de":"Philippinen","name_en":"Philippines","name_es":"Filipinas","name_fa":"فیلیپین","name_fr":"Philippines","name_el":"Φιλιππίνες","name_he":"הפיליפינים","name_hi":"फ़िलीपीन्स","name_hu":"Fülöp-szigetek","name_id":"Filipina","name_it":"Filippine","name_ja":"フィリピン","name_ko":"필리핀","name_nl":"Filipijnen","name_pl":"Filipiny","name_pt":"Filipinas","name_ru":"Филиппины","name_sv":"Filippinerna","name_tr":"Filipinler","name_uk":"Філіппіни","name_ur":"فلپائن","name_vi":"Philippines","name_zh":"菲律宾","name_zht":"菲律賓","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"PHL.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[120.83389611214656,12.704496161342433],[120.32343631396745,13.466413479053825],[121.18012820850211,13.429697373910443],[121.5273938335035,13.06959015548452],[121.26219038298159,12.205560207564403],[120.83389611214656,12.704496161342433]]],[[[122.5860889018671,9.981044826696134],[122.83708133350875,10.261156927934225],[122.9474105164519,10.88186839440806],[123.49884972543845,10.94062449792392],[123.33777428598472,10.267383938025404],[124.0779358257012,11.232725531453738],[123.98243777882584,10.278778591345755],[123.62318322153271,9.950090643753299],[123.30992068897939,9.318268744336706],[122.99588300994166,9.022188625520414],[122.38005496631942,9.713360907424217],[122.5860889018671,9.981044826696134]]],[[[126.37681359263745,8.414706325713297],[126.47851281138789,7.750354112168978],[126.53742394420061,7.189380601424545],[126.19677290253259,6.274294338400054],[125.83142052622907,7.293715318221842],[125.36385216685221,6.786485297060949],[125.68316084198369,6.049656887227272],[125.39651167206063,5.581003322772276],[124.21978763234239,6.161355495626154],[123.9387195171069,6.885135606306136],[124.24366214406128,7.360610459823661],[123.61021243702749,7.83352732994274],[123.29607140512519,7.418875637232759],[122.82550581267537,7.457374579290204],[122.08549930225573,6.899424139834836],[121.91992801319256,7.192119452336015],[122.31235884001705,8.034962063016465],[122.94239790251959,8.316236883981134],[123.48768761606347,8.69300975182118],[123.84115441293983,8.240324204944372],[124.60146976125021,8.514157619659002],[124.76461225799562,8.960409450715488],[125.47139082245155,8.986996975129657],[125.41211795461277,9.760334784377534],[126.2227144715431,9.286074327018866],[126.30663699758514,8.78248749433456],[126.37681359263745,8.414706325713297]]],[[[118.50458092659036,9.316382554558047],[117.17427453010066,8.367499904814679],[117.66447716682137,9.066888739452892],[118.38691369026175,9.68449961998921],[118.98734215706105,10.376292019080523],[119.51149620979751,11.3696680770272],[119.68967654833989,10.554291490109875],[119.02945844937892,10.003653265823829],[118.50458092659036,9.316382554558047]]],[[[122.336956821788,18.224882717354106],[122.17427941293317,17.810282701076403],[122.5156539246533,17.093504746971973],[122.25231082569393,16.26244436285407],[121.66278608610821,15.931017564350142],[121.50506961475342,15.124813544164622],[121.7288285665772,14.328376369682275],[122.25892540902726,14.21820221603599],[122.70127566944569,14.336541245984378],[123.9502950379403,13.782130642141027],[123.85510704965867,13.237771104378425],[124.18128869028493,12.9975273706535],[124.0774190613783,12.536676947474575],[123.29803510955225,13.02752553959894],[122.92865197152994,13.552919826710422],[122.6713550151487,13.185836289925092],[122.03464969288052,13.784481919810304],[121.12638471891857,13.636687323455547],[120.62863732308324,13.857655747935596],[120.67938357959386,14.271015529838294],[120.99181928923053,14.52539276779504],[120.69333621631267,14.756670640517312],[120.56414513558299,14.396279201713796],[120.07042850146644,14.970869452367126],[119.92092858284605,15.406346747290739],[119.88377322802819,16.363704331929995],[120.28648766487875,16.034628811095345],[120.39004723519167,17.599081122299523],[120.71586714079191,18.505227362537525],[121.32130822152351,18.504064642810945],[121.9376013530364,18.218552354398355],[122.24600630095429,18.478949896717097],[122.336956821788,18.224882717354106]]],[[[122.03837039600555,11.415840969279998],[121.88354780485909,11.891755072471994],[122.48382124236149,11.582187404827538],[123.12021650603594,11.583660183147856],[123.10083784392646,11.16593374271649],[122.63771365772669,10.74130849857417],[122.00261030485957,10.441016750526089],[121.96736697803652,10.905691229694625],[122.03837039600555,11.415840969279998]]],[[[125.50255171112354,12.162694606978292],[125.78346479706221,11.046121934447783],[125.01188398651226,11.311454576050409],[125.03276126515817,10.975816148314692],[125.27744917206019,10.358722032101284],[124.80181928924577,10.134678859899864],[124.76016808481853,10.837995103392258],[124.45910119028605,10.889929917845592],[124.30252160044171,11.495370998577187],[124.89101281138153,11.415582587118536],[124.87799035044401,11.794189968304947],[124.26676150929569,12.557760931849671],[125.22711632700788,12.53572093347718],[125.50255171112354,12.162694606978292]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Sri Lanka","sov_a3":"LKA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Sri Lanka","adm0_a3":"LKA","geou_dif":0,"geounit":"Sri Lanka","gu_a3":"LKA","su_dif":0,"subunit":"Sri Lanka","su_a3":"LKA","brk_diff":0,"name":"Sri Lanka","name_long":"Sri Lanka","brk_a3":"LKA","brk_name":"Sri Lanka","brk_group":null,"abbrev":"Sri L.","postal":"LK","formal_en":"Democratic Socialist Republic of Sri Lanka","formal_fr":null,"name_ciawf":"Sri Lanka","note_adm0":null,"note_brk":null,"name_sort":"Sri Lanka","name_alt":null,"mapcolor7":3,"mapcolor8":5,"mapcolor9":4,"mapcolor13":9,"pop_est":21803000,"pop_rank":15,"pop_year":2019,"gdp_md":84008,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"CE","iso_a2":"LK","iso_a2_eh":"LK","iso_a3":"LKA","iso_a3_eh":"LKA","iso_n3":"144","iso_n3_eh":"144","un_a3":"144","wb_a2":"LK","wb_a3":"LKA","woe_id":23424778,"woe_id_eh":23424778,"woe_note":"Exact WOE match as country","adm0_iso":"LKA","adm0_diff":null,"adm0_tlc":"LKA","adm0_a3_us":"LKA","adm0_a3_fr":"LKA","adm0_a3_ru":"LKA","adm0_a3_es":"LKA","adm0_a3_cn":"LKA","adm0_a3_tw":"LKA","adm0_a3_in":"LKA","adm0_a3_np":"LKA","adm0_a3_pk":"LKA","adm0_a3_de":"LKA","adm0_a3_gb":"LKA","adm0_a3_br":"LKA","adm0_a3_il":"LKA","adm0_a3_ps":"LKA","adm0_a3_sa":"LKA","adm0_a3_eg":"LKA","adm0_a3_ma":"LKA","adm0_a3_pt":"LKA","adm0_a3_ar":"LKA","adm0_a3_jp":"LKA","adm0_a3_ko":"LKA","adm0_a3_vn":"LKA","adm0_a3_tr":"LKA","adm0_a3_id":"LKA","adm0_a3_pl":"LKA","adm0_a3_gr":"LKA","adm0_a3_it":"LKA","adm0_a3_nl":"LKA","adm0_a3_se":"LKA","adm0_a3_bd":"LKA","adm0_a3_ua":"LKA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Southern Asia","region_wb":"South Asia","name_len":9,"long_len":9,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":80.704823,"label_y":7.581097,"ne_id":1159321025,"wikidataid":"Q854","name_ar":"سريلانكا","name_bn":"শ্রীলঙ্কা","name_de":"Sri Lanka","name_en":"Sri Lanka","name_es":"Sri Lanka","name_fa":"سریلانکا","name_fr":"Sri Lanka","name_el":"Σρι Λάνκα","name_he":"סרי לנקה","name_hi":"श्रीलंका","name_hu":"Srí Lanka","name_id":"Sri Lanka","name_it":"Sri Lanka","name_ja":"スリランカ","name_ko":"스리랑카","name_nl":"Sri Lanka","name_pl":"Sri Lanka","name_pt":"Sri Lanka","name_ru":"Шри-Ланка","name_sv":"Sri Lanka","name_tr":"Sri Lanka","name_uk":"Шрі-Ланка","name_ur":"سری لنکا","name_vi":"Sri Lanka","name_zh":"斯里兰卡","name_zht":"斯里蘭卡","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"LKA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[81.7879590188914,7.523055324733164],[81.63732221876059,6.481775214051922],[81.21801964714433,6.197141424988288],[80.34835696810441,5.968369859232155],[79.87246870312853,6.76346344647493],[79.69516686393513,8.200843410673386],[80.14780073437964,9.824077663609557],[80.83881798698656,9.268426825391188],[81.30431928907177,8.56420624433369],[81.7879590188914,7.523055324733164]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Taiwan","sov_a3":"TWN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Taiwan","adm0_a3":"TWN","geou_dif":0,"geounit":"Taiwan","gu_a3":"TWN","su_dif":0,"subunit":"Taiwan","su_a3":"TWN","brk_diff":0,"name":"Taiwan","name_long":"Taiwan","brk_a3":"TWN","brk_name":"Taiwan","brk_group":null,"abbrev":"Taiwan","postal":"TW","formal_en":null,"formal_fr":null,"name_ciawf":"Taiwan","note_adm0":null,"note_brk":"Self admin.; Claimed by China","name_sort":"Taiwan","name_alt":null,"mapcolor7":1,"mapcolor8":5,"mapcolor9":7,"mapcolor13":2,"pop_est":23568378,"pop_rank":15,"pop_year":2020,"gdp_md":1127000,"gdp_year":2016,"economy":"2. Developed region: nonG7","income_grp":"2. High income: nonOECD","fips_10":"TW","iso_a2":"CN-TW","iso_a2_eh":"TW","iso_a3":"TWN","iso_a3_eh":"TWN","iso_n3":"158","iso_n3_eh":"158","un_a3":"-099","wb_a2":"-99","wb_a3":"-99","woe_id":23424971,"woe_id_eh":23424971,"woe_note":"Exact WOE match as country","adm0_iso":"TWN","adm0_diff":null,"adm0_tlc":"TWN","adm0_a3_us":"TWN","adm0_a3_fr":"TWN","adm0_a3_ru":"CHN","adm0_a3_es":"TWN","adm0_a3_cn":"CHN","adm0_a3_tw":"TWN","adm0_a3_in":"TWN","adm0_a3_np":"CHN","adm0_a3_pk":"CHN","adm0_a3_de":"TWN","adm0_a3_gb":"TWN","adm0_a3_br":"TWN","adm0_a3_il":"TWN","adm0_a3_ps":"TWN","adm0_a3_sa":"TWN","adm0_a3_eg":"CHN","adm0_a3_ma":"CHN","adm0_a3_pt":"TWN","adm0_a3_ar":"TWN","adm0_a3_jp":"TWN","adm0_a3_ko":"TWN","adm0_a3_vn":"TWN","adm0_a3_tr":"TWN","adm0_a3_id":"CHN","adm0_a3_pl":"TWN","adm0_a3_gr":"TWN","adm0_a3_it":"TWN","adm0_a3_nl":"TWN","adm0_a3_se":"TWN","adm0_a3_bd":"CHN","adm0_a3_ua":"TWN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Eastern Asia","region_wb":"East Asia & Pacific","name_len":6,"long_len":6,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4.5,"max_label":8,"label_x":120.868204,"label_y":23.652408,"ne_id":1159321335,"wikidataid":"Q865","name_ar":"تايوان","name_bn":"তাইওয়ান","name_de":"Republik China","name_en":"Taiwan","name_es":"República de China","name_fa":"تایوان","name_fr":"Taïwan","name_el":"Δημοκρατία της Κίνας","name_he":"טאיוואן","name_hi":"चीनी गणराज्य","name_hu":"Kínai Köztársaság","name_id":"Taiwan","name_it":"Taiwan","name_ja":"中華民国","name_ko":"중화민국","name_nl":"Taiwan","name_pl":"Republika Chińska","name_pt":"Taiwan","name_ru":"Тайвань","name_sv":"Taiwan","name_tr":"Çin Cumhuriyeti","name_uk":"Республіка Китай","name_ur":"تائیوان","name_vi":"Đài Loan","name_zh":"中华民国","name_zht":"中華民國","fclass_iso":"Admin-1 states provinces","tlc_diff":"1","fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":"Admin-1 states provinces","fclass_tw":"Admin-0 country","fclass_in":null,"fclass_np":"Admin-1 states provinces","fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":"Admin-1 states provinces","fclass_ma":"Admin-1 states provinces","fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":"Admin-1 states provinces","fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":"Admin-1 states provinces","fclass_ua":null,"filename":"TWN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[121.77781782438993,24.3942735865194],[121.17563235889274,22.790857245367167],[120.74707970589623,21.970571397382113],[120.22008344938368,22.81486094816674],[120.1061885926124,23.556262722258236],[120.69467980355225,24.538450832613737],[121.49504438688878,25.295458889257386],[121.95124393116146,24.997595933527037],[121.77781782438993,24.3942735865194]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Japan","sov_a3":"JPN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Japan","adm0_a3":"JPN","geou_dif":0,"geounit":"Japan","gu_a3":"JPN","su_dif":0,"subunit":"Japan","su_a3":"JPN","brk_diff":0,"name":"Japan","name_long":"Japan","brk_a3":"JPN","brk_name":"Japan","brk_group":null,"abbrev":"Japan","postal":"J","formal_en":"Japan","formal_fr":null,"name_ciawf":"Japan","note_adm0":null,"note_brk":null,"name_sort":"Japan","name_alt":null,"mapcolor7":5,"mapcolor8":3,"mapcolor9":5,"mapcolor13":4,"pop_est":126264931,"pop_rank":17,"pop_year":2019,"gdp_md":5081769,"gdp_year":2019,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","fips_10":"JA","iso_a2":"JP","iso_a2_eh":"JP","iso_a3":"JPN","iso_a3_eh":"JPN","iso_n3":"392","iso_n3_eh":"392","un_a3":"392","wb_a2":"JP","wb_a3":"JPN","woe_id":23424856,"woe_id_eh":23424856,"woe_note":"Exact WOE match as country","adm0_iso":"JPN","adm0_diff":null,"adm0_tlc":"JPN","adm0_a3_us":"JPN","adm0_a3_fr":"JPN","adm0_a3_ru":"JPN","adm0_a3_es":"JPN","adm0_a3_cn":"JPN","adm0_a3_tw":"JPN","adm0_a3_in":"JPN","adm0_a3_np":"JPN","adm0_a3_pk":"JPN","adm0_a3_de":"JPN","adm0_a3_gb":"JPN","adm0_a3_br":"JPN","adm0_a3_il":"JPN","adm0_a3_ps":"JPN","adm0_a3_sa":"JPN","adm0_a3_eg":"JPN","adm0_a3_ma":"JPN","adm0_a3_pt":"JPN","adm0_a3_ar":"JPN","adm0_a3_jp":"JPN","adm0_a3_ko":"JPN","adm0_a3_vn":"JPN","adm0_a3_tr":"JPN","adm0_a3_id":"JPN","adm0_a3_pl":"JPN","adm0_a3_gr":"JPN","adm0_a3_it":"JPN","adm0_a3_nl":"JPN","adm0_a3_se":"JPN","adm0_a3_bd":"JPN","adm0_a3_ua":"JPN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Asia","region_un":"Asia","subregion":"Eastern Asia","region_wb":"East Asia & Pacific","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":7,"label_x":138.44217,"label_y":36.142538,"ne_id":1159320937,"wikidataid":"Q17","name_ar":"اليابان","name_bn":"জাপান","name_de":"Japan","name_en":"Japan","name_es":"Japón","name_fa":"ژاپن","name_fr":"Japon","name_el":"Ιαπωνία","name_he":"יפן","name_hi":"जापान","name_hu":"Japán","name_id":"Jepang","name_it":"Giappone","name_ja":"日本","name_ko":"일본","name_nl":"Japan","name_pl":"Japonia","name_pt":"Japão","name_ru":"Япония","name_sv":"Japan","name_tr":"Japonya","name_uk":"Японія","name_ur":"جاپان","name_vi":"Nhật Bản","name_zh":"日本","name_zht":"日本","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"JPN.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[141.88460086483497,39.180864569651476],[140.95948937394581,38.17400096287662],[140.97638756730527,37.14207428644019],[140.5997697287621,36.3439834661245],[140.77407433488258,35.842877102190215],[140.2532792502451,35.138113918593646],[138.9755277853962,34.66760000257614],[137.21759891169125,34.60628591566183],[135.79298302626893,33.46480520276663],[135.1209827007454,33.849071153289],[135.0794348491827,34.596544908174806],[133.34031619683202,34.375938218720805],[132.15677086805124,33.90493337659652],[130.98614464734345,33.88576142021624],[132.00003624890996,33.149992377244544],[131.33279015515734,31.450354519164822],[130.686317987186,31.029579169228246],[130.2024198752049,31.418237616495432],[130.44767622286213,32.319474595665696],[129.81469160371893,32.61030955660436],[129.40846316947255,33.29605581311752],[130.35393517468464,33.60415070244167],[130.87845096244718,34.23274282484002],[131.8842293641439,34.74971385348792],[132.61767296766243,35.433393052709405],[134.6083008159777,35.731617743465804],[135.67753787652885,35.52713410088687],[136.72383060114242,37.304984239240326],[137.39061160700447,36.82739065199884],[138.8576021669062,37.82748464614346],[139.42640465714283,38.21596222589761],[140.054790073812,39.43880748143637],[139.88337934789985,40.56331248632368],[140.30578250545364,41.19500519465953],[141.3689734234266,41.378559882160275],[141.91426313697048,39.991616115878685],[141.88460086483497,39.180864569651476]]],[[[144.61342654843963,43.96088288021748],[145.32082523008307,44.38473297787541],[145.5431372418027,43.26208832455062],[144.05966189999987,42.98835826270056],[143.18384972551723,41.9952147486992],[141.6114909201724,42.6787905950561],[141.06728641170668,41.58459381770797],[139.955106235921,41.56955597591103],[139.81754357315998,42.563758856774385],[140.31208703019325,43.33327261003269],[141.38054894426,43.38882477474644],[141.67195234595386,44.77212535255146],[141.96764489152798,45.55148346616134],[143.14287031470974,44.51035838477697],[143.91016198137947,44.17409983985374],[144.61342654843963,43.96088288021748]]],[[[132.37117638563024,33.46364248304006],[132.92437259331473,34.06029857028204],[133.4929683778222,33.94462087659667],[133.90410607313635,34.36493113864263],[134.63842817600386,34.149233710256354],[134.76637902235854,33.80633474378362],[134.2034159689709,33.20117788342964],[133.79295006727654,33.5219851750976],[133.28026818250885,33.28957042086489],[133.0148580262578,32.70456736910474],[132.36311486219267,32.989382025681394],[132.37117638563024,33.46364248304006]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Chile","sov_a3":"CHL","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Chile","adm0_a3":"CHL","geou_dif":0,"geounit":"Chile","gu_a3":"CHL","su_dif":0,"subunit":"Chile","su_a3":"CHL","brk_diff":0,"name":"Chile","name_long":"Chile","brk_a3":"CHL","brk_name":"Chile","brk_group":null,"abbrev":"Chile","postal":"CL","formal_en":"Republic of Chile","formal_fr":null,"name_ciawf":"Chile","note_adm0":null,"note_brk":null,"name_sort":"Chile","name_alt":null,"mapcolor7":5,"mapcolor8":1,"mapcolor9":5,"mapcolor13":9,"pop_est":18952038,"pop_rank":14,"pop_year":2019,"gdp_md":282318,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"3. Upper middle income","fips_10":"CI","iso_a2":"CL","iso_a2_eh":"CL","iso_a3":"CHL","iso_a3_eh":"CHL","iso_n3":"152","iso_n3_eh":"152","un_a3":"152","wb_a2":"CL","wb_a3":"CHL","woe_id":23424782,"woe_id_eh":23424782,"woe_note":"Exact WOE match as country","adm0_iso":"CHL","adm0_diff":null,"adm0_tlc":"CHL","adm0_a3_us":"CHL","adm0_a3_fr":"CHL","adm0_a3_ru":"CHL","adm0_a3_es":"CHL","adm0_a3_cn":"CHL","adm0_a3_tw":"CHL","adm0_a3_in":"CHL","adm0_a3_np":"CHL","adm0_a3_pk":"CHL","adm0_a3_de":"CHL","adm0_a3_gb":"CHL","adm0_a3_br":"CHL","adm0_a3_il":"CHL","adm0_a3_ps":"CHL","adm0_a3_sa":"CHL","adm0_a3_eg":"CHL","adm0_a3_ma":"CHL","adm0_a3_pt":"CHL","adm0_a3_ar":"CHL","adm0_a3_jp":"CHL","adm0_a3_ko":"CHL","adm0_a3_vn":"CHL","adm0_a3_tr":"CHL","adm0_a3_id":"CHL","adm0_a3_pl":"CHL","adm0_a3_gr":"CHL","adm0_a3_it":"CHL","adm0_a3_nl":"CHL","adm0_a3_se":"CHL","adm0_a3_bd":"CHL","adm0_a3_ua":"CHL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":6.7,"label_x":-72.318871,"label_y":-38.151771,"ne_id":1159320493,"wikidataid":"Q298","name_ar":"تشيلي","name_bn":"চিলি","name_de":"Chile","name_en":"Chile","name_es":"Chile","name_fa":"شیلی","name_fr":"Chili","name_el":"Χιλή","name_he":"צ'ילה","name_hi":"चिली","name_hu":"Chile","name_id":"Chili","name_it":"Cile","name_ja":"チリ","name_ko":"칠레","name_nl":"Chili","name_pl":"Chile","name_pt":"Chile","name_ru":"Чили","name_sv":"Chile","name_tr":"Şili","name_uk":"Чилі","name_ur":"چلی","name_vi":"Chile","name_zh":"智利","name_zht":"智利","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"CHL.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-68.63401022758323,-52.63637045887449],[-68.63335,-54.8695],[-67.56244,-54.87001],[-66.95992,-54.89681],[-67.29103,-55.30124],[-68.14863,-55.61183],[-68.63999081081187,-55.58001799908692],[-69.2321,-55.49906],[-69.95809,-55.19843],[-71.00568,-55.05383],[-72.2639,-54.49514],[-73.2852,-53.95752],[-74.66253,-52.83749],[-73.8381,-53.04743],[-72.43418,-53.7154],[-71.10773,-54.07433],[-70.59177999999986,-53.61583],[-70.26748,-52.93123],[-69.34565,-52.5183],[-68.63401022758323,-52.63637045887449]]],[[[-69.59042375352405,-17.580011895419332],[-69.10024695501949,-18.260125420812678],[-68.96681840684187,-18.981683444904107],[-68.44222510443092,-19.40506845467143],[-68.75716712103375,-20.372657972904463],[-68.21991309271128,-21.494346612231865],[-67.82817989772273,-22.872918796482175],[-67.1066735500636,-22.735924574476417],[-66.9852339341777,-22.98634856536284],[-67.32844295924417,-24.02530323659095],[-68.41765296087614,-24.51855478281688],[-68.38600114609736,-26.185016371365215],[-68.59479977077268,-26.506908868111296],[-68.29554155137043,-26.89933969493578],[-69.00123491074825,-27.52121388113618],[-69.65613033718317,-28.459141127233686],[-70.01355038112992,-29.367922865518572],[-69.91900834825194,-30.33633920666828],[-70.53506893581951,-31.36501026787031],[-70.0743993801536,-33.09120981214805],[-69.81477698431922,-33.273886000299825],[-69.81730912950152,-34.1935714657983],[-70.38804948594913,-35.16968759535949],[-70.36476925320164,-36.00508879978992],[-71.12188066270987,-36.65812387466232],[-71.11862504747549,-37.57682748794724],[-70.81466427273469,-38.55299529394074],[-71.41351660834906,-38.91602223079114],[-71.68076127794649,-39.808164157878046],[-71.91573401557763,-40.83233936947069],[-71.7468037584155,-42.05138640723598],[-72.14889807807856,-42.254888197601375],[-71.91542395698389,-43.40856454851745],[-71.46405615913051,-43.787611179378345],[-71.79362260607193,-44.207172133156064],[-71.32980078803622,-44.407521661151655],[-71.22277889675976,-44.784242852559416],[-71.65931555854536,-44.973688653341426],[-71.55200944689128,-45.5607329241771],[-71.91725847033024,-46.88483814879177],[-72.44735531278027,-47.73853281025352],[-72.33116085477201,-48.2442383766618],[-72.64824744331494,-48.87861825947683],[-73.4154357571201,-49.31843637471297],[-73.32805091011453,-50.378785088909915],[-72.97574683296469,-50.741450290734285],[-72.30997351753234,-50.67700977966632],[-72.32940385607407,-51.42595631287243],[-71.91480383979638,-52.0090223058659],[-69.49836218939609,-52.14276091263727],[-68.57154537624133,-52.299443855346226],[-69.46128434922667,-52.29195077266391],[-69.9427795071062,-52.53793059037322],[-70.8451016913546,-52.89920052852571],[-71.00633216010525,-53.83325204220132],[-71.429794684521,-53.85645476030037],[-72.55794287788488,-53.53141000118449],[-73.7027567206629,-52.835069268607235],[-73.7027567206629,-52.835070076051494],[-74.94676347522517,-52.262753588419],[-75.2600260077785,-51.62935475037325],[-74.97663245308988,-51.0433956846157],[-75.47975419788355,-50.37837167745158],[-75.60801510283198,-48.67377288187184],[-75.18276974150216,-47.7119194476232],[-74.1265809801047,-46.93925343199511],[-75.64439531116545,-46.64764332457207],[-74.69215369332312,-45.76397633238103],[-74.35170935738425,-44.10304412208794],[-73.24035600451522,-44.454960625995604],[-72.7178039211798,-42.38335580827898],[-73.38889990913822,-42.117532240569574],[-73.70133561877488,-43.365776462579774],[-74.33194312203261,-43.22495818458442],[-74.0179571194272,-41.79481292090683],[-73.67709937202999,-39.94221282324317],[-73.21759253609065,-39.25868865331856],[-73.50555945503712,-38.282882582351114],[-73.58806087919109,-37.15628468195598],[-73.1667170884993,-37.12378020604439],[-72.55313696968174,-35.50884002049106],[-71.86173214383263,-33.90909270603153],[-71.4384504869299,-32.41889942803078],[-71.66872066922247,-30.920644626592495],[-71.37008256700773,-30.09568206148503],[-71.48989437527645,-28.861442152625923],[-70.90512386746161,-27.640379734001247],[-70.72495398627599,-25.705924167587256],[-70.40396582709502,-23.628996677344574],[-70.09124589708074,-21.39331918710126],[-70.16441972520605,-19.756468194256165],[-70.37257239447771,-18.34797535570887],[-69.85844356960587,-18.092693780187012],[-69.59042375352405,-17.580011895419332]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Bolivia","sov_a3":"BOL","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Bolivia","adm0_a3":"BOL","geou_dif":0,"geounit":"Bolivia","gu_a3":"BOL","su_dif":0,"subunit":"Bolivia","su_a3":"BOL","brk_diff":0,"name":"Bolivia","name_long":"Bolivia","brk_a3":"BOL","brk_name":"Bolivia","brk_group":null,"abbrev":"Bolivia","postal":"BO","formal_en":"Plurinational State of Bolivia","formal_fr":null,"name_ciawf":"Bolivia","note_adm0":null,"note_brk":null,"name_sort":"Bolivia","name_alt":null,"mapcolor7":1,"mapcolor8":5,"mapcolor9":2,"mapcolor13":3,"pop_est":11513100,"pop_rank":14,"pop_year":2019,"gdp_md":40895,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"4. Lower middle income","fips_10":"BL","iso_a2":"BO","iso_a2_eh":"BO","iso_a3":"BOL","iso_a3_eh":"BOL","iso_n3":"068","iso_n3_eh":"068","un_a3":"068","wb_a2":"BO","wb_a3":"BOL","woe_id":23424762,"woe_id_eh":23424762,"woe_note":"Exact WOE match as country","adm0_iso":"BOL","adm0_diff":null,"adm0_tlc":"BOL","adm0_a3_us":"BOL","adm0_a3_fr":"BOL","adm0_a3_ru":"BOL","adm0_a3_es":"BOL","adm0_a3_cn":"BOL","adm0_a3_tw":"BOL","adm0_a3_in":"BOL","adm0_a3_np":"BOL","adm0_a3_pk":"BOL","adm0_a3_de":"BOL","adm0_a3_gb":"BOL","adm0_a3_br":"BOL","adm0_a3_il":"BOL","adm0_a3_ps":"BOL","adm0_a3_sa":"BOL","adm0_a3_eg":"BOL","adm0_a3_ma":"BOL","adm0_a3_pt":"BOL","adm0_a3_ar":"BOL","adm0_a3_jp":"BOL","adm0_a3_ko":"BOL","adm0_a3_vn":"BOL","adm0_a3_tr":"BOL","adm0_a3_id":"BOL","adm0_a3_pl":"BOL","adm0_a3_gr":"BOL","adm0_a3_it":"BOL","adm0_a3_nl":"BOL","adm0_a3_se":"BOL","adm0_a3_bd":"BOL","adm0_a3_ua":"BOL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":7,"long_len":7,"abbrev_len":7,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":7.5,"label_x":-64.593433,"label_y":-16.666015,"ne_id":1159320439,"wikidataid":"Q750","name_ar":"بوليفيا","name_bn":"বলিভিয়া","name_de":"Bolivien","name_en":"Bolivia","name_es":"Bolivia","name_fa":"بولیوی","name_fr":"Bolivie","name_el":"Βολιβία","name_he":"בוליביה","name_hi":"बोलिविया","name_hu":"Bolívia","name_id":"Bolivia","name_it":"Bolivia","name_ja":"ボリビア","name_ko":"볼리비아","name_nl":"Bolivia","name_pl":"Boliwia","name_pt":"Bolívia","name_ru":"Боливия","name_sv":"Bolivia","name_tr":"Bolivya","name_uk":"Болівія","name_ur":"بولیویا","name_vi":"Bolivia","name_zh":"玻利维亚","name_zht":"玻利維亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BOL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-69.52967810736496,-10.951734307502194],[-68.78615759954948,-11.03638030359628],[-68.27125362819326,-11.01452117273682],[-68.04819230820539,-10.712059014532485],[-67.17380123561074,-10.306812432499612],[-66.6469083319628,-9.931331475466862],[-65.33843522811642,-9.761987806846392],[-65.44483700220539,-10.511451104375432],[-65.32189876978302,-10.895872084194679],[-65.40228146021303,-11.566270440317155],[-64.3163529120316,-12.461978041232193],[-63.19649878605057,-12.627032565972435],[-62.803060268796386,-13.000653171442686],[-62.127080857986385,-13.198780612849724],[-61.71320431176078,-13.489202162330052],[-61.08412126325565,-13.479383640194598],[-60.503304002511136,-13.775954685117659],[-60.45919816755003,-14.354007256734555],[-60.26432634137737,-14.645979099183641],[-60.251148851142936,-15.07721892665932],[-60.54296566429515,-15.093910414289596],[-60.158389655179036,-16.258283786690086],[-58.24121985536668,-16.299573256091293],[-58.38805843772404,-16.877109063385276],[-58.28080400250225,-17.271710300366017],[-57.734558274961,-17.55246835700777],[-57.49837114117099,-18.174187513911292],[-57.67600887717431,-18.96183969490403],[-57.949997321185826,-19.40000416430682],[-57.85380164247451,-19.96999521248619],[-58.166392381408045,-20.176700941653678],[-58.183471442280506,-19.868399346600363],[-59.11504248720611,-19.3569060197754],[-60.04356462262649,-19.342746677327426],[-61.78632646345377,-19.633736667562964],[-62.2659612697708,-20.513734633061276],[-62.291179368729225,-21.051634616787393],[-62.685057135657885,-22.249029229422387],[-62.84646847192156,-22.03498544686945],[-63.986838141522476,-21.99364430103595],[-64.37702104354226,-22.79809132252354],[-64.96489213729461,-22.075861504812327],[-66.27333940292485,-21.83231047942072],[-67.1066735500636,-22.735924574476417],[-67.82817989772273,-22.872918796482175],[-68.21991309271128,-21.494346612231865],[-68.75716712103375,-20.372657972904463],[-68.44222510443092,-19.40506845467143],[-68.96681840684187,-18.981683444904107],[-69.10024695501949,-18.260125420812678],[-69.59042375352405,-17.580011895419332],[-68.9596353827533,-16.50069793057127],[-69.38976416693471,-15.660129082911652],[-69.16034664577495,-15.323973890853019],[-69.33953467474701,-14.953195489158832],[-68.9488866848366,-14.453639418193283],[-68.92922380234954,-13.602683607643009],[-68.88007951523997,-12.899729099176653],[-68.66507971868963,-12.561300144097173],[-69.52967810736496,-10.951734307502194]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Peru","sov_a3":"PER","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Peru","adm0_a3":"PER","geou_dif":0,"geounit":"Peru","gu_a3":"PER","su_dif":0,"subunit":"Peru","su_a3":"PER","brk_diff":0,"name":"Peru","name_long":"Peru","brk_a3":"PER","brk_name":"Peru","brk_group":null,"abbrev":"Peru","postal":"PE","formal_en":"Republic of Peru","formal_fr":null,"name_ciawf":"Peru","note_adm0":null,"note_brk":null,"name_sort":"Peru","name_alt":null,"mapcolor7":4,"mapcolor8":4,"mapcolor9":4,"mapcolor13":11,"pop_est":32510453,"pop_rank":15,"pop_year":2019,"gdp_md":226848,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"3. Upper middle income","fips_10":"PE","iso_a2":"PE","iso_a2_eh":"PE","iso_a3":"PER","iso_a3_eh":"PER","iso_n3":"604","iso_n3_eh":"604","un_a3":"604","wb_a2":"PE","wb_a3":"PER","woe_id":23424919,"woe_id_eh":23424919,"woe_note":"Exact WOE match as country","adm0_iso":"PER","adm0_diff":null,"adm0_tlc":"PER","adm0_a3_us":"PER","adm0_a3_fr":"PER","adm0_a3_ru":"PER","adm0_a3_es":"PER","adm0_a3_cn":"PER","adm0_a3_tw":"PER","adm0_a3_in":"PER","adm0_a3_np":"PER","adm0_a3_pk":"PER","adm0_a3_de":"PER","adm0_a3_gb":"PER","adm0_a3_br":"PER","adm0_a3_il":"PER","adm0_a3_ps":"PER","adm0_a3_sa":"PER","adm0_a3_eg":"PER","adm0_a3_ma":"PER","adm0_a3_pt":"PER","adm0_a3_ar":"PER","adm0_a3_jp":"PER","adm0_a3_ko":"PER","adm0_a3_vn":"PER","adm0_a3_tr":"PER","adm0_a3_id":"PER","adm0_a3_pl":"PER","adm0_a3_gr":"PER","adm0_a3_it":"PER","adm0_a3_nl":"PER","adm0_a3_se":"PER","adm0_a3_bd":"PER","adm0_a3_ua":"PER","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":4,"long_len":4,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2,"max_label":7,"label_x":-72.90016,"label_y":-12.976679,"ne_id":1159321163,"wikidataid":"Q419","name_ar":"بيرو","name_bn":"পেরু","name_de":"Peru","name_en":"Peru","name_es":"Perú","name_fa":"پرو","name_fr":"Pérou","name_el":"Περού","name_he":"פרו","name_hi":"पेरू","name_hu":"Peru","name_id":"Peru","name_it":"Perù","name_ja":"ペルー","name_ko":"페루","name_nl":"Peru","name_pl":"Peru","name_pt":"Peru","name_ru":"Перу","name_sv":"Peru","name_tr":"Peru","name_uk":"Перу","name_ur":"پیرو","name_vi":"Peru","name_zh":"秘鲁","name_zht":"秘魯","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"PER.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-69.89363521999663,-4.298186944194327],[-70.7947688463023,-4.251264743673303],[-70.92884334988358,-4.401591485210368],[-71.74840572781655,-4.593982842633011],[-72.89192765978726,-5.274561455916981],[-72.9645072089412,-5.741251315944893],[-73.21971126981461,-6.089188734566078],[-73.1200274319236,-6.629930922068239],[-73.72448666044164,-6.91859547285064],[-73.7234014553635,-7.340998630404414],[-73.98723548042966,-7.523829847853065],[-73.57105933296707,-8.424446709835834],[-73.01538265653255,-9.032833347208062],[-73.22671342639016,-9.462212823121234],[-72.56303300646564,-9.520193780152717],[-72.18489071316985,-10.053597914269432],[-71.30241227892154,-10.079436130415374],[-70.48189388699117,-9.490118096558845],[-70.54868567572841,-11.009146823778465],[-70.0937522040469,-11.123971856331012],[-69.52967810736496,-10.951734307502194],[-68.66507971868963,-12.561300144097173],[-68.88007951523997,-12.899729099176653],[-68.92922380234954,-13.602683607643009],[-68.9488866848366,-14.453639418193283],[-69.33953467474701,-14.953195489158832],[-69.16034664577495,-15.323973890853019],[-69.38976416693471,-15.660129082911652],[-68.9596353827533,-16.50069793057127],[-69.59042375352405,-17.580011895419332],[-69.85844356960587,-18.092693780187012],[-70.37257239447771,-18.34797535570887],[-71.37525021023693,-17.773798516513857],[-71.46204077827113,-17.363487644116383],[-73.44452958850042,-16.359362888252996],[-75.23788265654144,-15.265682875227782],[-76.00920508492995,-14.649286390850321],[-76.42346920439775,-13.823186944232432],[-76.25924150257417,-13.535039157772943],[-77.10619238962184,-12.22271615972082],[-78.09215287953464,-10.377712497604065],[-79.03695309112695,-8.386567884965892],[-79.44592037628485,-7.93083342858386],[-79.76057817251005,-7.194340915560084],[-80.53748165558608,-6.541667575713717],[-81.24999630402642,-6.136834405139183],[-80.92634680858244,-5.690556735866565],[-81.41094255239946,-4.736764825055459],[-81.09966956248937,-4.036394138203697],[-80.30256059438722,-3.404856459164713],[-80.18401485870967,-3.821161797708044],[-80.46929460317695,-4.059286797708999],[-80.44224199087216,-4.425724379090674],[-80.02890804718561,-4.346090996928893],[-79.62497921417618,-4.454198093283495],[-79.20528906931773,-4.959128513207389],[-78.63989722361234,-4.547784112164074],[-78.45068396677564,-3.873096612161376],[-77.83790483265861,-3.003020521663103],[-76.63539425322672,-2.608677666843818],[-75.54499569365204,-1.56160979574588],[-75.23372270374195,-0.911416924649529],[-75.37322323271385,-0.15203175212045],[-75.10662451852008,-0.05720549886486],[-74.44160051135597,-0.530820000819887],[-74.12239518908906,-1.002832533373848],[-73.6595035468346,-1.260491224781134],[-73.07039221870724,-2.308954359550953],[-72.32578650581365,-2.434218031426454],[-71.7747607082854,-2.169789727388938],[-71.41364579942979,-2.342802422702128],[-70.81347571479196,-2.256864515800743],[-70.04770850287485,-2.725156345229699],[-70.69268205430971,-3.742872002785859],[-70.39404395209499,-3.766591485207825],[-69.89363521999663,-4.298186944194327]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Argentina","sov_a3":"ARG","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Argentina","adm0_a3":"ARG","geou_dif":0,"geounit":"Argentina","gu_a3":"ARG","su_dif":0,"subunit":"Argentina","su_a3":"ARG","brk_diff":0,"name":"Argentina","name_long":"Argentina","brk_a3":"ARG","brk_name":"Argentina","brk_group":null,"abbrev":"Arg.","postal":"AR","formal_en":"Argentine Republic","formal_fr":null,"name_ciawf":"Argentina","note_adm0":null,"note_brk":null,"name_sort":"Argentina","name_alt":null,"mapcolor7":3,"mapcolor8":1,"mapcolor9":3,"mapcolor13":13,"pop_est":44938712,"pop_rank":15,"pop_year":2019,"gdp_md":445445,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"3. Upper middle income","fips_10":"AR","iso_a2":"AR","iso_a2_eh":"AR","iso_a3":"ARG","iso_a3_eh":"ARG","iso_n3":"032","iso_n3_eh":"032","un_a3":"032","wb_a2":"AR","wb_a3":"ARG","woe_id":23424747,"woe_id_eh":23424747,"woe_note":"Exact WOE match as country","adm0_iso":"ARG","adm0_diff":null,"adm0_tlc":"ARG","adm0_a3_us":"ARG","adm0_a3_fr":"ARG","adm0_a3_ru":"ARG","adm0_a3_es":"ARG","adm0_a3_cn":"ARG","adm0_a3_tw":"ARG","adm0_a3_in":"ARG","adm0_a3_np":"ARG","adm0_a3_pk":"ARG","adm0_a3_de":"ARG","adm0_a3_gb":"ARG","adm0_a3_br":"ARG","adm0_a3_il":"ARG","adm0_a3_ps":"ARG","adm0_a3_sa":"ARG","adm0_a3_eg":"ARG","adm0_a3_ma":"ARG","adm0_a3_pt":"ARG","adm0_a3_ar":"ARG","adm0_a3_jp":"ARG","adm0_a3_ko":"ARG","adm0_a3_vn":"ARG","adm0_a3_tr":"ARG","adm0_a3_id":"ARG","adm0_a3_pl":"ARG","adm0_a3_gr":"ARG","adm0_a3_it":"ARG","adm0_a3_nl":"ARG","adm0_a3_se":"ARG","adm0_a3_bd":"ARG","adm0_a3_ua":"ARG","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":9,"long_len":9,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2,"max_label":7,"label_x":-64.173331,"label_y":-33.501159,"ne_id":1159320331,"wikidataid":"Q414","name_ar":"الأرجنتين","name_bn":"আর্জেন্টিনা","name_de":"Argentinien","name_en":"Argentina","name_es":"Argentina","name_fa":"آرژانتین","name_fr":"Argentine","name_el":"Αργεντινή","name_he":"ארגנטינה","name_hi":"अर्जेण्टीना","name_hu":"Argentína","name_id":"Argentina","name_it":"Argentina","name_ja":"アルゼンチン","name_ko":"아르헨티나","name_nl":"Argentinië","name_pl":"Argentyna","name_pt":"Argentina","name_ru":"Аргентина","name_sv":"Argentina","name_tr":"Arjantin","name_uk":"Аргентина","name_ur":"ارجنٹائن","name_vi":"Argentina","name_zh":"阿根廷","name_zht":"阿根廷","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ARG.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-68.63401022758323,-52.63637045887449],[-68.25,-53.1],[-67.75,-53.85],[-66.45,-54.45],[-65.05,-54.7],[-65.5,-55.2],[-66.45,-55.25],[-66.95992,-54.89681],[-67.56244,-54.87001],[-68.63335,-54.8695],[-68.63401022758323,-52.63637045887449]]],[[[-57.62513342958296,-30.21629485445426],[-57.87493730328188,-31.016556084926208],[-58.14244035504076,-32.044503676076154],[-58.13264767112145,-33.040566908502015],[-58.349611172098875,-33.26318897881541],[-58.42707414410439,-33.909454441057576],[-58.49544206402655,-34.43148976007008],[-57.22582963726366,-35.28802662530788],[-57.36235877137878,-35.977390232081476],[-56.73748735210545,-36.41312590916655],[-56.78828528504836,-36.901571547189334],[-57.74915686708346,-38.18387053807989],[-59.23185706240189,-38.720220228837235],[-61.23744523786564,-38.9284245745412],[-62.33595699731013,-38.827707208004334],[-62.125763108962936,-39.42410491308485],[-62.330530971919494,-40.17258635840034],[-62.145994432205214,-40.67689666113672],[-62.745802781816984,-41.0287614886121],[-63.77049475773255,-41.16678923926369],[-64.73208980981973,-40.80267709733515],[-65.11803524439158,-41.06431487402891],[-64.97856055363582,-42.05800099056934],[-64.3034079657425,-42.35901620866951],[-63.75594784204239,-42.043686618824495],[-63.458059048095876,-42.563138116222405],[-64.37880388045633,-42.87355844499969],[-65.18180396183975,-43.495380954767796],[-65.32882341171013,-44.501366062193696],[-65.5652689276616,-45.036785577169795],[-66.50996578638934,-45.03962778094586],[-67.29379391139247,-45.55189625425519],[-67.58054643418008,-46.30177296324257],[-66.59706641301729,-47.033924655953825],[-65.64102657740149,-47.23613453551193],[-65.98508826360079,-48.133289076531135],[-67.16617896184769,-48.697337334996945],[-67.81608761256643,-49.86966887797038],[-68.72874508327321,-50.26421843851883],[-69.13853919134777,-50.732510267947795],[-68.81556148952356,-51.771104011594126],[-68.14999487982038,-52.34998340612768],[-68.57154537624133,-52.299443855346226],[-69.49836218939609,-52.14276091263727],[-71.91480383979638,-52.0090223058659],[-72.32940385607407,-51.42595631287243],[-72.30997351753234,-50.67700977966632],[-72.97574683296469,-50.741450290734285],[-73.32805091011453,-50.378785088909915],[-73.4154357571201,-49.31843637471297],[-72.64824744331494,-48.87861825947683],[-72.33116085477201,-48.2442383766618],[-72.44735531278027,-47.73853281025352],[-71.91725847033024,-46.88483814879177],[-71.55200944689128,-45.5607329241771],[-71.65931555854536,-44.973688653341426],[-71.22277889675976,-44.784242852559416],[-71.32980078803622,-44.407521661151655],[-71.79362260607193,-44.207172133156064],[-71.46405615913051,-43.787611179378345],[-71.91542395698389,-43.40856454851745],[-72.14889807807856,-42.254888197601375],[-71.7468037584155,-42.05138640723598],[-71.91573401557763,-40.83233936947069],[-71.68076127794649,-39.808164157878046],[-71.41351660834906,-38.91602223079114],[-70.81466427273469,-38.55299529394074],[-71.11862504747549,-37.57682748794724],[-71.12188066270987,-36.65812387466232],[-70.36476925320164,-36.00508879978992],[-70.38804948594913,-35.16968759535949],[-69.81730912950152,-34.1935714657983],[-69.81477698431922,-33.273886000299825],[-70.0743993801536,-33.09120981214805],[-70.53506893581951,-31.36501026787031],[-69.91900834825194,-30.33633920666828],[-70.01355038112992,-29.367922865518572],[-69.65613033718317,-28.459141127233686],[-69.00123491074825,-27.52121388113618],[-68.29554155137043,-26.89933969493578],[-68.59479977077268,-26.506908868111296],[-68.38600114609736,-26.185016371365215],[-68.41765296087614,-24.51855478281688],[-67.32844295924417,-24.02530323659095],[-66.9852339341777,-22.98634856536284],[-67.1066735500636,-22.735924574476417],[-66.27333940292485,-21.83231047942072],[-64.96489213729461,-22.075861504812327],[-64.37702104354226,-22.79809132252354],[-63.986838141522476,-21.99364430103595],[-62.84646847192156,-22.03498544686945],[-62.685057135657885,-22.249029229422387],[-60.846564704009914,-23.880712579038292],[-60.02896603050403,-24.032796319273274],[-58.80712846539498,-24.77145924245331],[-57.77721716981794,-25.16233977630904],[-57.63366004091113,-25.60365650808164],[-58.61817359071975,-27.123718763947096],[-57.60975969097614,-27.395898532828387],[-56.486701626192996,-27.548499037386293],[-55.69584550639816,-27.387837009390864],[-54.78879492859505,-26.621785577096134],[-54.625290696823576,-25.739255466415514],[-54.13004960795439,-25.547639255477254],[-53.628348965048744,-26.124865004177472],[-53.64873531758789,-26.92347258881609],[-54.490725267135524,-27.47475676850579],[-55.16228634298457,-27.881915378533463],[-56.29089962423908,-28.852760512000895],[-57.62513342958296,-30.21629485445426]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Suriname","sov_a3":"SUR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Suriname","adm0_a3":"SUR","geou_dif":0,"geounit":"Suriname","gu_a3":"SUR","su_dif":0,"subunit":"Suriname","su_a3":"SUR","brk_diff":0,"name":"Suriname","name_long":"Suriname","brk_a3":"SUR","brk_name":"Suriname","brk_group":null,"abbrev":"Sur.","postal":"SR","formal_en":"Republic of Suriname","formal_fr":null,"name_ciawf":"Suriname","note_adm0":null,"note_brk":null,"name_sort":"Suriname","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":7,"mapcolor13":6,"pop_est":581363,"pop_rank":11,"pop_year":2019,"gdp_md":3697,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"NS","iso_a2":"SR","iso_a2_eh":"SR","iso_a3":"SUR","iso_a3_eh":"SUR","iso_n3":"740","iso_n3_eh":"740","un_a3":"740","wb_a2":"SR","wb_a3":"SUR","woe_id":23424913,"woe_id_eh":23424913,"woe_note":"Exact WOE match as country","adm0_iso":"SUR","adm0_diff":null,"adm0_tlc":"SUR","adm0_a3_us":"SUR","adm0_a3_fr":"SUR","adm0_a3_ru":"SUR","adm0_a3_es":"SUR","adm0_a3_cn":"SUR","adm0_a3_tw":"SUR","adm0_a3_in":"SUR","adm0_a3_np":"SUR","adm0_a3_pk":"SUR","adm0_a3_de":"SUR","adm0_a3_gb":"SUR","adm0_a3_br":"SUR","adm0_a3_il":"SUR","adm0_a3_ps":"SUR","adm0_a3_sa":"SUR","adm0_a3_eg":"SUR","adm0_a3_ma":"SUR","adm0_a3_pt":"SUR","adm0_a3_ar":"SUR","adm0_a3_jp":"SUR","adm0_a3_ko":"SUR","adm0_a3_vn":"SUR","adm0_a3_tr":"SUR","adm0_a3_id":"SUR","adm0_a3_pl":"SUR","adm0_a3_gr":"SUR","adm0_a3_it":"SUR","adm0_a3_nl":"SUR","adm0_a3_se":"SUR","adm0_a3_bd":"SUR","adm0_a3_ua":"SUR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":8,"long_len":8,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":-55.91094,"label_y":4.143987,"ne_id":1159321281,"wikidataid":"Q730","name_ar":"سورينام","name_bn":"সুরিনাম","name_de":"Suriname","name_en":"Suriname","name_es":"Surinam","name_fa":"سورینام","name_fr":"Suriname","name_el":"Σουρινάμ","name_he":"סורינאם","name_hi":"सूरीनाम","name_hu":"Suriname","name_id":"Suriname","name_it":"Suriname","name_ja":"スリナム","name_ko":"수리남","name_nl":"Suriname","name_pl":"Surinam","name_pt":"Suriname","name_ru":"Суринам","name_sv":"Surinam","name_tr":"Surinam","name_uk":"Суринам","name_ur":"سرینام","name_vi":"Suriname","name_zh":"苏里南","name_zht":"蘇利南","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SUR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-54.524754197799716,2.311848863123785],[-55.09758744975514,2.523748073736613],[-55.569755011606,2.421506252447131],[-55.973322109589375,2.510363877773017],[-56.0733418442903,2.220794989425499],[-55.905600145070885,2.02199575439866],[-55.995698004771754,1.817667141116601],[-56.539385748914555,1.899522609866921],[-57.15009782573991,2.768926906745406],[-57.28143347840971,3.333491929534119],[-57.60156897645787,3.334654649260685],[-58.04469438336068,4.060863552258382],[-57.8602095200787,4.57680105226045],[-57.91428890647214,4.812626451024414],[-57.307245856339506,5.073566595882227],[-57.14743648947689,5.973149929219161],[-55.9493184067898,5.772877915872002],[-55.841779751190415,5.95312531170606],[-55.033250291551774,6.025291449401664],[-53.9580446030709,5.756548163267765],[-54.47863298197923,4.896755682795586],[-54.399542202356514,4.212611395683467],[-54.00693050801901,3.620037746592558],[-54.181726040246275,3.189779771330421],[-54.2697051662232,2.732391669115046],[-54.524754197799716,2.311848863123785]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Guyana","sov_a3":"GUY","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Guyana","adm0_a3":"GUY","geou_dif":0,"geounit":"Guyana","gu_a3":"GUY","su_dif":0,"subunit":"Guyana","su_a3":"GUY","brk_diff":0,"name":"Guyana","name_long":"Guyana","brk_a3":"GUY","brk_name":"Guyana","brk_group":null,"abbrev":"Guy.","postal":"GY","formal_en":"Co-operative Republic of Guyana","formal_fr":null,"name_ciawf":"Guyana","note_adm0":null,"note_brk":null,"name_sort":"Guyana","name_alt":null,"mapcolor7":3,"mapcolor8":1,"mapcolor9":4,"mapcolor13":8,"pop_est":782766,"pop_rank":11,"pop_year":2019,"gdp_md":5173,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"GY","iso_a2":"GY","iso_a2_eh":"GY","iso_a3":"GUY","iso_a3_eh":"GUY","iso_n3":"328","iso_n3_eh":"328","un_a3":"328","wb_a2":"GY","wb_a3":"GUY","woe_id":23424836,"woe_id_eh":23424836,"woe_note":"Exact WOE match as country","adm0_iso":"GUY","adm0_diff":null,"adm0_tlc":"GUY","adm0_a3_us":"GUY","adm0_a3_fr":"GUY","adm0_a3_ru":"GUY","adm0_a3_es":"GUY","adm0_a3_cn":"GUY","adm0_a3_tw":"GUY","adm0_a3_in":"GUY","adm0_a3_np":"GUY","adm0_a3_pk":"GUY","adm0_a3_de":"GUY","adm0_a3_gb":"GUY","adm0_a3_br":"GUY","adm0_a3_il":"GUY","adm0_a3_ps":"GUY","adm0_a3_sa":"GUY","adm0_a3_eg":"GUY","adm0_a3_ma":"GUY","adm0_a3_pt":"GUY","adm0_a3_ar":"GUY","adm0_a3_jp":"GUY","adm0_a3_ko":"GUY","adm0_a3_vn":"GUY","adm0_a3_tr":"GUY","adm0_a3_id":"GUY","adm0_a3_pl":"GUY","adm0_a3_gr":"GUY","adm0_a3_it":"GUY","adm0_a3_nl":"GUY","adm0_a3_se":"GUY","adm0_a3_bd":"GUY","adm0_a3_ua":"GUY","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":-58.942643,"label_y":5.124317,"ne_id":1159320817,"wikidataid":"Q734","name_ar":"غيانا","name_bn":"গায়ানা","name_de":"Guyana","name_en":"Guyana","name_es":"Guyana","name_fa":"گویان","name_fr":"Guyana","name_el":"Γουιάνα","name_he":"גיאנה","name_hi":"गयाना","name_hu":"Guyana","name_id":"Guyana","name_it":"Guyana","name_ja":"ガイアナ","name_ko":"가이아나","name_nl":"Guyana","name_pl":"Gujana","name_pt":"Guiana","name_ru":"Гайана","name_sv":"Guyana","name_tr":"Guyana","name_uk":"Гаяна","name_ur":"گیانا","name_vi":"Guyana","name_zh":"圭亚那","name_zht":"圭亞那","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"GUY.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-56.539385748914555,1.899522609866921],[-56.78270423036083,1.863710842288654],[-57.335822923396904,1.948537705895759],[-57.66097103537737,1.682584947105639],[-58.11344987652502,1.507195135907025],[-58.429477098205965,1.463941962078721],[-58.540012986878295,1.268088283692521],[-59.03086157900265,1.317697658692722],[-59.64604366722126,1.786893825686789],[-59.71854570172675,2.24963043864436],[-59.97452490908456,2.755232652188056],[-59.815413174057866,3.606498521332085],[-59.53803992373123,3.958802598481938],[-59.767405768458715,4.423502915866607],[-60.11100236676738,4.574966538914083],[-59.980958624904886,5.014061184098139],[-60.21368343773133,5.244486395687602],[-60.73357418480372,5.200277207861901],[-61.410302903881956,5.959068101419618],[-61.13941504580795,6.234296779806144],[-61.15933631045648,6.696077378766319],[-60.54399919294099,6.856584377464883],[-60.2956680975624,7.043911444522919],[-60.637972785063766,7.414999904810855],[-60.5505879380582,7.779602972846178],[-59.758284878159195,8.367034816924047],[-59.10168412945866,7.999201971870492],[-58.48296220562806,7.347691351750697],[-58.45487606467742,6.832787380394464],[-58.078103196837375,6.809093736188643],[-57.542218593970645,6.321268215353356],[-57.14743648947689,5.973149929219161],[-57.307245856339506,5.073566595882227],[-57.91428890647214,4.812626451024414],[-57.8602095200787,4.57680105226045],[-58.04469438336068,4.060863552258382],[-57.60156897645787,3.334654649260685],[-57.28143347840971,3.333491929534119],[-57.15009782573991,2.768926906745406],[-56.539385748914555,1.899522609866921]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Brazil","sov_a3":"BRA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Brazil","adm0_a3":"BRA","geou_dif":0,"geounit":"Brazil","gu_a3":"BRA","su_dif":0,"subunit":"Brazil","su_a3":"BRA","brk_diff":0,"name":"Brazil","name_long":"Brazil","brk_a3":"BRA","brk_name":"Brazil","brk_group":null,"abbrev":"Brazil","postal":"BR","formal_en":"Federative Republic of Brazil","formal_fr":null,"name_ciawf":"Brazil","note_adm0":null,"note_brk":null,"name_sort":"Brazil","name_alt":null,"mapcolor7":5,"mapcolor8":6,"mapcolor9":5,"mapcolor13":7,"pop_est":211049527,"pop_rank":17,"pop_year":2019,"gdp_md":1839758,"gdp_year":2019,"economy":"3. Emerging region: BRIC","income_grp":"3. Upper middle income","fips_10":"BR","iso_a2":"BR","iso_a2_eh":"BR","iso_a3":"BRA","iso_a3_eh":"BRA","iso_n3":"076","iso_n3_eh":"076","un_a3":"076","wb_a2":"BR","wb_a3":"BRA","woe_id":23424768,"woe_id_eh":23424768,"woe_note":"Exact WOE match as country","adm0_iso":"BRA","adm0_diff":null,"adm0_tlc":"BRA","adm0_a3_us":"BRA","adm0_a3_fr":"BRA","adm0_a3_ru":"BRA","adm0_a3_es":"BRA","adm0_a3_cn":"BRA","adm0_a3_tw":"BRA","adm0_a3_in":"BRA","adm0_a3_np":"BRA","adm0_a3_pk":"BRA","adm0_a3_de":"BRA","adm0_a3_gb":"BRA","adm0_a3_br":"BRA","adm0_a3_il":"BRA","adm0_a3_ps":"BRA","adm0_a3_sa":"BRA","adm0_a3_eg":"BRA","adm0_a3_ma":"BRA","adm0_a3_pt":"BRA","adm0_a3_ar":"BRA","adm0_a3_jp":"BRA","adm0_a3_ko":"BRA","adm0_a3_vn":"BRA","adm0_a3_tr":"BRA","adm0_a3_id":"BRA","adm0_a3_pl":"BRA","adm0_a3_gr":"BRA","adm0_a3_it":"BRA","adm0_a3_nl":"BRA","adm0_a3_se":"BRA","adm0_a3_bd":"BRA","adm0_a3_ua":"BRA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":6,"long_len":6,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":5.7,"label_x":-49.55945,"label_y":-12.098687,"ne_id":1159320441,"wikidataid":"Q155","name_ar":"البرازيل","name_bn":"ব্রাজিল","name_de":"Brasilien","name_en":"Brazil","name_es":"Brasil","name_fa":"برزیل","name_fr":"Brésil","name_el":"Βραζιλία","name_he":"ברזיל","name_hi":"ब्राज़ील","name_hu":"Brazília","name_id":"Brasil","name_it":"Brasile","name_ja":"ブラジル","name_ko":"브라질","name_nl":"Brazilië","name_pl":"Brazylia","name_pt":"Brasil","name_ru":"Бразилия","name_sv":"Brasilien","name_tr":"Brezilya","name_uk":"Бразилія","name_ur":"برازیل","name_vi":"Brasil","name_zh":"巴西","name_zht":"巴西","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BRA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-53.373661668498244,-33.768377780900764],[-53.6505439927181,-33.20200408298183],[-53.209588995971544,-32.727666110974724],[-53.78795162618219,-32.047242526987624],[-54.57245154480512,-31.494511407193748],[-55.601510179249345,-30.853878676071393],[-55.97324459494094,-30.883075860316303],[-56.976025763564735,-30.109686374636127],[-57.62513342958296,-30.21629485445426],[-56.29089962423908,-28.852760512000895],[-55.16228634298457,-27.881915378533463],[-54.490725267135524,-27.47475676850579],[-53.64873531758789,-26.92347258881609],[-53.628348965048744,-26.124865004177472],[-54.13004960795439,-25.547639255477254],[-54.625290696823576,-25.739255466415514],[-54.42894609233059,-25.162184747012166],[-54.29347632507745,-24.570799655863965],[-54.29295956075452,-24.02101409271073],[-54.65283423523513,-23.83957813893396],[-55.02790178080955,-24.00127369557523],[-55.40074723979542,-23.956935316668805],[-55.517639329639636,-23.571997572526637],[-55.610682745981144,-22.655619398694846],[-55.79795813660691,-22.356929620047822],[-56.47331743022939,-22.086300144135283],[-56.8815095689029,-22.28215382252148],[-57.937155727761294,-22.090175876557172],[-57.8706739976178,-20.73268767668195],[-58.166392381408045,-20.176700941653678],[-57.85380164247451,-19.96999521248619],[-57.949997321185826,-19.40000416430682],[-57.67600887717431,-18.96183969490403],[-57.49837114117099,-18.174187513911292],[-57.734558274961,-17.55246835700777],[-58.28080400250225,-17.271710300366017],[-58.38805843772404,-16.877109063385276],[-58.24121985536668,-16.299573256091293],[-60.158389655179036,-16.258283786690086],[-60.54296566429515,-15.093910414289596],[-60.251148851142936,-15.07721892665932],[-60.26432634137737,-14.645979099183641],[-60.45919816755003,-14.354007256734555],[-60.503304002511136,-13.775954685117659],[-61.08412126325565,-13.479383640194598],[-61.71320431176078,-13.489202162330052],[-62.127080857986385,-13.198780612849724],[-62.803060268796386,-13.000653171442686],[-63.19649878605057,-12.627032565972435],[-64.3163529120316,-12.461978041232193],[-65.40228146021303,-11.566270440317155],[-65.32189876978302,-10.895872084194679],[-65.44483700220539,-10.511451104375432],[-65.33843522811642,-9.761987806846392],[-66.6469083319628,-9.931331475466862],[-67.17380123561074,-10.306812432499612],[-68.04819230820539,-10.712059014532485],[-68.27125362819326,-11.01452117273682],[-68.78615759954948,-11.03638030359628],[-69.52967810736496,-10.951734307502194],[-70.0937522040469,-11.123971856331012],[-70.54868567572841,-11.009146823778465],[-70.48189388699117,-9.490118096558845],[-71.30241227892154,-10.079436130415374],[-72.18489071316985,-10.053597914269432],[-72.56303300646564,-9.520193780152717],[-73.22671342639016,-9.462212823121234],[-73.01538265653255,-9.032833347208062],[-73.57105933296707,-8.424446709835834],[-73.98723548042966,-7.523829847853065],[-73.7234014553635,-7.340998630404414],[-73.72448666044164,-6.91859547285064],[-73.1200274319236,-6.629930922068239],[-73.21971126981461,-6.089188734566078],[-72.9645072089412,-5.741251315944893],[-72.89192765978726,-5.274561455916981],[-71.74840572781655,-4.593982842633011],[-70.92884334988358,-4.401591485210368],[-70.7947688463023,-4.251264743673303],[-69.89363521999663,-4.298186944194327],[-69.44410193548961,-1.556287123219818],[-69.42048580593223,-1.122618503426409],[-69.5770653957766,-0.549991957200163],[-70.02065589057005,-0.185156345219539],[-70.01556576198931,0.541414292804205],[-69.45239600287246,0.706158758950693],[-69.25243404811906,0.602650865070075],[-69.21863766140018,0.985676581217433],[-69.80459672715773,1.089081122233466],[-69.81697323269162,1.714805202639624],[-67.86856502955884,1.692455145673392],[-67.5378100246747,2.03716278727633],[-67.2599975246736,1.719998684084956],[-67.0650481838525,1.130112209473225],[-66.87632585312258,1.253360500489336],[-66.32576514348496,0.724452215982012],[-65.54826738143757,0.78925446207603],[-65.35471330428837,1.0952822941085],[-64.61101192895987,1.328730576987042],[-64.19930579289051,1.49285492594602],[-64.08308549666609,1.91636912679408],[-63.368788011311665,2.200899562993129],[-63.42286739770512,2.411067613124175],[-64.2699991522658,2.497005520025567],[-64.40882788761792,3.126786200366624],[-64.3684944322141,3.797210394705246],[-64.81606401229402,4.056445217297423],[-64.62865943058755,4.14848094320925],[-63.88834286157416,4.020530096854571],[-63.093197597899106,3.770571193858785],[-62.804533047116706,4.006965033377952],[-62.08542965355913,4.162123521334308],[-60.96689327660154,4.536467596856639],[-60.601179165271944,4.91809804933213],[-60.73357418480372,5.200277207861901],[-60.21368343773133,5.244486395687602],[-59.980958624904886,5.014061184098139],[-60.11100236676738,4.574966538914083],[-59.767405768458715,4.423502915866607],[-59.53803992373123,3.958802598481938],[-59.815413174057866,3.606498521332085],[-59.97452490908456,2.755232652188056],[-59.71854570172675,2.24963043864436],[-59.64604366722126,1.786893825686789],[-59.03086157900265,1.317697658692722],[-58.540012986878295,1.268088283692521],[-58.429477098205965,1.463941962078721],[-58.11344987652502,1.507195135907025],[-57.66097103537737,1.682584947105639],[-57.335822923396904,1.948537705895759],[-56.78270423036083,1.863710842288654],[-56.539385748914555,1.899522609866921],[-55.995698004771754,1.817667141116601],[-55.905600145070885,2.02199575439866],[-56.0733418442903,2.220794989425499],[-55.973322109589375,2.510363877773017],[-55.569755011606,2.421506252447131],[-55.09758744975514,2.523748073736613],[-54.524754197799716,2.311848863123785],[-54.08806250671725,2.105556545414629],[-53.77852067728892,2.376702785650082],[-53.554839240113544,2.334896551925951],[-53.41846513529531,2.053389187015981],[-52.939657151894956,2.124857692875636],[-52.55642473001842,2.504705308437053],[-52.249337531123956,3.241094468596245],[-51.65779741067889,4.156232408053029],[-51.31714636901086,4.203490505383954],[-51.069771287629656,3.650397650564031],[-50.508875291533656,1.901563828942457],[-49.97407589374506,1.736483465986069],[-49.94710079608871,1.046189683431223],[-50.699251268096916,0.222984117021682],[-50.38821082213214,-0.078444512536819],[-48.62056677915632,-0.235489190271821],[-48.58449662941659,-1.237805271005001],[-47.824956427590635,-0.5816179337628],[-46.566583624851226,-0.941027520352776],[-44.905703090990414,-1.551739597178134],[-44.417619187993665,-2.137750339367976],[-44.58158850765578,-2.691308282078524],[-43.418791266440195,-2.383110039889793],[-41.47265682632825,-2.912018324397116],[-39.97866533055404,-2.873054294449041],[-38.50038347019657,-3.700652357603396],[-37.2232521225352,-4.820945733258917],[-36.45293738457639,-5.109403578312154],[-35.59779578301047,-5.149504489770649],[-35.23538896334756,-5.464937432480247],[-34.89602983248683,-6.738193047719711],[-34.729993455533034,-7.343220716992967],[-35.12821204277422,-8.996401462442286],[-35.636966518687714,-9.649281508017815],[-37.046518724097,-11.040721123908803],[-37.68361161960736,-12.171194756725823],[-38.42387651218844,-13.038118584854288],[-38.67388709161652,-13.057652276260619],[-38.953275722802545,-13.793369642800023],[-38.88229814304965,-15.667053724838768],[-39.16109249526431,-17.208406670808472],[-39.2673392400564,-17.867746270420483],[-39.58352149103423,-18.262295830968938],[-39.76082333022764,-19.59911345792741],[-40.77474077001034,-20.904511814052423],[-40.94475623225061,-21.93731698983781],[-41.754164191238225,-22.370675551037458],[-41.98828426773656,-22.970070489190896],[-43.07470374202475,-22.96769337330547],[-44.64781185563781,-23.351959323827842],[-45.35213578955992,-23.796841729428582],[-46.47209326840554,-24.088968601174543],[-47.64897233742066,-24.885199069927722],[-48.4954581365777,-25.877024834905654],[-48.64100480812774,-26.623697605090932],[-48.474735887228654,-27.17591196056189],[-48.661520351747626,-28.18613453543572],[-48.8884574041574,-28.674115085567884],[-49.587329474472675,-29.224469089476337],[-50.696874152211485,-30.98446502047296],[-51.576226162306156,-31.77769825615321],[-52.256081305538046,-32.24536996839467],[-52.712099982297694,-33.19657805759118],[-53.373661668498244,-33.768377780900764]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Uruguay","sov_a3":"URY","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Uruguay","adm0_a3":"URY","geou_dif":0,"geounit":"Uruguay","gu_a3":"URY","su_dif":0,"subunit":"Uruguay","su_a3":"URY","brk_diff":0,"name":"Uruguay","name_long":"Uruguay","brk_a3":"URY","brk_name":"Uruguay","brk_group":null,"abbrev":"Ury.","postal":"UY","formal_en":"Oriental Republic of Uruguay","formal_fr":null,"name_ciawf":"Uruguay","note_adm0":null,"note_brk":null,"name_sort":"Uruguay","name_alt":null,"mapcolor7":1,"mapcolor8":2,"mapcolor9":2,"mapcolor13":10,"pop_est":3461734,"pop_rank":12,"pop_year":2019,"gdp_md":56045,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"3. Upper middle income","fips_10":"UY","iso_a2":"UY","iso_a2_eh":"UY","iso_a3":"URY","iso_a3_eh":"URY","iso_n3":"858","iso_n3_eh":"858","un_a3":"858","wb_a2":"UY","wb_a3":"URY","woe_id":23424979,"woe_id_eh":23424979,"woe_note":"Exact WOE match as country","adm0_iso":"URY","adm0_diff":null,"adm0_tlc":"URY","adm0_a3_us":"URY","adm0_a3_fr":"URY","adm0_a3_ru":"URY","adm0_a3_es":"URY","adm0_a3_cn":"URY","adm0_a3_tw":"URY","adm0_a3_in":"URY","adm0_a3_np":"URY","adm0_a3_pk":"URY","adm0_a3_de":"URY","adm0_a3_gb":"URY","adm0_a3_br":"URY","adm0_a3_il":"URY","adm0_a3_ps":"URY","adm0_a3_sa":"URY","adm0_a3_eg":"URY","adm0_a3_ma":"URY","adm0_a3_pt":"URY","adm0_a3_ar":"URY","adm0_a3_jp":"URY","adm0_a3_ko":"URY","adm0_a3_vn":"URY","adm0_a3_tr":"URY","adm0_a3_id":"URY","adm0_a3_pl":"URY","adm0_a3_gr":"URY","adm0_a3_it":"URY","adm0_a3_nl":"URY","adm0_a3_se":"URY","adm0_a3_bd":"URY","adm0_a3_ua":"URY","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":-55.966942,"label_y":-32.961127,"ne_id":1159321353,"wikidataid":"Q77","name_ar":"الأوروغواي","name_bn":"উরুগুয়ে","name_de":"Uruguay","name_en":"Uruguay","name_es":"Uruguay","name_fa":"اروگوئه","name_fr":"Uruguay","name_el":"Ουρουγουάη","name_he":"אורוגוואי","name_hi":"उरुग्वे","name_hu":"Uruguay","name_id":"Uruguay","name_it":"Uruguay","name_ja":"ウルグアイ","name_ko":"우루과이","name_nl":"Uruguay","name_pl":"Urugwaj","name_pt":"Uruguai","name_ru":"Уругвай","name_sv":"Uruguay","name_tr":"Uruguay","name_uk":"Уругвай","name_ur":"یوراگوئے","name_vi":"Uruguay","name_zh":"乌拉圭","name_zht":"烏拉圭","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"URY.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-57.62513342958296,-30.21629485445426],[-56.976025763564735,-30.109686374636127],[-55.97324459494094,-30.883075860316303],[-55.601510179249345,-30.853878676071393],[-54.57245154480512,-31.494511407193748],[-53.78795162618219,-32.047242526987624],[-53.209588995971544,-32.727666110974724],[-53.6505439927181,-33.20200408298183],[-53.373661668498244,-33.768377780900764],[-53.806425950726535,-34.39681487400223],[-54.93586605489773,-34.952646579733624],[-55.67408972840329,-34.75265878676407],[-56.21529700379607,-34.85983570733742],[-57.1396850246331,-34.430456231424245],[-57.81786068381551,-34.4625472958775],[-58.42707414410439,-33.909454441057576],[-58.349611172098875,-33.26318897881541],[-58.13264767112145,-33.040566908502015],[-58.14244035504076,-32.044503676076154],[-57.87493730328188,-31.016556084926208],[-57.62513342958296,-30.21629485445426]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Ecuador","sov_a3":"ECU","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Ecuador","adm0_a3":"ECU","geou_dif":0,"geounit":"Ecuador","gu_a3":"ECU","su_dif":0,"subunit":"Ecuador","su_a3":"ECU","brk_diff":0,"name":"Ecuador","name_long":"Ecuador","brk_a3":"ECU","brk_name":"Ecuador","brk_group":null,"abbrev":"Ecu.","postal":"EC","formal_en":"Republic of Ecuador","formal_fr":null,"name_ciawf":"Ecuador","note_adm0":null,"note_brk":null,"name_sort":"Ecuador","name_alt":null,"mapcolor7":1,"mapcolor8":5,"mapcolor9":2,"mapcolor13":12,"pop_est":17373662,"pop_rank":14,"pop_year":2019,"gdp_md":107435,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"EC","iso_a2":"EC","iso_a2_eh":"EC","iso_a3":"ECU","iso_a3_eh":"ECU","iso_n3":"218","iso_n3_eh":"218","un_a3":"218","wb_a2":"EC","wb_a3":"ECU","woe_id":23424801,"woe_id_eh":23424801,"woe_note":"Exact WOE match as country","adm0_iso":"ECU","adm0_diff":null,"adm0_tlc":"ECU","adm0_a3_us":"ECU","adm0_a3_fr":"ECU","adm0_a3_ru":"ECU","adm0_a3_es":"ECU","adm0_a3_cn":"ECU","adm0_a3_tw":"ECU","adm0_a3_in":"ECU","adm0_a3_np":"ECU","adm0_a3_pk":"ECU","adm0_a3_de":"ECU","adm0_a3_gb":"ECU","adm0_a3_br":"ECU","adm0_a3_il":"ECU","adm0_a3_ps":"ECU","adm0_a3_sa":"ECU","adm0_a3_eg":"ECU","adm0_a3_ma":"ECU","adm0_a3_pt":"ECU","adm0_a3_ar":"ECU","adm0_a3_jp":"ECU","adm0_a3_ko":"ECU","adm0_a3_vn":"ECU","adm0_a3_tr":"ECU","adm0_a3_id":"ECU","adm0_a3_pl":"ECU","adm0_a3_gr":"ECU","adm0_a3_it":"ECU","adm0_a3_nl":"ECU","adm0_a3_se":"ECU","adm0_a3_bd":"ECU","adm0_a3_ua":"ECU","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":-78.188375,"label_y":-1.259076,"ne_id":1159320567,"wikidataid":"Q736","name_ar":"الإكوادور","name_bn":"ইকুয়েডর","name_de":"Ecuador","name_en":"Ecuador","name_es":"Ecuador","name_fa":"اکوادور","name_fr":"Équateur","name_el":"Εκουαδόρ","name_he":"אקוודור","name_hi":"ईक्वाडोर","name_hu":"Ecuador","name_id":"Ekuador","name_it":"Ecuador","name_ja":"エクアドル","name_ko":"에콰도르","name_nl":"Ecuador","name_pl":"Ekwador","name_pt":"Equador","name_ru":"Эквадор","name_sv":"Ecuador","name_tr":"Ekvador","name_uk":"Еквадор","name_ur":"ایکواڈور","name_vi":"Ecuador","name_zh":"厄瓜多尔","name_zht":"厄瓜多爾","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ECU.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-75.37322323271385,-0.15203175212045],[-75.23372270374195,-0.911416924649529],[-75.54499569365204,-1.56160979574588],[-76.63539425322672,-2.608677666843818],[-77.83790483265861,-3.003020521663103],[-78.45068396677564,-3.873096612161376],[-78.63989722361234,-4.547784112164074],[-79.20528906931773,-4.959128513207389],[-79.62497921417618,-4.454198093283495],[-80.02890804718561,-4.346090996928893],[-80.44224199087216,-4.425724379090674],[-80.46929460317695,-4.059286797708999],[-80.18401485870967,-3.821161797708044],[-80.30256059438722,-3.404856459164713],[-79.77029334178093,-2.65751189535964],[-79.98655921092242,-2.220794366061014],[-80.36878394236925,-2.685158786635788],[-80.96776546906436,-2.246942640800704],[-80.76480628123804,-1.965047702648533],[-80.93365902375172,-1.057454522306358],[-80.58337032746127,-0.906662692878683],[-80.39932471385376,-0.283703301600141],[-80.02089820018037,0.360340074053468],[-80.09060970734211,0.768428859862397],[-79.5427620103998,0.982937730305963],[-78.85525875518871,1.380923773601822],[-77.85506140817952,0.809925034992773],[-77.66861284047044,0.825893052570962],[-77.4249843004304,0.395686753741117],[-76.5763797675494,0.256935533037435],[-76.29231441924097,0.416047268064119],[-75.8014658271166,0.084801337073202],[-75.37322323271385,-0.15203175212045]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Colombia","sov_a3":"COL","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Colombia","adm0_a3":"COL","geou_dif":0,"geounit":"Colombia","gu_a3":"COL","su_dif":0,"subunit":"Colombia","su_a3":"COL","brk_diff":0,"name":"Colombia","name_long":"Colombia","brk_a3":"COL","brk_name":"Colombia","brk_group":null,"abbrev":"Col.","postal":"CO","formal_en":"Republic of Colombia","formal_fr":null,"name_ciawf":"Colombia","note_adm0":null,"note_brk":null,"name_sort":"Colombia","name_alt":null,"mapcolor7":2,"mapcolor8":1,"mapcolor9":3,"mapcolor13":1,"pop_est":50339443,"pop_rank":16,"pop_year":2019,"gdp_md":323615,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"CO","iso_a2":"CO","iso_a2_eh":"CO","iso_a3":"COL","iso_a3_eh":"COL","iso_n3":"170","iso_n3_eh":"170","un_a3":"170","wb_a2":"CO","wb_a3":"COL","woe_id":23424787,"woe_id_eh":23424787,"woe_note":"Exact WOE match as country","adm0_iso":"COL","adm0_diff":null,"adm0_tlc":"COL","adm0_a3_us":"COL","adm0_a3_fr":"COL","adm0_a3_ru":"COL","adm0_a3_es":"COL","adm0_a3_cn":"COL","adm0_a3_tw":"COL","adm0_a3_in":"COL","adm0_a3_np":"COL","adm0_a3_pk":"COL","adm0_a3_de":"COL","adm0_a3_gb":"COL","adm0_a3_br":"COL","adm0_a3_il":"COL","adm0_a3_ps":"COL","adm0_a3_sa":"COL","adm0_a3_eg":"COL","adm0_a3_ma":"COL","adm0_a3_pt":"COL","adm0_a3_ar":"COL","adm0_a3_jp":"COL","adm0_a3_ko":"COL","adm0_a3_vn":"COL","adm0_a3_tr":"COL","adm0_a3_id":"COL","adm0_a3_pl":"COL","adm0_a3_gr":"COL","adm0_a3_it":"COL","adm0_a3_nl":"COL","adm0_a3_se":"COL","adm0_a3_bd":"COL","adm0_a3_ua":"COL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":8,"long_len":8,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":7,"label_x":-73.174347,"label_y":3.373111,"ne_id":1159320517,"wikidataid":"Q739","name_ar":"كولومبيا","name_bn":"কলম্বিয়া","name_de":"Kolumbien","name_en":"Colombia","name_es":"Colombia","name_fa":"کلمبیا","name_fr":"Colombie","name_el":"Κολομβία","name_he":"קולומביה","name_hi":"कोलम्बिया","name_hu":"Kolumbia","name_id":"Kolombia","name_it":"Colombia","name_ja":"コロンビア","name_ko":"콜롬비아","name_nl":"Colombia","name_pl":"Kolumbia","name_pt":"Colômbia","name_ru":"Колумбия","name_sv":"Colombia","name_tr":"Kolombiya","name_uk":"Колумбія","name_ur":"کولمبیا","name_vi":"Colombia","name_zh":"哥伦比亚","name_zht":"哥倫比亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"COL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-66.87632585312258,1.253360500489336],[-67.0650481838525,1.130112209473225],[-67.2599975246736,1.719998684084956],[-67.5378100246747,2.03716278727633],[-67.86856502955884,1.692455145673392],[-69.81697323269162,1.714805202639624],[-69.80459672715773,1.089081122233466],[-69.21863766140018,0.985676581217433],[-69.25243404811906,0.602650865070075],[-69.45239600287246,0.706158758950693],[-70.01556576198931,0.541414292804205],[-70.02065589057005,-0.185156345219539],[-69.5770653957766,-0.549991957200163],[-69.42048580593223,-1.122618503426409],[-69.44410193548961,-1.556287123219818],[-69.89363521999663,-4.298186944194327],[-70.39404395209499,-3.766591485207825],[-70.69268205430971,-3.742872002785859],[-70.04770850287485,-2.725156345229699],[-70.81347571479196,-2.256864515800743],[-71.41364579942979,-2.342802422702128],[-71.7747607082854,-2.169789727388938],[-72.32578650581365,-2.434218031426454],[-73.07039221870724,-2.308954359550953],[-73.6595035468346,-1.260491224781134],[-74.12239518908906,-1.002832533373848],[-74.44160051135597,-0.530820000819887],[-75.10662451852008,-0.05720549886486],[-75.37322323271385,-0.15203175212045],[-75.8014658271166,0.084801337073202],[-76.29231441924097,0.416047268064119],[-76.5763797675494,0.256935533037435],[-77.4249843004304,0.395686753741117],[-77.66861284047044,0.825893052570962],[-77.85506140817952,0.809925034992773],[-78.85525875518871,1.380923773601822],[-78.99093522817104,1.691369940595251],[-78.61783138702371,1.766404120283056],[-78.66211808949785,2.267355454920477],[-78.42761043975733,2.629555568854215],[-77.93154252797149,2.696605739752926],[-77.51043128122501,3.325016994638247],[-77.12768978545526,3.849636135265357],[-77.49627193877703,4.087606105969428],[-77.3076012844794,4.667984117039452],[-77.53322058786573,5.582811997902497],[-77.31881507028675,5.84535411216136],[-77.47666073272228,6.691116441266303],[-77.88157141794525,7.223771267114785],[-77.7534138658614,7.709839789252143],[-77.43110795765699,7.638061224798734],[-77.24256649444008,7.935278225125444],[-77.47472286651133,8.524286200388218],[-77.35336076527386,8.67050466555807],[-76.83667395700357,8.638749497914716],[-76.08638383655786,9.336820583529487],[-75.67460018584006,9.443248195834599],[-75.66470414905618,9.774003200718738],[-75.48042599150335,10.618990383339309],[-74.90689510771199,11.083044745320322],[-74.27675269234489,11.102035834187587],[-74.1972226630477,11.310472723836867],[-73.41476396350029,11.22701528568548],[-72.62783525255963,11.731971543825523],[-72.23819495307892,11.955549628136326],[-71.75409013536864,12.437303168177309],[-71.3998223537917,12.376040757695293],[-71.13746110704588,12.112981879113505],[-71.3315836249503,11.776284084515808],[-71.97392167833829,11.60867157637712],[-72.22757544624294,11.10870209395324],[-72.61465776232521,10.821975409381778],[-72.9052860175347,10.450344346554772],[-73.02760413276957,9.736770331252444],[-73.30495154488005,9.151999823437606],[-72.7887298245004,9.085027167187334],[-72.6604947577681,8.625287787302682],[-72.43986223009796,8.405275376820029],[-72.36090064155597,8.002638454617895],[-72.47967892117885,7.632506008327354],[-72.44448727078807,7.423784898300482],[-72.19835242378188,7.340430813013683],[-71.96017574734864,6.991614895043539],[-70.67423356798152,7.087784735538719],[-70.09331295437242,6.96037649172311],[-69.38947994655712,6.099860541198836],[-68.98531856960236,6.206804917826858],[-68.26505245631823,6.153268133972475],[-67.69508724635502,6.267318020040647],[-67.34143958196557,6.095468044454023],[-67.52153194850275,5.556870428891969],[-67.74469662135522,5.221128648291668],[-67.82301225449355,4.503937282728899],[-67.62183590358129,3.839481716319995],[-67.33756384954368,3.542342230641722],[-67.30317318385345,3.31845408773718],[-67.8099381171237,2.820655015469569],[-67.44709204778631,2.600280869960869],[-67.18129431829307,2.250638129074062],[-66.87632585312258,1.253360500489336]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Paraguay","sov_a3":"PRY","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Paraguay","adm0_a3":"PRY","geou_dif":0,"geounit":"Paraguay","gu_a3":"PRY","su_dif":0,"subunit":"Paraguay","su_a3":"PRY","brk_diff":0,"name":"Paraguay","name_long":"Paraguay","brk_a3":"PRY","brk_name":"Paraguay","brk_group":null,"abbrev":"Para.","postal":"PY","formal_en":"Republic of Paraguay","formal_fr":null,"name_ciawf":"Paraguay","note_adm0":null,"note_brk":null,"name_sort":"Paraguay","name_alt":null,"mapcolor7":6,"mapcolor8":3,"mapcolor9":6,"mapcolor13":2,"pop_est":7044636,"pop_rank":13,"pop_year":2019,"gdp_md":38145,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"4. Lower middle income","fips_10":"PA","iso_a2":"PY","iso_a2_eh":"PY","iso_a3":"PRY","iso_a3_eh":"PRY","iso_n3":"600","iso_n3_eh":"600","un_a3":"600","wb_a2":"PY","wb_a3":"PRY","woe_id":23424917,"woe_id_eh":23424917,"woe_note":"Exact WOE match as country","adm0_iso":"PRY","adm0_diff":null,"adm0_tlc":"PRY","adm0_a3_us":"PRY","adm0_a3_fr":"PRY","adm0_a3_ru":"PRY","adm0_a3_es":"PRY","adm0_a3_cn":"PRY","adm0_a3_tw":"PRY","adm0_a3_in":"PRY","adm0_a3_np":"PRY","adm0_a3_pk":"PRY","adm0_a3_de":"PRY","adm0_a3_gb":"PRY","adm0_a3_br":"PRY","adm0_a3_il":"PRY","adm0_a3_ps":"PRY","adm0_a3_sa":"PRY","adm0_a3_eg":"PRY","adm0_a3_ma":"PRY","adm0_a3_pt":"PRY","adm0_a3_ar":"PRY","adm0_a3_jp":"PRY","adm0_a3_ko":"PRY","adm0_a3_vn":"PRY","adm0_a3_tr":"PRY","adm0_a3_id":"PRY","adm0_a3_pl":"PRY","adm0_a3_gr":"PRY","adm0_a3_it":"PRY","adm0_a3_nl":"PRY","adm0_a3_se":"PRY","adm0_a3_bd":"PRY","adm0_a3_ua":"PRY","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":8,"long_len":8,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":-60.146394,"label_y":-21.674509,"ne_id":1159321195,"wikidataid":"Q733","name_ar":"باراغواي","name_bn":"প্যারাগুয়ে","name_de":"Paraguay","name_en":"Paraguay","name_es":"Paraguay","name_fa":"پاراگوئه","name_fr":"Paraguay","name_el":"Παραγουάη","name_he":"פרגוואי","name_hi":"पैराग्वे","name_hu":"Paraguay","name_id":"Paraguay","name_it":"Paraguay","name_ja":"パラグアイ","name_ko":"파라과이","name_nl":"Paraguay","name_pl":"Paragwaj","name_pt":"Paraguai","name_ru":"Парагвай","name_sv":"Paraguay","name_tr":"Paraguay","name_uk":"Парагвай","name_ur":"پیراگوئے","name_vi":"Paraguay","name_zh":"巴拉圭","name_zht":"巴拉圭","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"PRY.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-58.166392381408045,-20.176700941653678],[-57.8706739976178,-20.73268767668195],[-57.937155727761294,-22.090175876557172],[-56.8815095689029,-22.28215382252148],[-56.47331743022939,-22.086300144135283],[-55.79795813660691,-22.356929620047822],[-55.610682745981144,-22.655619398694846],[-55.517639329639636,-23.571997572526637],[-55.40074723979542,-23.956935316668805],[-55.02790178080955,-24.00127369557523],[-54.65283423523513,-23.83957813893396],[-54.29295956075452,-24.02101409271073],[-54.29347632507745,-24.570799655863965],[-54.42894609233059,-25.162184747012166],[-54.625290696823576,-25.739255466415514],[-54.78879492859505,-26.621785577096134],[-55.69584550639816,-27.387837009390864],[-56.486701626192996,-27.548499037386293],[-57.60975969097614,-27.395898532828387],[-58.61817359071975,-27.123718763947096],[-57.63366004091113,-25.60365650808164],[-57.77721716981794,-25.16233977630904],[-58.80712846539498,-24.77145924245331],[-60.02896603050403,-24.032796319273274],[-60.846564704009914,-23.880712579038292],[-62.685057135657885,-22.249029229422387],[-62.291179368729225,-21.051634616787393],[-62.2659612697708,-20.513734633061276],[-61.78632646345377,-19.633736667562964],[-60.04356462262649,-19.342746677327426],[-59.11504248720611,-19.3569060197754],[-58.183471442280506,-19.868399346600363],[-58.166392381408045,-20.176700941653678]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Venezuela","sov_a3":"VEN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Venezuela","adm0_a3":"VEN","geou_dif":0,"geounit":"Venezuela","gu_a3":"VEN","su_dif":0,"subunit":"Venezuela","su_a3":"VEN","brk_diff":0,"name":"Venezuela","name_long":"Venezuela","brk_a3":"VEN","brk_name":"Venezuela","brk_group":null,"abbrev":"Ven.","postal":"VE","formal_en":"Bolivarian Republic of Venezuela","formal_fr":"República Bolivariana de Venezuela","name_ciawf":"Venezuela","note_adm0":null,"note_brk":null,"name_sort":"Venezuela, RB","name_alt":null,"mapcolor7":1,"mapcolor8":3,"mapcolor9":1,"mapcolor13":4,"pop_est":28515829,"pop_rank":15,"pop_year":2019,"gdp_md":482359,"gdp_year":2014,"economy":"5. Emerging region: G20","income_grp":"3. Upper middle income","fips_10":"VE","iso_a2":"VE","iso_a2_eh":"VE","iso_a3":"VEN","iso_a3_eh":"VEN","iso_n3":"862","iso_n3_eh":"862","un_a3":"862","wb_a2":"VE","wb_a3":"VEN","woe_id":23424982,"woe_id_eh":23424982,"woe_note":"Exact WOE match as country","adm0_iso":"VEN","adm0_diff":null,"adm0_tlc":"VEN","adm0_a3_us":"VEN","adm0_a3_fr":"VEN","adm0_a3_ru":"VEN","adm0_a3_es":"VEN","adm0_a3_cn":"VEN","adm0_a3_tw":"VEN","adm0_a3_in":"VEN","adm0_a3_np":"VEN","adm0_a3_pk":"VEN","adm0_a3_de":"VEN","adm0_a3_gb":"VEN","adm0_a3_br":"VEN","adm0_a3_il":"VEN","adm0_a3_ps":"VEN","adm0_a3_sa":"VEN","adm0_a3_eg":"VEN","adm0_a3_ma":"VEN","adm0_a3_pt":"VEN","adm0_a3_ar":"VEN","adm0_a3_jp":"VEN","adm0_a3_ko":"VEN","adm0_a3_vn":"VEN","adm0_a3_tr":"VEN","adm0_a3_id":"VEN","adm0_a3_pl":"VEN","adm0_a3_gr":"VEN","adm0_a3_it":"VEN","adm0_a3_nl":"VEN","adm0_a3_se":"VEN","adm0_a3_bd":"VEN","adm0_a3_ua":"VEN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":9,"long_len":9,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.5,"max_label":7.5,"label_x":-64.599381,"label_y":7.182476,"ne_id":1159321411,"wikidataid":"Q717","name_ar":"فنزويلا","name_bn":"ভেনেজুয়েলা","name_de":"Venezuela","name_en":"Venezuela","name_es":"Venezuela","name_fa":"ونزوئلا","name_fr":"Venezuela","name_el":"Βενεζουέλα","name_he":"ונצואלה","name_hi":"वेनेज़ुएला","name_hu":"Venezuela","name_id":"Venezuela","name_it":"Venezuela","name_ja":"ベネズエラ","name_ko":"베네수엘라","name_nl":"Venezuela","name_pl":"Wenezuela","name_pt":"Venezuela","name_ru":"Венесуэла","name_sv":"Venezuela","name_tr":"Venezuela","name_uk":"Венесуела","name_ur":"وینیزویلا","name_vi":"Venezuela","name_zh":"委内瑞拉","name_zht":"委內瑞拉","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"VEN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-60.73357418480372,5.200277207861901],[-60.601179165271944,4.91809804933213],[-60.96689327660154,4.536467596856639],[-62.08542965355913,4.162123521334308],[-62.804533047116706,4.006965033377952],[-63.093197597899106,3.770571193858785],[-63.88834286157416,4.020530096854571],[-64.62865943058755,4.14848094320925],[-64.81606401229402,4.056445217297423],[-64.3684944322141,3.797210394705246],[-64.40882788761792,3.126786200366624],[-64.2699991522658,2.497005520025567],[-63.42286739770512,2.411067613124175],[-63.368788011311665,2.200899562993129],[-64.08308549666609,1.91636912679408],[-64.19930579289051,1.49285492594602],[-64.61101192895987,1.328730576987042],[-65.35471330428837,1.0952822941085],[-65.54826738143757,0.78925446207603],[-66.32576514348496,0.724452215982012],[-66.87632585312258,1.253360500489336],[-67.18129431829307,2.250638129074062],[-67.44709204778631,2.600280869960869],[-67.8099381171237,2.820655015469569],[-67.30317318385345,3.31845408773718],[-67.33756384954368,3.542342230641722],[-67.62183590358129,3.839481716319995],[-67.82301225449355,4.503937282728899],[-67.74469662135522,5.221128648291668],[-67.52153194850275,5.556870428891969],[-67.34143958196557,6.095468044454023],[-67.69508724635502,6.267318020040647],[-68.26505245631823,6.153268133972475],[-68.98531856960236,6.206804917826858],[-69.38947994655712,6.099860541198836],[-70.09331295437242,6.96037649172311],[-70.67423356798152,7.087784735538719],[-71.96017574734864,6.991614895043539],[-72.19835242378188,7.340430813013683],[-72.44448727078807,7.423784898300482],[-72.47967892117885,7.632506008327354],[-72.36090064155597,8.002638454617895],[-72.43986223009796,8.405275376820029],[-72.6604947577681,8.625287787302682],[-72.7887298245004,9.085027167187334],[-73.30495154488005,9.151999823437606],[-73.02760413276957,9.736770331252444],[-72.9052860175347,10.450344346554772],[-72.61465776232521,10.821975409381778],[-72.22757544624294,11.10870209395324],[-71.97392167833829,11.60867157637712],[-71.3315836249503,11.776284084515808],[-71.36000566271082,11.539993597861212],[-71.94704993354651,11.423282375530022],[-71.62086829292019,10.969459947142795],[-71.63306393094109,10.446494452349029],[-72.07417395698451,9.865651353388373],[-71.69564409044654,9.072263088411248],[-71.26455929226773,9.137194525585983],[-71.03999935574339,9.859992784052409],[-71.35008378771079,10.211935126176215],[-71.40062333849224,10.968969021036015],[-70.15529883490652,11.37548167566004],[-70.29384334988103,11.846822414594214],[-69.94324459499683,12.162307033736099],[-69.58430009629747,11.459610907431212],[-68.88299923366445,11.443384507691563],[-68.23327145045873,10.885744126829946],[-68.19412655299763,10.554653225135922],[-67.29624854192633,10.54586823164631],[-66.227864142508,10.648626817258688],[-65.65523759628175,10.200798855017323],[-64.89045223657817,10.0772146671913],[-64.32947872583374,10.38959870039568],[-64.31800655786495,10.64141795495398],[-63.07932247582873,10.7017243514386],[-61.880946010980196,10.715625311725104],[-62.73011898461641,10.420268662960906],[-62.388511928950976,9.94820445397464],[-61.58876746280194,9.873066921422264],[-60.83059668643172,9.381339829948942],[-60.67125240745973,8.580174261911878],[-60.15009558779618,8.602756862823426],[-59.758284878159195,8.367034816924047],[-60.5505879380582,7.779602972846178],[-60.637972785063766,7.414999904810855],[-60.2956680975624,7.043911444522919],[-60.54399919294099,6.856584377464883],[-61.15933631045648,6.696077378766319],[-61.13941504580795,6.234296779806144],[-61.410302903881956,5.959068101419618],[-60.73357418480372,5.200277207861901]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"United Kingdom","sov_a3":"GB1","adm0_dif":1,"level":2,"type":"Disputed","tlc":"1","admin":"Falkland Islands","adm0_a3":"FLK","geou_dif":0,"geounit":"Falkland Islands","gu_a3":"FLK","su_dif":0,"subunit":"Falkland Islands","su_a3":"FLK","brk_diff":1,"name":"Falkland Is.","name_long":"Falkland Islands / Malvinas","brk_a3":"B12","brk_name":"Falkland Is.","brk_group":null,"abbrev":"Flk. Is.","postal":"FK","formal_en":"Falkland Islands","formal_fr":null,"name_ciawf":"Falkland Islands (Islas Malvinas)","note_adm0":"U.K.","note_brk":"Admin. by U.K.; Claimed by Argentina","name_sort":"Falkland Islands","name_alt":"Islas Malvinas","mapcolor7":6,"mapcolor8":6,"mapcolor9":6,"mapcolor13":3,"pop_est":3398,"pop_rank":4,"pop_year":2016,"gdp_md":282,"gdp_year":2012,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"FK","iso_a2":"FK","iso_a2_eh":"FK","iso_a3":"FLK","iso_a3_eh":"FLK","iso_n3":"238","iso_n3_eh":"238","un_a3":"238","wb_a2":"-99","wb_a3":"-99","woe_id":23424814,"woe_id_eh":23424814,"woe_note":"Exact WOE match as country","adm0_iso":"B12","adm0_diff":null,"adm0_tlc":"B12","adm0_a3_us":"FLK","adm0_a3_fr":"FLK","adm0_a3_ru":"FLK","adm0_a3_es":"FLK","adm0_a3_cn":"FLK","adm0_a3_tw":"FLK","adm0_a3_in":"FLK","adm0_a3_np":"FLK","adm0_a3_pk":"FLK","adm0_a3_de":"FLK","adm0_a3_gb":"FLK","adm0_a3_br":"FLK","adm0_a3_il":"FLK","adm0_a3_ps":"FLK","adm0_a3_sa":"FLK","adm0_a3_eg":"FLK","adm0_a3_ma":"FLK","adm0_a3_pt":"FLK","adm0_a3_ar":"ARG","adm0_a3_jp":"FLK","adm0_a3_ko":"FLK","adm0_a3_vn":"FLK","adm0_a3_tr":"FLK","adm0_a3_id":"FLK","adm0_a3_pl":"FLK","adm0_a3_gr":"FLK","adm0_a3_it":"FLK","adm0_a3_nl":"FLK","adm0_a3_se":"FLK","adm0_a3_bd":"FLK","adm0_a3_ua":"FLK","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"South America","region_un":"Americas","subregion":"South America","region_wb":"Latin America & Caribbean","name_len":12,"long_len":27,"abbrev_len":8,"tiny":-99,"homepart":-99,"min_zoom":0,"min_label":4.5,"max_label":9,"label_x":-58.738602,"label_y":-51.608913,"ne_id":1159320711,"wikidataid":"Q9648","name_ar":"جزر فوكلاند","name_bn":"ফকল্যান্ড দ্বীপপুঞ্জ","name_de":"Falklandinseln","name_en":"Falkland Islands","name_es":"Islas Malvinas","name_fa":"جزایر فالکلند","name_fr":"îles Malouines","name_el":"Νήσοι Φώκλαντ","name_he":"איי פוקלנד","name_hi":"फ़ॉकलैंड द्वीपसमूह","name_hu":"Falkland-szigetek","name_id":"Kepulauan Falkland","name_it":"Isole Falkland","name_ja":"フォークランド諸島","name_ko":"포클랜드 제도","name_nl":"Falklandeilanden","name_pl":"Falklandy","name_pt":"Ilhas Malvinas","name_ru":"Фолклендские острова","name_sv":"Falklandsöarna","name_tr":"Falkland Adaları","name_uk":"Фолклендські острови","name_ur":"جزائر فاکلینڈ","name_vi":"Quần đảo Falkland","name_zh":"福克兰群岛","name_zht":"福克蘭群島","fclass_iso":"Admin-0 dependency","tlc_diff":null,"fclass_tlc":"Admin-0 dependency","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":"Unrecognized","fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"FLK.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-61.2,-51.85],[-60,-51.25],[-59.15,-51.5],[-58.55,-51.1],[-57.75,-51.55],[-58.05,-51.9],[-59.4,-52.2],[-59.85,-51.85],[-60.7,-52.3],[-61.2,-51.85]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Ethiopia","sov_a3":"ETH","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Ethiopia","adm0_a3":"ETH","geou_dif":0,"geounit":"Ethiopia","gu_a3":"ETH","su_dif":0,"subunit":"Ethiopia","su_a3":"ETH","brk_diff":0,"name":"Ethiopia","name_long":"Ethiopia","brk_a3":"ETH","brk_name":"Ethiopia","brk_group":null,"abbrev":"Eth.","postal":"ET","formal_en":"Federal Democratic Republic of Ethiopia","formal_fr":null,"name_ciawf":"Ethiopia","note_adm0":null,"note_brk":null,"name_sort":"Ethiopia","name_alt":null,"mapcolor7":4,"mapcolor8":4,"mapcolor9":1,"mapcolor13":13,"pop_est":112078730,"pop_rank":17,"pop_year":2019,"gdp_md":95912,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"ET","iso_a2":"ET","iso_a2_eh":"ET","iso_a3":"ETH","iso_a3_eh":"ETH","iso_n3":"231","iso_n3_eh":"231","un_a3":"231","wb_a2":"ET","wb_a3":"ETH","woe_id":23424808,"woe_id_eh":23424808,"woe_note":"Exact WOE match as country","adm0_iso":"ETH","adm0_diff":null,"adm0_tlc":"ETH","adm0_a3_us":"ETH","adm0_a3_fr":"ETH","adm0_a3_ru":"ETH","adm0_a3_es":"ETH","adm0_a3_cn":"ETH","adm0_a3_tw":"ETH","adm0_a3_in":"ETH","adm0_a3_np":"ETH","adm0_a3_pk":"ETH","adm0_a3_de":"ETH","adm0_a3_gb":"ETH","adm0_a3_br":"ETH","adm0_a3_il":"ETH","adm0_a3_ps":"ETH","adm0_a3_sa":"ETH","adm0_a3_eg":"ETH","adm0_a3_ma":"ETH","adm0_a3_pt":"ETH","adm0_a3_ar":"ETH","adm0_a3_jp":"ETH","adm0_a3_ko":"ETH","adm0_a3_vn":"ETH","adm0_a3_tr":"ETH","adm0_a3_id":"ETH","adm0_a3_pl":"ETH","adm0_a3_gr":"ETH","adm0_a3_it":"ETH","adm0_a3_nl":"ETH","adm0_a3_se":"ETH","adm0_a3_bd":"ETH","adm0_a3_ua":"ETH","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":8,"long_len":8,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2,"max_label":7,"label_x":39.0886,"label_y":8.032795,"ne_id":1159320617,"wikidataid":"Q115","name_ar":"إثيوبيا","name_bn":"ইথিওপিয়া","name_de":"Äthiopien","name_en":"Ethiopia","name_es":"Etiopía","name_fa":"اتیوپی","name_fr":"Éthiopie","name_el":"Αιθιοπία","name_he":"אתיופיה","name_hi":"इथियोपिया","name_hu":"Etiópia","name_id":"Ethiopia","name_it":"Etiopia","name_ja":"エチオピア","name_ko":"에티오피아","name_nl":"Ethiopië","name_pl":"Etiopia","name_pt":"Etiópia","name_ru":"Эфиопия","name_sv":"Etiopien","name_tr":"Etiyopya","name_uk":"Ефіопія","name_ur":"ایتھوپیا","name_vi":"Ethiopia","name_zh":"埃塞俄比亚","name_zht":"衣索比亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ETH.geojson"},"geometry":{"type":"Polygon","coordinates":[[[47.78942,8.003],[44.9636,5.00162],[43.66087,4.95755],[42.76967,4.25259],[42.12861,4.23413],[41.85508309264397,3.918911920483727],[41.1718,3.91909],[40.76848,4.25702],[39.85494,3.83879],[39.55938425876585,3.42206],[38.89251,3.50074],[38.67114,3.61607],[38.43697,3.58851],[38.120915,3.598605],[36.85509323800812,4.447864127672769],[36.159078632855646,4.447864127672769],[35.817447662353516,4.77696566346189],[35.817447662353516,5.338232082790797],[35.29800711823298,5.506],[34.70702,6.594220000000121],[34.25032,6.82607],[34.0751,7.22595],[33.568290000000104,7.71334],[32.95418,7.784970000000101],[33.29480000000012,8.35458],[33.82550000000015,8.37916],[33.97498,8.68456],[33.96162,9.58358],[34.25745,10.63009],[34.73115000000013,10.910170000000107],[34.83163000000013,11.318960000000118],[35.26049,12.08286],[35.86363,12.57828],[36.27022,13.563330000000121],[36.42951,14.42211],[37.59377,14.2131],[37.90607000000011,14.959430000000168],[38.51295,14.50547],[39.0994,14.74064],[39.34061,14.53155],[40.02625000000012,14.51959],[40.8966,14.118640000000141],[41.1552,13.77333],[41.59856,13.452090000000112],[42.00975,12.86582],[42.35156000000012,12.542230000000131],[42.000000000000114,12.100000000000136],[41.66176000000013,11.6312],[41.73959000000019,11.355110000000138],[41.755570000000205,11.050910000000101],[42.31414000000012,11.0342],[42.55493000000013,11.105110000000195],[42.77685184100096,10.92687856693442],[42.55876,10.57258000000013],[42.92812,10.021940000000143],[43.29699000000011,9.540480000000173],[43.67875,9.18358000000012],[46.94834,7.99688],[47.78942,8.003]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"South Sudan","sov_a3":"SDS","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"South Sudan","adm0_a3":"SDS","geou_dif":0,"geounit":"South Sudan","gu_a3":"SDS","su_dif":0,"subunit":"South Sudan","su_a3":"SDS","brk_diff":0,"name":"S. Sudan","name_long":"South Sudan","brk_a3":"SDS","brk_name":"S. Sudan","brk_group":null,"abbrev":"S. Sud.","postal":"SS","formal_en":"Republic of South Sudan","formal_fr":null,"name_ciawf":"South Sudan","note_adm0":null,"note_brk":null,"name_sort":"South Sudan","name_alt":null,"mapcolor7":1,"mapcolor8":3,"mapcolor9":3,"mapcolor13":5,"pop_est":11062113,"pop_rank":14,"pop_year":2019,"gdp_md":11998,"gdp_year":2015,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"-99","iso_a2":"SS","iso_a2_eh":"SS","iso_a3":"SSD","iso_a3_eh":"SSD","iso_n3":"728","iso_n3_eh":"728","un_a3":"728","wb_a2":"SS","wb_a3":"SSD","woe_id":-99,"woe_id_eh":-99,"woe_note":"Includes states of 20069899, 20069897, 20069898, 20069901, 20069909, and 20069908 but maybe more?","adm0_iso":"SSD","adm0_diff":"1","adm0_tlc":"SDS","adm0_a3_us":"SDS","adm0_a3_fr":"SDS","adm0_a3_ru":"SDS","adm0_a3_es":"SDS","adm0_a3_cn":"SDS","adm0_a3_tw":"SDS","adm0_a3_in":"SDS","adm0_a3_np":"SDS","adm0_a3_pk":"SDS","adm0_a3_de":"SDS","adm0_a3_gb":"SDS","adm0_a3_br":"SDS","adm0_a3_il":"SDS","adm0_a3_ps":"SDS","adm0_a3_sa":"SDS","adm0_a3_eg":"SDS","adm0_a3_ma":"SDS","adm0_a3_pt":"SDS","adm0_a3_ar":"SDS","adm0_a3_jp":"SDS","adm0_a3_ko":"SDS","adm0_a3_vn":"SDS","adm0_a3_tr":"SDS","adm0_a3_id":"SDS","adm0_a3_pl":"SDS","adm0_a3_gr":"SDS","adm0_a3_it":"SDS","adm0_a3_nl":"SDS","adm0_a3_se":"SDS","adm0_a3_bd":"SDS","adm0_a3_ua":"SDS","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":8,"long_len":11,"abbrev_len":7,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":30.390151,"label_y":7.230477,"ne_id":1159321235,"wikidataid":"Q958","name_ar":"جنوب السودان","name_bn":"দক্ষিণ সুদান","name_de":"Südsudan","name_en":"South Sudan","name_es":"Sudán del Sur","name_fa":"سودان جنوبی","name_fr":"Soudan du Sud","name_el":"Νότιο Σουδάν","name_he":"דרום סודאן","name_hi":"दक्षिण सूडान","name_hu":"Dél-Szudán","name_id":"Sudan Selatan","name_it":"Sudan del Sud","name_ja":"南スーダン","name_ko":"남수단","name_nl":"Zuid-Soedan","name_pl":"Sudan Południowy","name_pt":"Sudão do Sul","name_ru":"Южный Судан","name_sv":"Sydsudan","name_tr":"Güney Sudan","name_uk":"Південний Судан","name_ur":"جنوبی سوڈان","name_vi":"Nam Sudan","name_zh":"南苏丹","name_zht":"南蘇丹","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SSD.geojson"},"geometry":{"type":"Polygon","coordinates":[[[30.833852421715427,3.509171604222463],[29.953500197069474,4.173699042167684],[29.71599531425602,4.600804755060153],[29.1590784034465,4.389267279473231],[28.696677687298802,4.455077215996937],[28.428993768026913,4.287154649264494],[27.97997724784281,4.408413397637375],[27.37422610851749,5.233944403500061],[27.21340905122517,5.550953477394557],[26.465909458123235,5.94671743410187],[26.213418409945117,6.546603298362072],[25.79664798351118,6.979315904158071],[25.124130893664727,7.500085150579437],[25.11493248871679,7.825104071479174],[24.567369012152085,8.229187933785468],[23.886979580860668,8.619729712933065],[24.19406772118765,8.728696472403897],[24.53741516360202,8.91753756573172],[24.794925745412684,9.810240916008695],[25.069603699343986,10.273759963267992],[25.790633328413946,10.411098940233728],[25.962307049621018,10.136420986302426],[26.477328213242515,9.552730334198088],[26.752006167173818,9.466893473594496],[27.112520981708883,9.638567194801624],[27.833550610778786,9.60423245056029],[27.970889587744352,9.398223985111656],[28.966597170745786,9.398223985111656],[29.000931914987177,9.60423245056029],[29.515953078608618,9.793073543888056],[29.61895731133285,10.084918869940225],[29.996639497988554,10.290927335388687],[30.837840731903384,9.70723668328452],[31.35286189552488,9.810240916008695],[31.850715687025513,10.531270545078826],[32.400071594888345,11.080626452941488],[32.31423473428475,11.68148447716652],[32.073891524594785,11.973329803218519],[32.67474954881965,12.02483191958072],[32.743419037302544,12.248007757149992],[33.206938084561784,12.179338268667095],[33.086766479716744,11.441141267476496],[33.206938084561784,10.720111638406593],[33.72195924818311,10.325262079630193],[33.84213085302815,9.981914637215993],[33.82496348090751,9.484060845715362],[33.963392794971185,9.464285229420625],[33.97498,8.68456],[33.82550000000015,8.37916],[33.29480000000012,8.35458],[32.95418,7.784970000000101],[33.568290000000104,7.71334],[34.0751,7.22595],[34.25032,6.82607],[34.70702,6.594220000000121],[35.29800711823298,5.506],[34.62019626785388,4.847122742081988],[34.005,4.249884947362048],[33.3900000000001,3.79],[32.68642,3.79232],[31.88145,3.55827],[31.24556,3.7819],[30.833852421715427,3.509171604222463]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Somalia","sov_a3":"SOM","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Somalia","adm0_a3":"SOM","geou_dif":0,"geounit":"Somalia","gu_a3":"SOM","su_dif":0,"subunit":"Somalia","su_a3":"SOM","brk_diff":0,"name":"Somalia","name_long":"Somalia","brk_a3":"SOM","brk_name":"Somalia","brk_group":null,"abbrev":"Som.","postal":"SO","formal_en":"Federal Republic of Somalia","formal_fr":null,"name_ciawf":"Somalia","note_adm0":null,"note_brk":null,"name_sort":"Somalia","name_alt":null,"mapcolor7":2,"mapcolor8":8,"mapcolor9":6,"mapcolor13":7,"pop_est":10192317.3,"pop_rank":14,"pop_year":2019,"gdp_md":4719,"gdp_year":2016,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"SO","iso_a2":"SO","iso_a2_eh":"SO","iso_a3":"SOM","iso_a3_eh":"SOM","iso_n3":"706","iso_n3_eh":"706","un_a3":"706","wb_a2":"SO","wb_a3":"SOM","woe_id":-90,"woe_id_eh":23424949,"woe_note":"Includes Somaliland (2347021, 2347020, 2347017 and portion of 2347016)","adm0_iso":"SOM","adm0_diff":null,"adm0_tlc":"SOM","adm0_a3_us":"SOM","adm0_a3_fr":"SOM","adm0_a3_ru":"SOM","adm0_a3_es":"SOM","adm0_a3_cn":"SOM","adm0_a3_tw":"SOM","adm0_a3_in":"SOM","adm0_a3_np":"SOM","adm0_a3_pk":"SOM","adm0_a3_de":"SOM","adm0_a3_gb":"SOM","adm0_a3_br":"SOM","adm0_a3_il":"SOM","adm0_a3_ps":"SOM","adm0_a3_sa":"SOM","adm0_a3_eg":"SOM","adm0_a3_ma":"SOM","adm0_a3_pt":"SOM","adm0_a3_ar":"SOM","adm0_a3_jp":"SOM","adm0_a3_ko":"SOM","adm0_a3_vn":"SOM","adm0_a3_tr":"SOM","adm0_a3_id":"SOM","adm0_a3_pl":"SOM","adm0_a3_gr":"SOM","adm0_a3_it":"SOM","adm0_a3_nl":"SOM","adm0_a3_se":"SOM","adm0_a3_bd":"SOM","adm0_a3_ua":"SOM","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":45.19238,"label_y":3.568925,"ne_id":1159321261,"wikidataid":"Q1045","name_ar":"الصومال","name_bn":"সোমালিয়া","name_de":"Somalia","name_en":"Somalia","name_es":"Somalia","name_fa":"سومالی","name_fr":"Somalie","name_el":"Σομαλία","name_he":"סומליה","name_hi":"सोमालिया","name_hu":"Szomália","name_id":"Somalia","name_it":"Somalia","name_ja":"ソマリア","name_ko":"소말리아","name_nl":"Somalië","name_pl":"Somalia","name_pt":"Somália","name_ru":"Сомали","name_sv":"Somalia","name_tr":"Somali","name_uk":"Сомалі","name_ur":"صومالیہ","name_vi":"Somalia","name_zh":"索马里","name_zht":"索馬利亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SOM.geojson"},"geometry":{"type":"Polygon","coordinates":[[[41.58513,-1.68325],[40.993,-0.85829],[40.98105,2.78452],[41.85508309264397,3.918911920483727],[42.12861,4.23413],[42.76967,4.25259],[43.66087,4.95755],[44.9636,5.00162],[47.78942,8.003],[48.48673587422695,8.837626247589995],[48.93812951029645,9.451748968946617],[48.93823286316103,9.973500067581512],[48.938491245322496,10.982327378783467],[48.94200524271835,11.394266058798138],[48.94820475850974,11.410617281697963],[48.94820475850985,11.41061728169797],[49.26776,11.43033],[49.72862,11.5789],[50.25878,11.67957],[50.73202,12.0219],[51.1112,12.02464],[51.13387,11.74815],[51.04153,11.16651],[51.04531,10.6409],[50.83418,10.27972],[50.55239,9.19874],[50.07092,8.08173],[49.4527,6.80466],[48.59455,5.33911],[47.74079,4.2194],[46.56476,2.85529],[45.56399,2.04576],[44.06815,1.05283],[43.13597,0.2922],[42.04157,-0.91916],[41.81095,-1.44647],[41.58513,-1.68325]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Kenya","sov_a3":"KEN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Kenya","adm0_a3":"KEN","geou_dif":0,"geounit":"Kenya","gu_a3":"KEN","su_dif":0,"subunit":"Kenya","su_a3":"KEN","brk_diff":0,"name":"Kenya","name_long":"Kenya","brk_a3":"KEN","brk_name":"Kenya","brk_group":null,"abbrev":"Ken.","postal":"KE","formal_en":"Republic of Kenya","formal_fr":null,"name_ciawf":"Kenya","note_adm0":null,"note_brk":null,"name_sort":"Kenya","name_alt":null,"mapcolor7":5,"mapcolor8":2,"mapcolor9":7,"mapcolor13":3,"pop_est":52573973,"pop_rank":16,"pop_year":2019,"gdp_md":95503,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"5. Low income","fips_10":"KE","iso_a2":"KE","iso_a2_eh":"KE","iso_a3":"KEN","iso_a3_eh":"KEN","iso_n3":"404","iso_n3_eh":"404","un_a3":"404","wb_a2":"KE","wb_a3":"KEN","woe_id":23424863,"woe_id_eh":23424863,"woe_note":"Exact WOE match as country","adm0_iso":"KEN","adm0_diff":null,"adm0_tlc":"KEN","adm0_a3_us":"KEN","adm0_a3_fr":"KEN","adm0_a3_ru":"KEN","adm0_a3_es":"KEN","adm0_a3_cn":"KEN","adm0_a3_tw":"KEN","adm0_a3_in":"KEN","adm0_a3_np":"KEN","adm0_a3_pk":"KEN","adm0_a3_de":"KEN","adm0_a3_gb":"KEN","adm0_a3_br":"KEN","adm0_a3_il":"KEN","adm0_a3_ps":"KEN","adm0_a3_sa":"KEN","adm0_a3_eg":"KEN","adm0_a3_ma":"KEN","adm0_a3_pt":"KEN","adm0_a3_ar":"KEN","adm0_a3_jp":"KEN","adm0_a3_ko":"KEN","adm0_a3_vn":"KEN","adm0_a3_tr":"KEN","adm0_a3_id":"KEN","adm0_a3_pl":"KEN","adm0_a3_gr":"KEN","adm0_a3_it":"KEN","adm0_a3_nl":"KEN","adm0_a3_se":"KEN","adm0_a3_bd":"KEN","adm0_a3_ua":"KEN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":5,"long_len":5,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":6.7,"label_x":37.907632,"label_y":0.549043,"ne_id":1159320971,"wikidataid":"Q114","name_ar":"كينيا","name_bn":"কেনিয়া","name_de":"Kenia","name_en":"Kenya","name_es":"Kenia","name_fa":"کنیا","name_fr":"Kenya","name_el":"Κένυα","name_he":"קניה","name_hi":"कीनिया","name_hu":"Kenya","name_id":"Kenya","name_it":"Kenya","name_ja":"ケニア","name_ko":"케냐","name_nl":"Kenia","name_pl":"Kenia","name_pt":"Quénia","name_ru":"Кения","name_sv":"Kenya","name_tr":"Kenya","name_uk":"Кенія","name_ur":"کینیا","name_vi":"Kenya","name_zh":"肯尼亚","name_zht":"肯亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"KEN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[39.20222,-4.67677],[37.7669,-3.67712],[37.69869,-3.09699],[34.07262,-1.05982],[33.90371119710453,-0.95],[33.893568969666944,0.109813537861896],[34.18,0.515],[34.6721,1.17694],[35.03599,1.90584],[34.59607,3.053740000000118],[34.47913,3.5556],[34.005,4.249884947362048],[34.62019626785388,4.847122742081988],[35.29800711823298,5.506],[35.817447662353516,5.338232082790797],[35.817447662353516,4.77696566346189],[36.159078632855646,4.447864127672769],[36.85509323800812,4.447864127672769],[38.120915,3.598605],[38.43697,3.58851],[38.67114,3.61607],[38.89251,3.50074],[39.55938425876585,3.42206],[39.85494,3.83879],[40.76848,4.25702],[41.1718,3.91909],[41.85508309264397,3.918911920483727],[40.98105,2.78452],[40.993,-0.85829],[41.58513,-1.68325],[40.88477,-2.08255],[40.63785,-2.49979],[40.26304,-2.57309],[40.12119,-3.27768],[39.80006,-3.68116],[39.60489,-4.34653],[39.20222,-4.67677]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Malawi","sov_a3":"MWI","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Malawi","adm0_a3":"MWI","geou_dif":0,"geounit":"Malawi","gu_a3":"MWI","su_dif":0,"subunit":"Malawi","su_a3":"MWI","brk_diff":0,"name":"Malawi","name_long":"Malawi","brk_a3":"MWI","brk_name":"Malawi","brk_group":null,"abbrev":"Mal.","postal":"MW","formal_en":"Republic of Malawi","formal_fr":null,"name_ciawf":"Malawi","note_adm0":null,"note_brk":null,"name_sort":"Malawi","name_alt":null,"mapcolor7":1,"mapcolor8":3,"mapcolor9":4,"mapcolor13":5,"pop_est":18628747,"pop_rank":14,"pop_year":2019,"gdp_md":7666,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"MI","iso_a2":"MW","iso_a2_eh":"MW","iso_a3":"MWI","iso_a3_eh":"MWI","iso_n3":"454","iso_n3_eh":"454","un_a3":"454","wb_a2":"MW","wb_a3":"MWI","woe_id":23424889,"woe_id_eh":23424889,"woe_note":"Exact WOE match as country","adm0_iso":"MWI","adm0_diff":null,"adm0_tlc":"MWI","adm0_a3_us":"MWI","adm0_a3_fr":"MWI","adm0_a3_ru":"MWI","adm0_a3_es":"MWI","adm0_a3_cn":"MWI","adm0_a3_tw":"MWI","adm0_a3_in":"MWI","adm0_a3_np":"MWI","adm0_a3_pk":"MWI","adm0_a3_de":"MWI","adm0_a3_gb":"MWI","adm0_a3_br":"MWI","adm0_a3_il":"MWI","adm0_a3_ps":"MWI","adm0_a3_sa":"MWI","adm0_a3_eg":"MWI","adm0_a3_ma":"MWI","adm0_a3_pt":"MWI","adm0_a3_ar":"MWI","adm0_a3_jp":"MWI","adm0_a3_ko":"MWI","adm0_a3_vn":"MWI","adm0_a3_tr":"MWI","adm0_a3_id":"MWI","adm0_a3_pl":"MWI","adm0_a3_gr":"MWI","adm0_a3_it":"MWI","adm0_a3_nl":"MWI","adm0_a3_se":"MWI","adm0_a3_bd":"MWI","adm0_a3_ua":"MWI","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":33.608082,"label_y":-13.386737,"ne_id":1159321081,"wikidataid":"Q1020","name_ar":"مالاوي","name_bn":"মালাউই","name_de":"Malawi","name_en":"Malawi","name_es":"Malaui","name_fa":"مالاوی","name_fr":"Malawi","name_el":"Μαλάουι","name_he":"מלאווי","name_hi":"मलावी","name_hu":"Malawi","name_id":"Malawi","name_it":"Malawi","name_ja":"マラウイ","name_ko":"말라위","name_nl":"Malawi","name_pl":"Malawi","name_pt":"Malawi","name_ru":"Малави","name_sv":"Malawi","name_tr":"Malavi","name_uk":"Малаві","name_ur":"ملاوی","name_vi":"Malawi","name_zh":"马拉维","name_zht":"馬拉威","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MWI.geojson"},"geometry":{"type":"Polygon","coordinates":[[[32.75937544122132,-9.23059905358906],[33.73972,-9.41715],[33.940837724096525,-9.693673841980285],[34.28,-10.16],[34.55998904799935,-11.520020033415925],[34.28000613784198,-12.280025323132506],[34.55998904799935,-13.579997653866876],[34.907151320136165,-13.565424899960568],[35.26795617039801,-13.887834161029566],[35.68684533055594,-14.611045830954332],[35.77190473810836,-15.896858819240727],[35.339062941231646,-16.10744028083011],[35.033810255683534,-16.801299737213093],[34.38129194513405,-16.183559665596043],[34.307291294092096,-15.478641452702597],[34.51766604995231,-15.013708591372612],[34.45963341648854,-14.613009535381423],[34.064825473778626,-14.35995004644812],[33.789700148256685,-14.45183074306307],[33.214024692525214,-13.971860039936153],[32.68816531752313,-13.712857761289277],[32.991764357237884,-12.783870537978274],[33.306422153463075,-12.435778090060218],[33.114289178201915,-11.607198174692314],[33.315310499817286,-10.796549981329697],[33.48568769708359,-10.525558770391115],[33.2313879737753,-9.6767216935648],[32.75937544122132,-9.23059905358906]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"United Republic of Tanzania","sov_a3":"TZA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"United Republic of Tanzania","adm0_a3":"TZA","geou_dif":0,"geounit":"Tanzania","gu_a3":"TZA","su_dif":0,"subunit":"Tanzania","su_a3":"TZA","brk_diff":0,"name":"Tanzania","name_long":"Tanzania","brk_a3":"TZA","brk_name":"Tanzania","brk_group":null,"abbrev":"Tanz.","postal":"TZ","formal_en":"United Republic of Tanzania","formal_fr":null,"name_ciawf":"Tanzania","note_adm0":null,"note_brk":null,"name_sort":"Tanzania","name_alt":null,"mapcolor7":3,"mapcolor8":6,"mapcolor9":2,"mapcolor13":2,"pop_est":58005463,"pop_rank":16,"pop_year":2019,"gdp_md":63177,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"TZ","iso_a2":"TZ","iso_a2_eh":"TZ","iso_a3":"TZA","iso_a3_eh":"TZA","iso_n3":"834","iso_n3_eh":"834","un_a3":"834","wb_a2":"TZ","wb_a3":"TZA","woe_id":23424973,"woe_id_eh":23424973,"woe_note":"Exact WOE match as country","adm0_iso":"TZA","adm0_diff":null,"adm0_tlc":"TZA","adm0_a3_us":"TZA","adm0_a3_fr":"TZA","adm0_a3_ru":"TZA","adm0_a3_es":"TZA","adm0_a3_cn":"TZA","adm0_a3_tw":"TZA","adm0_a3_in":"TZA","adm0_a3_np":"TZA","adm0_a3_pk":"TZA","adm0_a3_de":"TZA","adm0_a3_gb":"TZA","adm0_a3_br":"TZA","adm0_a3_il":"TZA","adm0_a3_ps":"TZA","adm0_a3_sa":"TZA","adm0_a3_eg":"TZA","adm0_a3_ma":"TZA","adm0_a3_pt":"TZA","adm0_a3_ar":"TZA","adm0_a3_jp":"TZA","adm0_a3_ko":"TZA","adm0_a3_vn":"TZA","adm0_a3_tr":"TZA","adm0_a3_id":"TZA","adm0_a3_pl":"TZA","adm0_a3_gr":"TZA","adm0_a3_it":"TZA","adm0_a3_nl":"TZA","adm0_a3_se":"TZA","adm0_a3_bd":"TZA","adm0_a3_ua":"TZA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":8,"long_len":8,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":34.959183,"label_y":-6.051866,"ne_id":1159321337,"wikidataid":"Q924","name_ar":"تنزانيا","name_bn":"তানজানিয়া","name_de":"Tansania","name_en":"Tanzania","name_es":"Tanzania","name_fa":"تانزانیا","name_fr":"Tanzanie","name_el":"Τανζανία","name_he":"טנזניה","name_hi":"तंज़ानिया","name_hu":"Tanzánia","name_id":"Tanzania","name_it":"Tanzania","name_ja":"タンザニア","name_ko":"탄자니아","name_nl":"Tanzania","name_pl":"Tanzania","name_pt":"Tanzânia","name_ru":"Танзания","name_sv":"Tanzania","name_tr":"Tanzanya","name_uk":"Танзанія","name_ur":"تنزانیہ","name_vi":"Tanzania","name_zh":"坦桑尼亚","name_zht":"坦尚尼亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"TZA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[33.90371119710453,-0.95],[34.07262,-1.05982],[37.69869,-3.09699],[37.7669,-3.67712],[39.20222,-4.67677],[38.74054,-5.90895],[38.79977,-6.47566],[39.44,-6.839999999999861],[39.47000000000014,-7.1],[39.19469,-7.7039],[39.25203,-8.00781],[39.18652,-8.48551],[39.53574,-9.112369999999885],[39.9496,-10.0984],[40.316586229110854,-10.317097752817492],[40.31659,-10.317099999999868],[39.521,-10.89688],[38.42755659358775,-11.285202325081656],[37.82764,-11.26879],[37.47129,-11.56876],[36.775150994622805,-11.594537448780805],[36.51408165868426,-11.720938002166735],[35.31239790216904,-11.439146416879147],[34.55998904799935,-11.520020033415925],[34.28,-10.16],[33.940837724096525,-9.693673841980285],[33.73972,-9.41715],[32.75937544122132,-9.23059905358906],[32.19186486179194,-8.930358981973257],[31.556348097466497,-8.762048841998642],[31.15775133695005,-8.594578747317366],[30.740009731422095,-8.34000593035372],[30.74001549655179,-8.340007419470915],[30.199996779101696,-7.079980970898163],[29.620032179490014,-6.520015150583426],[29.419992710088167,-5.939998874539434],[29.519986606572928,-5.419978936386315],[29.339997592900346,-4.499983412294092],[29.753512404099865,-4.452389418153302],[30.11632,-4.09012],[30.50554,-3.56858],[30.75224,-3.35931],[30.74301,-3.03431],[30.52766,-2.80762],[30.469673645761223,-2.41385475710134],[30.46967,-2.41383],[30.75830895358311,-2.287250257988369],[30.816134881317712,-1.698914076345389],[30.419104852019245,-1.134659112150416],[30.769860000000108,-1.01455],[31.86617,-1.02736],[33.90371119710453,-0.95]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Somaliland","sov_a3":"SOL","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Somaliland","adm0_a3":"SOL","geou_dif":0,"geounit":"Somaliland","gu_a3":"SOL","su_dif":0,"subunit":"Somaliland","su_a3":"SOL","brk_diff":0,"name":"Somaliland","name_long":"Somaliland","brk_a3":"SOL","brk_name":"Somaliland","brk_group":null,"abbrev":"Solnd.","postal":"SL","formal_en":"Republic of Somaliland","formal_fr":null,"name_ciawf":null,"note_adm0":"Disputed","note_brk":"Self admin.; Claimed by Somalia","name_sort":"Somaliland","name_alt":null,"mapcolor7":3,"mapcolor8":6,"mapcolor9":5,"mapcolor13":2,"pop_est":5096159,"pop_rank":13,"pop_year":2014,"gdp_md":17836,"gdp_year":2013,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"-99","iso_a2":"-99","iso_a2_eh":"-99","iso_a3":"-99","iso_a3_eh":"-99","iso_n3":"-99","iso_n3_eh":"-99","un_a3":"-099","wb_a2":"-99","wb_a3":"-99","woe_id":-99,"woe_id_eh":-99,"woe_note":"Includes old states of 2347021, 2347020, 2347017 and portion of 2347016.","adm0_iso":"SOM","adm0_diff":"1","adm0_tlc":"SOL","adm0_a3_us":"SOM","adm0_a3_fr":"SOM","adm0_a3_ru":"SOM","adm0_a3_es":"SOM","adm0_a3_cn":"SOM","adm0_a3_tw":"SOL","adm0_a3_in":"SOM","adm0_a3_np":"SOM","adm0_a3_pk":"SOM","adm0_a3_de":"SOM","adm0_a3_gb":"SOM","adm0_a3_br":"SOM","adm0_a3_il":"SOM","adm0_a3_ps":"SOM","adm0_a3_sa":"SOM","adm0_a3_eg":"SOM","adm0_a3_ma":"SOM","adm0_a3_pt":"SOM","adm0_a3_ar":"SOM","adm0_a3_jp":"SOM","adm0_a3_ko":"SOM","adm0_a3_vn":"SOM","adm0_a3_tr":"SOM","adm0_a3_id":"SOM","adm0_a3_pl":"SOM","adm0_a3_gr":"SOM","adm0_a3_it":"SOM","adm0_a3_nl":"SOM","adm0_a3_se":"SOM","adm0_a3_bd":"SOM","adm0_a3_ua":"SOM","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":10,"long_len":10,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":4,"min_label":4.5,"max_label":9,"label_x":46.731595,"label_y":9.443889,"ne_id":1159321259,"wikidataid":"Q34754","name_ar":"صوماليلاند","name_bn":"সোমালিল্যান্ড","name_de":"Somaliland","name_en":"Somaliland","name_es":"Somalilandia","name_fa":"سومالیلند","name_fr":"Somaliland","name_el":"Σομαλιλάνδη","name_he":"סומלילנד","name_hi":"सोमालीदेश","name_hu":"Szomáliföld","name_id":"Somaliland","name_it":"Somaliland","name_ja":"ソマリランド","name_ko":"소말릴란드","name_nl":"Somaliland","name_pl":"Somaliland","name_pt":"Somalilândia","name_ru":"Сомалиленд","name_sv":"Somaliland","name_tr":"Somaliland","name_uk":"Сомаліленд","name_ur":"صومالی لینڈ","name_vi":"Somaliland","name_zh":"索马里兰","name_zht":"索馬利蘭","fclass_iso":"Unrecognized","tlc_diff":"1","fclass_tlc":"Admin-0 country","fclass_us":"Unrecognized","fclass_fr":"Unrecognized","fclass_ru":"Unrecognized","fclass_es":"Unrecognized","fclass_cn":"Unrecognized","fclass_tw":"Admin-0 country","fclass_in":"Unrecognized","fclass_np":"Unrecognized","fclass_pk":"Unrecognized","fclass_de":"Unrecognized","fclass_gb":"Unrecognized","fclass_br":"Unrecognized","fclass_il":"Unrecognized","fclass_ps":"Unrecognized","fclass_sa":"Unrecognized","fclass_eg":"Unrecognized","fclass_ma":"Unrecognized","fclass_pt":"Unrecognized","fclass_ar":"Unrecognized","fclass_jp":"Unrecognized","fclass_ko":"Unrecognized","fclass_vn":"Unrecognized","fclass_tr":"Unrecognized","fclass_id":"Unrecognized","fclass_pl":"Unrecognized","fclass_gr":"Unrecognized","fclass_it":"Unrecognized","fclass_nl":"Unrecognized","fclass_se":"Unrecognized","fclass_bd":"Unrecognized","fclass_ua":"Unrecognized","filename":"SOL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[48.94820475850985,11.41061728169797],[48.94820475850974,11.410617281697963],[48.94200524271835,11.394266058798138],[48.938491245322496,10.982327378783467],[48.93823286316103,9.973500067581512],[48.93812951029645,9.451748968946617],[48.48673587422695,8.837626247589995],[47.78942,8.003],[46.94834,7.99688],[43.67875,9.18358000000012],[43.29699000000011,9.540480000000173],[42.92812,10.021940000000143],[42.55876,10.57258000000013],[42.77685184100096,10.92687856693442],[43.14530480324214,11.462039699748857],[43.470659620951665,11.277709865763882],[43.66666832863484,10.86416921634816],[44.11780358254282,10.445538438351605],[44.614259067570856,10.442205308468942],[45.55694054543915,10.698029486529776],[46.645401238803004,10.816549383991173],[47.525657586462785,11.12722809492999],[48.02159630716778,11.193063869669743],[48.37878380716927,11.375481675660126],[48.94820641459347,11.41062164961852],[48.94820475850985,11.41061728169797]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Morocco","sov_a3":"MAR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Morocco","adm0_a3":"MAR","geou_dif":0,"geounit":"Morocco","gu_a3":"MAR","su_dif":0,"subunit":"Morocco","su_a3":"MAR","brk_diff":0,"name":"Morocco","name_long":"Morocco","brk_a3":"MAR","brk_name":"Morocco","brk_group":null,"abbrev":"Mor.","postal":"MA","formal_en":"Kingdom of Morocco","formal_fr":null,"name_ciawf":"Morocco","note_adm0":null,"note_brk":null,"name_sort":"Morocco","name_alt":null,"mapcolor7":2,"mapcolor8":2,"mapcolor9":3,"mapcolor13":9,"pop_est":36471769,"pop_rank":15,"pop_year":2019,"gdp_md":119700,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"MO","iso_a2":"MA","iso_a2_eh":"MA","iso_a3":"MAR","iso_a3_eh":"MAR","iso_n3":"504","iso_n3_eh":"504","un_a3":"504","wb_a2":"MA","wb_a3":"MAR","woe_id":23424893,"woe_id_eh":23424893,"woe_note":"Exact WOE match as country","adm0_iso":"MAR","adm0_diff":null,"adm0_tlc":"MAR","adm0_a3_us":"MAR","adm0_a3_fr":"MAR","adm0_a3_ru":"MAR","adm0_a3_es":"MAR","adm0_a3_cn":"MAR","adm0_a3_tw":"MAR","adm0_a3_in":"MAR","adm0_a3_np":"MAR","adm0_a3_pk":"MAR","adm0_a3_de":"MAR","adm0_a3_gb":"MAR","adm0_a3_br":"MAR","adm0_a3_il":"MAR","adm0_a3_ps":"MAR","adm0_a3_sa":"MAR","adm0_a3_eg":"MAR","adm0_a3_ma":"MAR","adm0_a3_pt":"MAR","adm0_a3_ar":"MAR","adm0_a3_jp":"MAR","adm0_a3_ko":"MAR","adm0_a3_vn":"MAR","adm0_a3_tr":"MAR","adm0_a3_id":"MAR","adm0_a3_pl":"MAR","adm0_a3_gr":"MAR","adm0_a3_it":"MAR","adm0_a3_nl":"MAR","adm0_a3_se":"MAR","adm0_a3_bd":"MAR","adm0_a3_ua":"MAR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Northern Africa","region_wb":"Middle East & North Africa","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.7,"max_label":8,"label_x":-7.187296,"label_y":31.650723,"ne_id":1159321035,"wikidataid":"Q1028","name_ar":"المغرب","name_bn":"মরক্কো","name_de":"Marokko","name_en":"Morocco","name_es":"Marruecos","name_fa":"مراکش","name_fr":"Maroc","name_el":"Μαρόκο","name_he":"מרוקו","name_hi":"मोरक्को","name_hu":"Marokkó","name_id":"Maroko","name_it":"Marocco","name_ja":"モロッコ","name_ko":"모로코","name_nl":"Marokko","name_pl":"Maroko","name_pt":"Marrocos","name_ru":"Марокко","name_sv":"Marocko","name_tr":"Fas","name_uk":"Марокко","name_ur":"مراکش","name_vi":"Maroc","name_zh":"摩洛哥","name_zht":"摩洛哥","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MAR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-2.169913702798624,35.16839630791668],[-1.792985805661715,34.527918606091305],[-1.733454555661467,33.91971283623212],[-1.388049282222596,32.86401500094138],[-1.124551153966308,32.65152151135713],[-1.30789913573787,32.2628889023061],[-2.616604783529567,32.09434621838619],[-3.068980271812648,31.724497992473218],[-3.647497931320146,31.637294012980675],[-3.690441046554724,30.896951605751156],[-4.859646165374471,30.501187649043846],[-5.242129278982787,30.00044302013559],[-6.060632290053774,29.731699734001694],[-7.059227667661958,29.5792284205246],[-8.674116176782974,28.84128896739658],[-8.665589565454809,27.656425889592356],[-8.817828334986672,27.656425889592356],[-8.794883999049077,27.120696316022507],[-9.41303748212448,27.088476060488574],[-9.735343390328879,26.860944729107405],[-10.189424200877582,26.860944729107405],[-10.551262579785273,26.990807603456886],[-11.392554897497007,26.883423977154393],[-11.718219773800357,26.104091701760623],[-12.03075883630163,26.030866197203068],[-12.50096269372537,24.7701162785782],[-13.891110398809047,23.691009019459305],[-14.221167771857253,22.31016307218816],[-14.630832688851072,21.860939846274903],[-14.750954555713534,21.500600083903663],[-17.00296179856109,21.420734157796577],[-17.02042843267577,21.422310288981578],[-16.973247849993243,21.885744533774982],[-16.589136928767687,22.158234361250095],[-16.261921759495635,22.679339504481277],[-16.3264139469959,23.017768459560898],[-15.982610642958036,23.723358466074046],[-15.426003790742186,24.35913361256104],[-15.089331834360735,24.520260728447],[-14.824645148161665,25.103532619725343],[-14.800925665739726,25.63626496022232],[-14.439939947964831,26.254418443297652],[-13.773804897506466,26.618892320252314],[-13.13994177901435,27.640147813420526],[-13.121613369914769,27.65414767171984],[-12.618836635783111,28.03818553314869],[-11.688919236690765,28.148643907172527],[-10.900956997104402,28.83214223888092],[-10.399592251008642,29.09858592377782],[-9.564811163765683,29.93357371674989],[-9.814718390329176,31.17773550060906],[-9.434793260119363,32.038096421836485],[-9.300692918321886,32.564679266890664],[-8.657476365585012,33.240245266242425],[-7.654178432638219,33.69706492770251],[-6.912544114601417,34.110476386037476],[-6.244342006851411,35.145865383437524],[-5.92999426921989,35.75998810479399],[-5.193863491222032,35.75518219659085],[-4.591006232105144,35.330711981745594],[-3.640056525070065,35.399855048152006],[-2.604305792644084,35.179093329401155],[-2.169913702798624,35.16839630791668]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":7,"sovereignt":"Western Sahara","sov_a3":"SAH","adm0_dif":0,"level":2,"type":"Indeterminate","tlc":"1","admin":"Western Sahara","adm0_a3":"SAH","geou_dif":0,"geounit":"Western Sahara","gu_a3":"SAH","su_dif":0,"subunit":"Western Sahara","su_a3":"SAH","brk_diff":1,"name":"W. Sahara","name_long":"Western Sahara","brk_a3":"B28","brk_name":"W. Sahara","brk_group":null,"abbrev":"W. Sah.","postal":"WS","formal_en":"Sahrawi Arab Democratic Republic","formal_fr":null,"name_ciawf":"Western Sahara","note_adm0":null,"note_brk":"Self admin.; Claimed by Morocco","name_sort":"Western Sahara","name_alt":null,"mapcolor7":4,"mapcolor8":7,"mapcolor9":4,"mapcolor13":4,"pop_est":603253,"pop_rank":11,"pop_year":2017,"gdp_md":907,"gdp_year":2007,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"WI","iso_a2":"EH","iso_a2_eh":"EH","iso_a3":"ESH","iso_a3_eh":"ESH","iso_n3":"732","iso_n3_eh":"732","un_a3":"732","wb_a2":"-99","wb_a3":"-99","woe_id":23424990,"woe_id_eh":23424990,"woe_note":"Exact WOE match as country","adm0_iso":"B28","adm0_diff":null,"adm0_tlc":"B28","adm0_a3_us":"SAH","adm0_a3_fr":"MAR","adm0_a3_ru":"SAH","adm0_a3_es":"SAH","adm0_a3_cn":"SAH","adm0_a3_tw":"SAH","adm0_a3_in":"MAR","adm0_a3_np":"SAH","adm0_a3_pk":"SAH","adm0_a3_de":"SAH","adm0_a3_gb":"SAH","adm0_a3_br":"SAH","adm0_a3_il":"SAH","adm0_a3_ps":"MAR","adm0_a3_sa":"MAR","adm0_a3_eg":"SAH","adm0_a3_ma":"MAR","adm0_a3_pt":"SAH","adm0_a3_ar":"SAH","adm0_a3_jp":"SAH","adm0_a3_ko":"SAH","adm0_a3_vn":"SAH","adm0_a3_tr":"MAR","adm0_a3_id":"MAR","adm0_a3_pl":"MAR","adm0_a3_gr":"SAH","adm0_a3_it":"SAH","adm0_a3_nl":"MAR","adm0_a3_se":"SAH","adm0_a3_bd":"SAH","adm0_a3_ua":"SAH","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Northern Africa","region_wb":"Middle East & North Africa","name_len":9,"long_len":14,"abbrev_len":7,"tiny":-99,"homepart":1,"min_zoom":4.7,"min_label":6,"max_label":11,"label_x":-12.630304,"label_y":23.967592,"ne_id":1159321223,"wikidataid":"Q6250","name_ar":"الصحراء الغربية","name_bn":"পশ্চিম সাহারা","name_de":"Westsahara","name_en":"Western Sahara","name_es":"Sahara Occidental","name_fa":"صحرای غربی","name_fr":"Sahara occidental","name_el":"Δυτική Σαχάρα","name_he":"סהרה המערבית","name_hi":"पश्चिमी सहारा","name_hu":"Nyugat-Szahara","name_id":"Sahara Barat","name_it":"Sahara Occidentale","name_ja":"西サハラ","name_ko":"서사하라","name_nl":"Westelijke Sahara","name_pl":"Sahara Zachodnia","name_pt":"Sara Ocidental","name_ru":"Западная Сахара","name_sv":"Västsahara","name_tr":"Batı Sahra","name_uk":"Західна Сахара","name_ur":"مغربی صحارا","name_vi":"Tây Sahara","name_zh":"西撒哈拉","name_zht":"西撒哈拉","fclass_iso":"Admin-0 dependency","tlc_diff":null,"fclass_tlc":"Admin-0 dependency","fclass_us":null,"fclass_fr":"Unrecognized","fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":"Unrecognized","fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":"Unrecognized","fclass_sa":"Unrecognized","fclass_eg":null,"fclass_ma":"Unrecognized","fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":"Unrecognized","fclass_id":"Unrecognized","fclass_pl":"Unrecognized","fclass_gr":null,"fclass_it":null,"fclass_nl":"Unrecognized","fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ESH.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-8.665589565454809,27.656425889592356],[-8.665124477564191,27.589479071558227],[-8.684399786809053,27.395744126896005],[-8.6872936670174,25.881056219988906],[-11.96941891117116,25.933352769468268],[-11.937224493853321,23.374594224536168],[-12.874221564169575,23.284832261645178],[-13.118754441774712,22.771220201096256],[-12.929101935263532,21.327070624267563],[-16.845193650773993,21.33332347257488],[-17.06342322434257,20.999752102130827],[-17.02042843267577,21.422310288981578],[-17.00296179856109,21.420734157796577],[-14.750954555713534,21.500600083903663],[-14.630832688851072,21.860939846274903],[-14.221167771857253,22.31016307218816],[-13.891110398809047,23.691009019459305],[-12.50096269372537,24.7701162785782],[-12.03075883630163,26.030866197203068],[-11.718219773800357,26.104091701760623],[-11.392554897497007,26.883423977154393],[-10.551262579785273,26.990807603456886],[-10.189424200877582,26.860944729107405],[-9.735343390328879,26.860944729107405],[-9.41303748212448,27.088476060488574],[-8.794883999049077,27.120696316022507],[-8.817828334986672,27.656425889592356],[-8.665589565454809,27.656425889592356]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Republic of the Congo","sov_a3":"COG","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Republic of the Congo","adm0_a3":"COG","geou_dif":0,"geounit":"Republic of the Congo","gu_a3":"COG","su_dif":0,"subunit":"Republic of the Congo","su_a3":"COG","brk_diff":0,"name":"Congo","name_long":"Republic of the Congo","brk_a3":"COG","brk_name":"Republic of the Congo","brk_group":null,"abbrev":"Rep. Congo","postal":"CG","formal_en":"Republic of the Congo","formal_fr":null,"name_ciawf":"Congo, Republic of the","note_adm0":null,"note_brk":null,"name_sort":"Congo, Rep.","name_alt":null,"mapcolor7":2,"mapcolor8":1,"mapcolor9":3,"mapcolor13":10,"pop_est":5380508,"pop_rank":13,"pop_year":2019,"gdp_md":12267,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"CF","iso_a2":"CG","iso_a2_eh":"CG","iso_a3":"COG","iso_a3_eh":"COG","iso_n3":"178","iso_n3_eh":"178","un_a3":"178","wb_a2":"CG","wb_a3":"COG","woe_id":23424779,"woe_id_eh":23424779,"woe_note":"Exact WOE match as country","adm0_iso":"COG","adm0_diff":null,"adm0_tlc":"COG","adm0_a3_us":"COG","adm0_a3_fr":"COG","adm0_a3_ru":"COG","adm0_a3_es":"COG","adm0_a3_cn":"COG","adm0_a3_tw":"COG","adm0_a3_in":"COG","adm0_a3_np":"COG","adm0_a3_pk":"COG","adm0_a3_de":"COG","adm0_a3_gb":"COG","adm0_a3_br":"COG","adm0_a3_il":"COG","adm0_a3_ps":"COG","adm0_a3_sa":"COG","adm0_a3_eg":"COG","adm0_a3_ma":"COG","adm0_a3_pt":"COG","adm0_a3_ar":"COG","adm0_a3_jp":"COG","adm0_a3_ko":"COG","adm0_a3_vn":"COG","adm0_a3_tr":"COG","adm0_a3_id":"COG","adm0_a3_pl":"COG","adm0_a3_gr":"COG","adm0_a3_it":"COG","adm0_a3_nl":"COG","adm0_a3_se":"COG","adm0_a3_bd":"COG","adm0_a3_ua":"COG","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Middle Africa","region_wb":"Sub-Saharan Africa","name_len":5,"long_len":21,"abbrev_len":10,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":15.9005,"label_y":0.142331,"ne_id":1159320515,"wikidataid":"Q971","name_ar":"جمهورية الكونغو","name_bn":"কঙ্গো প্রজাতন্ত্র","name_de":"Republik Kongo","name_en":"Republic of the Congo","name_es":"República del Congo","name_fa":"جمهوری کنگو","name_fr":"République du Congo","name_el":"Δημοκρατία του Κονγκό","name_he":"הרפובליקה של קונגו","name_hi":"कांगो गणराज्य","name_hu":"Kongói Köztársaság","name_id":"Republik Kongo","name_it":"Repubblica del Congo","name_ja":"コンゴ共和国","name_ko":"콩고 공화국","name_nl":"Congo-Brazzaville","name_pl":"Kongo","name_pt":"República do Congo","name_ru":"Республика Конго","name_sv":"Kongo-Brazzaville","name_tr":"Kongo Cumhuriyeti","name_uk":"Республіка Конго","name_ur":"جمہوریہ کانگو","name_vi":"Cộng hòa Congo","name_zh":"刚果共和国","name_zht":"剛果共和國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"COG.geojson"},"geometry":{"type":"Polygon","coordinates":[[[18.45306521980993,3.504385891123349],[18.393792351971143,2.90044342692822],[18.094275750407434,2.365721543788055],[17.898835483479587,1.741831976728278],[17.774191928791566,0.855658677571085],[17.826540154703252,0.288923244626105],[17.66355268725468,-0.058083998213817],[17.638644646889986,-0.424831638189247],[17.523716261472856,-0.743830254726987],[16.865306837642123,-1.225816338713287],[16.407091912510054,-1.740927015798682],[15.972803175529151,-2.712392266453612],[16.0062895036543,-3.535132744972529],[15.753540073314753,-3.855164890156097],[15.170991652088444,-4.343507175314301],[14.582603794013181,-4.97023894615014],[14.209034864975223,-4.793092136253598],[14.144956088933299,-4.510008640158716],[13.600234816144678,-4.50013844159097],[13.258240187237048,-4.882957452009165],[12.995517205465177,-4.781103203961884],[12.620759718484493,-4.438023369976136],[12.318607618873926,-4.606230157086188],[11.91496300624209,-5.037986748884791],[11.093772820691925,-3.978826592630547],[11.855121697648116,-3.426870619321051],[11.478038771214303,-2.765618991714241],[11.820963575903193,-2.514161472181982],[12.495702752338161,-2.391688327650243],[12.575284458067642,-1.948511244315135],[13.109618767965628,-2.428740329603514],[13.99240726080771,-2.4708049454891],[14.299210239324566,-1.998275648612214],[14.425455763413595,-1.333406670744971],[14.316418491277744,-0.552627455247048],[13.843320753645656,0.038757635901149],[14.276265903386957,1.196929836426619],[14.026668735417218,1.395677395021153],[13.282631463278818,1.31418366129688],[13.003113641012078,1.83089630778332],[13.075822381246752,2.267097072759015],[14.33781253424658,2.227874660649491],[15.146341993885244,1.964014797367184],[15.940918816805066,1.727672634280296],[16.012852410555354,2.267639675298085],[16.537058139724138,3.198254706226279],[17.133042433346304,3.728196519379452],[17.809900343505262,3.56019643799857],[18.45306521980993,3.504385891123349]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Democratic Republic of the Congo","sov_a3":"COD","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Democratic Republic of the Congo","adm0_a3":"COD","geou_dif":0,"geounit":"Democratic Republic of the Congo","gu_a3":"COD","su_dif":0,"subunit":"Democratic Republic of the Congo","su_a3":"COD","brk_diff":0,"name":"Dem. Rep. Congo","name_long":"Democratic Republic of the Congo","brk_a3":"COD","brk_name":"Democratic Republic of the Congo","brk_group":null,"abbrev":"D.R.C.","postal":"DRC","formal_en":"Democratic Republic of the Congo","formal_fr":null,"name_ciawf":"Congo, Democratic Republic of the","note_adm0":null,"note_brk":null,"name_sort":"Congo, Dem. Rep.","name_alt":null,"mapcolor7":4,"mapcolor8":4,"mapcolor9":4,"mapcolor13":7,"pop_est":86790567,"pop_rank":16,"pop_year":2019,"gdp_md":50400,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"CG","iso_a2":"CD","iso_a2_eh":"CD","iso_a3":"COD","iso_a3_eh":"COD","iso_n3":"180","iso_n3_eh":"180","un_a3":"180","wb_a2":"ZR","wb_a3":"ZAR","woe_id":23424780,"woe_id_eh":23424780,"woe_note":"Exact WOE match as country","adm0_iso":"COD","adm0_diff":null,"adm0_tlc":"COD","adm0_a3_us":"COD","adm0_a3_fr":"COD","adm0_a3_ru":"COD","adm0_a3_es":"COD","adm0_a3_cn":"COD","adm0_a3_tw":"COD","adm0_a3_in":"COD","adm0_a3_np":"COD","adm0_a3_pk":"COD","adm0_a3_de":"COD","adm0_a3_gb":"COD","adm0_a3_br":"COD","adm0_a3_il":"COD","adm0_a3_ps":"COD","adm0_a3_sa":"COD","adm0_a3_eg":"COD","adm0_a3_ma":"COD","adm0_a3_pt":"COD","adm0_a3_ar":"COD","adm0_a3_jp":"COD","adm0_a3_ko":"COD","adm0_a3_vn":"COD","adm0_a3_tr":"COD","adm0_a3_id":"COD","adm0_a3_pl":"COD","adm0_a3_gr":"COD","adm0_a3_it":"COD","adm0_a3_nl":"COD","adm0_a3_se":"COD","adm0_a3_bd":"COD","adm0_a3_ua":"COD","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Middle Africa","region_wb":"Sub-Saharan Africa","name_len":15,"long_len":32,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2,"max_label":7,"label_x":23.458829,"label_y":-1.858167,"ne_id":1159320513,"wikidataid":"Q974","name_ar":"جمهورية الكونغو الديمقراطية","name_bn":"গণতান্ত্রিক কঙ্গো প্রজাতন্ত্র","name_de":"Demokratische Republik Kongo","name_en":"Democratic Republic of the Congo","name_es":"República Democrática del Congo","name_fa":"جمهوری دموکراتیک کنگو","name_fr":"République démocratique du Congo","name_el":"Λαϊκή Δημοκρατία του Κονγκό","name_he":"הרפובליקה הדמוקרטית של קונגו","name_hi":"कांगो लोकतान्त्रिक गणराज्य","name_hu":"Kongói Demokratikus Köztársaság","name_id":"Republik Demokratik Kongo","name_it":"Repubblica Democratica del Congo","name_ja":"コンゴ民主共和国","name_ko":"콩고 민주 공화국","name_nl":"Congo-Kinshasa","name_pl":"Demokratyczna Republika Konga","name_pt":"República Democrática do Congo","name_ru":"Демократическая Республика Конго","name_sv":"Kongo-Kinshasa","name_tr":"Demokratik Kongo Cumhuriyeti","name_uk":"Демократична Республіка Конго","name_ur":"جمہوری جمہوریہ کانگو","name_vi":"Cộng hòa Dân chủ Congo","name_zh":"刚果民主共和国","name_zht":"剛果民主共和國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"COD.geojson"},"geometry":{"type":"Polygon","coordinates":[[[29.339997592900346,-4.499983412294092],[29.519986606572928,-5.419978936386315],[29.419992710088167,-5.939998874539434],[29.620032179490014,-6.520015150583426],[30.199996779101696,-7.079980970898163],[30.74001549655179,-8.340007419470915],[30.740009731422095,-8.34000593035372],[30.346086053190817,-8.238256524288218],[29.00291222506047,-8.407031752153472],[28.734866570762502,-8.526559340044578],[28.449871046672826,-9.164918308146085],[28.67368167492893,-9.605924981324932],[28.49606977714177,-10.789883721564046],[28.372253045370428,-11.793646742401393],[28.642417433392353,-11.971568698782315],[29.34154788586909,-12.360743910372413],[29.61600141777123,-12.178894545137311],[29.69961388521949,-13.257226657771831],[28.934285922976837,-13.248958428605135],[28.523561639121027,-12.698604424696683],[28.155108676879987,-12.272480564017897],[27.388798862423783,-12.132747491100666],[27.164419793412463,-11.608748467661075],[26.553087599399618,-11.924439792532127],[25.752309604604733,-11.784965101776358],[25.418118116973204,-11.330935967659961],[24.78316979340295,-11.238693536018964],[24.31451622894795,-11.26282642989927],[24.25715538910399,-10.951992689663657],[23.912215203555718,-10.926826267137514],[23.45679080576744,-10.867863457892483],[22.83734541188474,-11.01762175867433],[22.402798292742375,-10.993075453335692],[22.155268182064308,-11.084801120653772],[22.208753289486395,-9.894796237836509],[21.875181919042348,-9.523707777548566],[21.8018013851879,-8.90870655684298],[21.949130893652043,-8.305900974158277],[21.74645592620331,-7.920084730667149],[21.7281107927397,-7.290872491081302],[20.5147481625265,-7.299605808138629],[20.6018229509383,-6.939317722199682],[20.091621534920648,-6.943090101756994],[20.037723016040218,-7.116361179231646],[19.41750247567316,-7.155428562044299],[19.16661339689611,-7.738183688999754],[19.01675174324967,-7.988245944860132],[18.464175652752687,-7.847014255406443],[18.13422163256905,-7.987677504104923],[17.472970004962235,-8.0685511206417],[17.08999596524717,-7.545688978712526],[16.8601908708452,-7.222297865429987],[16.573179965896145,-6.622644545115087],[16.326528354567046,-5.877470391466268],[13.375597364971895,-5.864241224799549],[13.024869419006961,-5.984388929878158],[12.735171339578699,-5.965682061388499],[12.32243167486351,-6.10009246177966],[12.182336866920252,-5.789930515163839],[12.436688266660868,-5.684303887559246],[12.468004184629736,-5.248361504745005],[12.63161176926579,-4.991271254092936],[12.995517205465177,-4.781103203961884],[13.258240187237048,-4.882957452009165],[13.600234816144678,-4.50013844159097],[14.144956088933299,-4.510008640158716],[14.209034864975223,-4.793092136253598],[14.582603794013181,-4.97023894615014],[15.170991652088444,-4.343507175314301],[15.753540073314753,-3.855164890156097],[16.0062895036543,-3.535132744972529],[15.972803175529151,-2.712392266453612],[16.407091912510054,-1.740927015798682],[16.865306837642123,-1.225816338713287],[17.523716261472856,-0.743830254726987],[17.638644646889986,-0.424831638189247],[17.66355268725468,-0.058083998213817],[17.826540154703252,0.288923244626105],[17.774191928791566,0.855658677571085],[17.898835483479587,1.741831976728278],[18.094275750407434,2.365721543788055],[18.393792351971143,2.90044342692822],[18.45306521980993,3.504385891123349],[18.54298221199778,4.201785183118318],[18.93231245288476,4.709506130385975],[19.46778364429315,5.03152781821278],[20.290679152108936,4.691677761245288],[20.927591180106276,4.322785549329737],[21.659122755630023,4.22434194581372],[22.405123732195538,4.029160061047321],[22.70412356943629,4.633050848810157],[22.841479526468106,4.710126247573484],[23.29721398285014,4.609693101414223],[24.410531040146253,5.10878408448913],[24.805028924262416,4.89724660890235],[25.12883344900328,4.92724477784779],[25.278798455514305,5.170408229997192],[25.650455356557472,5.256087754737123],[26.402760857862543,5.150874538590871],[27.04406538260471,5.127852688004836],[27.37422610851749,5.233944403500061],[27.97997724784281,4.408413397637375],[28.428993768026913,4.287154649264494],[28.696677687298802,4.455077215996937],[29.1590784034465,4.389267279473231],[29.71599531425602,4.600804755060153],[29.953500197069474,4.173699042167684],[30.833852421715427,3.509171604222463],[30.83385989759381,3.509165961110341],[30.77334679538004,2.339883327642127],[31.174149204235817,2.204465236821264],[30.85267011894806,1.849396470543809],[30.46850752129029,1.583805446779706],[30.086153598762706,1.062312730306289],[29.875778842902434,0.597379868976361],[29.819503208136638,-0.205310153813372],[29.58783776217217,-0.587405694179381],[29.579466180140884,-1.341313164885626],[29.291886834436614,-1.620055840667987],[29.254834832483343,-2.215109958508911],[29.117478875451553,-2.292211195488385],[29.024926385216787,-2.839257907730158],[29.276383904749053,-3.293907159034063],[29.339997592900346,-4.499983412294092]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Namibia","sov_a3":"NAM","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Namibia","adm0_a3":"NAM","geou_dif":0,"geounit":"Namibia","gu_a3":"NAM","su_dif":0,"subunit":"Namibia","su_a3":"NAM","brk_diff":0,"name":"Namibia","name_long":"Namibia","brk_a3":"NAM","brk_name":"Namibia","brk_group":null,"abbrev":"Nam.","postal":"NA","formal_en":"Republic of Namibia","formal_fr":null,"name_ciawf":"Namibia","note_adm0":null,"note_brk":null,"name_sort":"Namibia","name_alt":null,"mapcolor7":4,"mapcolor8":1,"mapcolor9":1,"mapcolor13":7,"pop_est":2494530,"pop_rank":12,"pop_year":2019,"gdp_md":12366,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"WA","iso_a2":"NA","iso_a2_eh":"NA","iso_a3":"NAM","iso_a3_eh":"NAM","iso_n3":"516","iso_n3_eh":"516","un_a3":"516","wb_a2":"NA","wb_a3":"NAM","woe_id":23424987,"woe_id_eh":23424987,"woe_note":"Exact WOE match as country","adm0_iso":"NAM","adm0_diff":null,"adm0_tlc":"NAM","adm0_a3_us":"NAM","adm0_a3_fr":"NAM","adm0_a3_ru":"NAM","adm0_a3_es":"NAM","adm0_a3_cn":"NAM","adm0_a3_tw":"NAM","adm0_a3_in":"NAM","adm0_a3_np":"NAM","adm0_a3_pk":"NAM","adm0_a3_de":"NAM","adm0_a3_gb":"NAM","adm0_a3_br":"NAM","adm0_a3_il":"NAM","adm0_a3_ps":"NAM","adm0_a3_sa":"NAM","adm0_a3_eg":"NAM","adm0_a3_ma":"NAM","adm0_a3_pt":"NAM","adm0_a3_ar":"NAM","adm0_a3_jp":"NAM","adm0_a3_ko":"NAM","adm0_a3_vn":"NAM","adm0_a3_tr":"NAM","adm0_a3_id":"NAM","adm0_a3_pl":"NAM","adm0_a3_gr":"NAM","adm0_a3_it":"NAM","adm0_a3_nl":"NAM","adm0_a3_se":"NAM","adm0_a3_bd":"NAM","adm0_a3_ua":"NAM","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Southern Africa","region_wb":"Sub-Saharan Africa","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":7.5,"label_x":17.108166,"label_y":-20.575298,"ne_id":1159321085,"wikidataid":"Q1030","name_ar":"ناميبيا","name_bn":"নামিবিয়া","name_de":"Namibia","name_en":"Namibia","name_es":"Namibia","name_fa":"نامیبیا","name_fr":"Namibie","name_el":"Ναμίμπια","name_he":"נמיביה","name_hi":"नामीबिया","name_hu":"Namíbia","name_id":"Namibia","name_it":"Namibia","name_ja":"ナミビア","name_ko":"나미비아","name_nl":"Namibië","name_pl":"Namibia","name_pt":"Namíbia","name_ru":"Намибия","name_sv":"Namibia","name_tr":"Namibya","name_uk":"Намібія","name_ur":"نمیبیا","name_vi":"Namibia","name_zh":"纳米比亚","name_zht":"納米比亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"NAM.geojson"},"geometry":{"type":"Polygon","coordinates":[[[19.895767856534434,-24.76779021576059],[19.894734327888614,-28.461104831660776],[19.002127312911085,-28.972443129188868],[18.464899122804752,-29.04546192801728],[17.83615197110953,-28.85637786226132],[17.387497185951503,-28.78351409272978],[17.218928663815404,-28.35594329194681],[16.824017368240902,-28.08216155366447],[16.344976840895242,-28.5767050106977],[15.601818068105816,-27.821247247022804],[15.21047244635946,-27.090955905874047],[14.989710727608553,-26.117371921495156],[14.743214145576331,-25.39292001719538],[14.408144158595833,-23.853014011329847],[14.385716586981149,-22.65665292734069],[14.257714064194175,-22.111208184499958],[13.86864220546866,-21.699036960539978],[13.35249799973744,-20.872834161057504],[12.826845330464494,-19.673165785401665],[12.608564080463621,-19.0453488094877],[11.794918654028066,-18.069129327061916],[11.734198846085121,-17.301889336824473],[12.215461460019355,-17.111668389558083],[12.814081251688407,-16.94134286872407],[13.462362094789967,-16.971211846588773],[14.05850141770901,-17.423380629142663],[14.209706658595024,-17.35310068122572],[18.263309360434164,-17.309950860262006],[18.956186964603603,-17.789094740472258],[21.377176141045567,-17.930636488519696],[23.215048455506064,-17.523116143465984],[24.033861525170778,-17.295843194246324],[24.682349074001507,-17.353410739819473],[25.07695031098226,-17.57882333747662],[25.08444339366457,-17.661815687737374],[24.520705193792537,-17.887124932529936],[24.217364536239213,-17.88934701911849],[23.579005568137717,-18.28126108162006],[23.1968583513393,-17.869038181227786],[21.655040317478978,-18.219146010005225],[20.910641310314535,-18.252218926672022],[20.88113406747587,-21.814327080983148],[19.89545779794068,-21.84915699634787],[19.895767856534434,-24.76779021576059]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"South Africa","sov_a3":"ZAF","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"South Africa","adm0_a3":"ZAF","geou_dif":0,"geounit":"South Africa","gu_a3":"ZAF","su_dif":0,"subunit":"South Africa","su_a3":"ZAF","brk_diff":0,"name":"South Africa","name_long":"South Africa","brk_a3":"ZAF","brk_name":"South Africa","brk_group":null,"abbrev":"S.Af.","postal":"ZA","formal_en":"Republic of South Africa","formal_fr":null,"name_ciawf":"South Africa","note_adm0":null,"note_brk":null,"name_sort":"South Africa","name_alt":null,"mapcolor7":2,"mapcolor8":3,"mapcolor9":4,"mapcolor13":2,"pop_est":58558270,"pop_rank":16,"pop_year":2019,"gdp_md":351431,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"3. Upper middle income","fips_10":"SF","iso_a2":"ZA","iso_a2_eh":"ZA","iso_a3":"ZAF","iso_a3_eh":"ZAF","iso_n3":"710","iso_n3_eh":"710","un_a3":"710","wb_a2":"ZA","wb_a3":"ZAF","woe_id":23424942,"woe_id_eh":23424942,"woe_note":"Exact WOE match as country","adm0_iso":"ZAF","adm0_diff":null,"adm0_tlc":"ZAF","adm0_a3_us":"ZAF","adm0_a3_fr":"ZAF","adm0_a3_ru":"ZAF","adm0_a3_es":"ZAF","adm0_a3_cn":"ZAF","adm0_a3_tw":"ZAF","adm0_a3_in":"ZAF","adm0_a3_np":"ZAF","adm0_a3_pk":"ZAF","adm0_a3_de":"ZAF","adm0_a3_gb":"ZAF","adm0_a3_br":"ZAF","adm0_a3_il":"ZAF","adm0_a3_ps":"ZAF","adm0_a3_sa":"ZAF","adm0_a3_eg":"ZAF","adm0_a3_ma":"ZAF","adm0_a3_pt":"ZAF","adm0_a3_ar":"ZAF","adm0_a3_jp":"ZAF","adm0_a3_ko":"ZAF","adm0_a3_vn":"ZAF","adm0_a3_tr":"ZAF","adm0_a3_id":"ZAF","adm0_a3_pl":"ZAF","adm0_a3_gr":"ZAF","adm0_a3_it":"ZAF","adm0_a3_nl":"ZAF","adm0_a3_se":"ZAF","adm0_a3_bd":"ZAF","adm0_a3_ua":"ZAF","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Southern Africa","region_wb":"Sub-Saharan Africa","name_len":12,"long_len":12,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":6.7,"label_x":23.665734,"label_y":-29.708776,"ne_id":1159321431,"wikidataid":"Q258","name_ar":"جنوب أفريقيا","name_bn":"দক্ষিণ আফ্রিকা","name_de":"Südafrika","name_en":"South Africa","name_es":"Sudáfrica","name_fa":"آفریقای جنوبی","name_fr":"Afrique du Sud","name_el":"Νότια Αφρική","name_he":"דרום אפריקה","name_hi":"दक्षिण अफ़्रीका","name_hu":"Dél-afrikai Köztársaság","name_id":"Afrika Selatan","name_it":"Sudafrica","name_ja":"南アフリカ共和国","name_ko":"남아프리카 공화국","name_nl":"Zuid-Afrika","name_pl":"Południowa Afryka","name_pt":"África do Sul","name_ru":"ЮАР","name_sv":"Sydafrika","name_tr":"Güney Afrika Cumhuriyeti","name_uk":"Південно-Африканська Республіка","name_ur":"جنوبی افریقا","name_vi":"Cộng hòa Nam Phi","name_zh":"南非","name_zht":"南非","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ZAF.geojson"},"geometry":{"type":"Polygon","coordinates":[[[16.344976840895242,-28.5767050106977],[16.824017368240902,-28.08216155366447],[17.218928663815404,-28.35594329194681],[17.387497185951503,-28.78351409272978],[17.83615197110953,-28.85637786226132],[18.464899122804752,-29.04546192801728],[19.002127312911085,-28.972443129188868],[19.894734327888614,-28.461104831660776],[19.895767856534434,-24.76779021576059],[20.16572553882719,-24.91796192800077],[20.75860924651184,-25.86813648855145],[20.66647016773544,-26.477453301704923],[20.88960900237174,-26.828542982695915],[21.605896030369394,-26.726533705351756],[22.105968865657868,-26.280256036079138],[22.57953169118059,-25.979447523708146],[22.8242712745149,-25.50045867279477],[23.312096795350186,-25.26868987396572],[23.73356977712271,-25.390129489851617],[24.211266717228796,-25.670215752873574],[25.025170525825786,-25.7196700985769],[25.66466637543772,-25.486816094669713],[25.76584882986521,-25.17484547292368],[25.94165205252216,-24.69637338633322],[26.4857532081233,-24.616326592713104],[26.786406691197413,-24.240690606383485],[27.119409620886245,-23.574323011979775],[28.01723595552525,-22.82775359465908],[29.43218834810904,-22.091312758067588],[29.839036899542972,-22.102216485281176],[30.322883335091774,-22.271611830333935],[30.65986535006709,-22.151567478119915],[31.19140913262129,-22.2515096981724],[31.670397983534656,-23.658969008073864],[31.930588820124253,-24.36941659922254],[31.75240848158188,-25.484283949487413],[31.83777794772806,-25.84333180105135],[31.333157586397903,-25.66019052500895],[31.04407962415715,-25.731452325139443],[30.949666782359913,-26.02264902110415],[30.67660851412964,-26.398078301704608],[30.68596194837448,-26.743845310169533],[31.28277306491333,-27.285879408478998],[31.86806033705108,-27.177927341421277],[32.07166548028107,-26.73382008230491],[32.830120477028885,-26.742191664336197],[32.580264926897684,-27.470157566031816],[32.46213260267845,-28.301011244420557],[32.20338870619304,-28.75240488049007],[31.521001417778876,-29.257386976846256],[31.325561150851,-29.401977634398914],[30.901762729625347,-29.909956963828037],[30.62281334811382,-30.42377573010613],[30.05571618014278,-31.140269463832958],[28.92555260591954,-32.1720411109725],[28.2197558936771,-32.771952813448856],[27.464608188595975,-33.2269637997788],[26.419452345492825,-33.61495045342619],[25.90966434093349,-33.6670402971764],[25.780628289500697,-33.94464609144834],[25.172861769315972,-33.796851495093584],[24.677853224392123,-33.98717579522455],[23.594043409934642,-33.794474379208154],[22.988188917744736,-33.91643075941698],[22.574157342222236,-33.86408253350531],[21.542799106541025,-34.258838799782936],[20.689052768647002,-34.417175388325234],[20.071261020597632,-34.79513681410799],[19.61640506356457,-34.81916635512371],[19.193278435958717,-34.46259897230979],[18.85531456876987,-34.444305515278465],[18.42464318204938,-33.99787281670897],[18.377410922934615,-34.13652068454807],[18.24449913907992,-33.86775156019803],[18.250080193767445,-33.28143075941444],[17.92519046394844,-32.61129078545343],[18.247909783611192,-32.42913136162457],[18.22176150887148,-31.66163298922567],[17.56691775886887,-30.725721123987547],[17.064416131262703,-29.878641045859162],[17.062917514726223,-29.875953871379984],[16.344976840895242,-28.5767050106977]],[[28.978262566857243,-28.95559661226171],[28.541700066855498,-28.64750172293757],[28.074338413207784,-28.851468601193588],[27.532511020627478,-29.24271087007536],[26.999261915807637,-29.875953871379984],[27.749397006956485,-30.645105889612225],[28.107204624145425,-30.54573211031495],[28.29106937023991,-30.2262167294543],[28.84839969250774,-30.070050551068256],[29.018415154748027,-29.74376555757737],[29.32516645683259,-29.257386976846256],[28.978262566857243,-28.95559661226171]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Libya","sov_a3":"LBY","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Libya","adm0_a3":"LBY","geou_dif":0,"geounit":"Libya","gu_a3":"LBY","su_dif":0,"subunit":"Libya","su_a3":"LBY","brk_diff":0,"name":"Libya","name_long":"Libya","brk_a3":"LBY","brk_name":"Libya","brk_group":null,"abbrev":"Libya","postal":"LY","formal_en":"Libya","formal_fr":null,"name_ciawf":"Libya","note_adm0":null,"note_brk":null,"name_sort":"Libya","name_alt":null,"mapcolor7":1,"mapcolor8":2,"mapcolor9":2,"mapcolor13":11,"pop_est":6777452,"pop_rank":13,"pop_year":2019,"gdp_md":52091,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"LY","iso_a2":"LY","iso_a2_eh":"LY","iso_a3":"LBY","iso_a3_eh":"LBY","iso_n3":"434","iso_n3_eh":"434","un_a3":"434","wb_a2":"LY","wb_a3":"LBY","woe_id":23424882,"woe_id_eh":23424882,"woe_note":"Exact WOE match as country","adm0_iso":"LBY","adm0_diff":null,"adm0_tlc":"LBY","adm0_a3_us":"LBY","adm0_a3_fr":"LBY","adm0_a3_ru":"LBY","adm0_a3_es":"LBY","adm0_a3_cn":"LBY","adm0_a3_tw":"LBY","adm0_a3_in":"LBY","adm0_a3_np":"LBY","adm0_a3_pk":"LBY","adm0_a3_de":"LBY","adm0_a3_gb":"LBY","adm0_a3_br":"LBY","adm0_a3_il":"LBY","adm0_a3_ps":"LBY","adm0_a3_sa":"LBY","adm0_a3_eg":"LBY","adm0_a3_ma":"LBY","adm0_a3_pt":"LBY","adm0_a3_ar":"LBY","adm0_a3_jp":"LBY","adm0_a3_ko":"LBY","adm0_a3_vn":"LBY","adm0_a3_tr":"LBY","adm0_a3_id":"LBY","adm0_a3_pl":"LBY","adm0_a3_gr":"LBY","adm0_a3_it":"LBY","adm0_a3_nl":"LBY","adm0_a3_se":"LBY","adm0_a3_bd":"LBY","adm0_a3_ua":"LBY","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Northern Africa","region_wb":"Middle East & North Africa","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":18.011015,"label_y":26.638944,"ne_id":1159321017,"wikidataid":"Q1016","name_ar":"ليبيا","name_bn":"লিবিয়া","name_de":"Libyen","name_en":"Libya","name_es":"Libia","name_fa":"لیبی","name_fr":"Libye","name_el":"Λιβύη","name_he":"לוב","name_hi":"लीबिया","name_hu":"Líbia","name_id":"Libya","name_it":"Libia","name_ja":"リビア","name_ko":"리비아","name_nl":"Libië","name_pl":"Libia","name_pt":"Líbia","name_ru":"Ливия","name_sv":"Libyen","name_tr":"Libya","name_uk":"Лівія","name_ur":"لیبیا","name_vi":"Libya","name_zh":"利比亚","name_zht":"利比亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"LBY.geojson"},"geometry":{"type":"Polygon","coordinates":[[[25,22],[25.000000000000114,20.00304],[23.850000000000136,20],[23.83766000000014,19.580470000000105],[19.84926,21.49509],[15.86085,23.40972],[14.8513,22.862950000000126],[14.143870883855243,22.491288967371133],[13.581424594790462,23.04050608976928],[11.999505649471613,23.47166840259645],[11.560669386449005,24.097909247325518],[10.771363559622927,24.56253205006175],[10.303846876678362,24.379313259370917],[9.94826134607797,24.936953640232517],[9.910692579801776,25.365454616796796],[9.319410841518163,26.094324856057455],[9.716285841519664,26.512206325785655],[9.629056023811074,27.14095347748092],[9.756128370816782,27.688258571884205],[9.683884718472768,28.1441738957792],[9.859997999723447,28.959989732371014],[9.805634392952356,29.424638373323376],[9.482139926805274,30.307556057246188],[9.970017124072854,30.53932485607524],[10.056575148161699,30.961831366493527],[9.950225050505082,31.376069647745258],[10.636901482799487,31.761420803345757],[10.944789666394456,32.081814683555365],[11.432253452203696,32.368903103152874],[11.488787469131012,33.13699575452324],[12.66331,32.79278],[13.08326,32.87882],[13.91868,32.71196],[15.24563,32.26508],[15.71394,31.37626],[16.61162,31.18218],[18.02109,30.76357],[19.08641,30.26639],[19.57404,30.52582],[20.05335,30.98576],[19.82033,31.751790000000142],[20.13397,32.2382],[20.85452,32.7068],[21.54298,32.8432],[22.89576,32.63858],[23.2368,32.19149],[23.609130000000107,32.18726],[23.9275,32.01667],[24.92114,31.89936],[25.16482,31.56915],[24.80287,31.08929],[24.95762,30.6616],[24.70007,30.04419],[25,29.23865452953346],[25,25.682499996361],[25,22]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Tunisia","sov_a3":"TUN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Tunisia","adm0_a3":"TUN","geou_dif":0,"geounit":"Tunisia","gu_a3":"TUN","su_dif":0,"subunit":"Tunisia","su_a3":"TUN","brk_diff":0,"name":"Tunisia","name_long":"Tunisia","brk_a3":"TUN","brk_name":"Tunisia","brk_group":null,"abbrev":"Tun.","postal":"TN","formal_en":"Republic of Tunisia","formal_fr":null,"name_ciawf":"Tunisia","note_adm0":null,"note_brk":null,"name_sort":"Tunisia","name_alt":null,"mapcolor7":4,"mapcolor8":3,"mapcolor9":3,"mapcolor13":2,"pop_est":11694719,"pop_rank":14,"pop_year":2019,"gdp_md":38796,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"TS","iso_a2":"TN","iso_a2_eh":"TN","iso_a3":"TUN","iso_a3_eh":"TUN","iso_n3":"788","iso_n3_eh":"788","un_a3":"788","wb_a2":"TN","wb_a3":"TUN","woe_id":23424967,"woe_id_eh":23424967,"woe_note":"Exact WOE match as country","adm0_iso":"TUN","adm0_diff":null,"adm0_tlc":"TUN","adm0_a3_us":"TUN","adm0_a3_fr":"TUN","adm0_a3_ru":"TUN","adm0_a3_es":"TUN","adm0_a3_cn":"TUN","adm0_a3_tw":"TUN","adm0_a3_in":"TUN","adm0_a3_np":"TUN","adm0_a3_pk":"TUN","adm0_a3_de":"TUN","adm0_a3_gb":"TUN","adm0_a3_br":"TUN","adm0_a3_il":"TUN","adm0_a3_ps":"TUN","adm0_a3_sa":"TUN","adm0_a3_eg":"TUN","adm0_a3_ma":"TUN","adm0_a3_pt":"TUN","adm0_a3_ar":"TUN","adm0_a3_jp":"TUN","adm0_a3_ko":"TUN","adm0_a3_vn":"TUN","adm0_a3_tr":"TUN","adm0_a3_id":"TUN","adm0_a3_pl":"TUN","adm0_a3_gr":"TUN","adm0_a3_it":"TUN","adm0_a3_nl":"TUN","adm0_a3_se":"TUN","adm0_a3_bd":"TUN","adm0_a3_ua":"TUN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Northern Africa","region_wb":"Middle East & North Africa","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":9.007881,"label_y":33.687263,"ne_id":1159321327,"wikidataid":"Q948","name_ar":"تونس","name_bn":"তিউনিসিয়া","name_de":"Tunesien","name_en":"Tunisia","name_es":"Túnez","name_fa":"تونس","name_fr":"Tunisie","name_el":"Τυνησία","name_he":"תוניסיה","name_hi":"ट्यूनिशिया","name_hu":"Tunézia","name_id":"Tunisia","name_it":"Tunisia","name_ja":"チュニジア","name_ko":"튀니지","name_nl":"Tunesië","name_pl":"Tunezja","name_pt":"Tunísia","name_ru":"Тунис","name_sv":"Tunisien","name_tr":"Tunus","name_uk":"Туніс","name_ur":"تونس","name_vi":"Tuy-ni-di","name_zh":"突尼斯","name_zht":"突尼西亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"TUN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[9.482139926805274,30.307556057246188],[9.05560265466815,32.10269196220129],[8.439102817426118,32.50628489840082],[8.430472853233368,32.74833730725595],[7.612641635782182,33.34411489514896],[7.524481642292244,34.09737641045146],[8.140981479534304,34.65514598239379],[8.376367628623768,35.479876003555944],[8.217824334352315,36.433176988260286],[8.420964389691676,36.94642731378316],[9.509993523810607,37.349994411766545],[10.210002475636317,37.230001735984814],[10.180650262094531,36.724037787415085],[11.02886722173335,37.09210317641396],[11.100025668999251,36.899996039368915],[10.600004510143094,36.410000108377375],[10.593286573945138,35.94744436293281],[10.939518670300687,35.698984076473494],[10.807847120821009,34.83350718844919],[10.149592726287125,34.33077301689771],[10.339658644256616,33.78574168551532],[10.856836378633687,33.76874013929128],[11.108500603895122,33.293342800422195],[11.488787469131012,33.13699575452324],[11.432253452203696,32.368903103152874],[10.944789666394456,32.081814683555365],[10.636901482799487,31.761420803345757],[9.950225050505082,31.376069647745258],[10.056575148161699,30.961831366493527],[9.970017124072854,30.53932485607524],[9.482139926805274,30.307556057246188]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Zambia","sov_a3":"ZMB","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Zambia","adm0_a3":"ZMB","geou_dif":0,"geounit":"Zambia","gu_a3":"ZMB","su_dif":0,"subunit":"Zambia","su_a3":"ZMB","brk_diff":0,"name":"Zambia","name_long":"Zambia","brk_a3":"ZMB","brk_name":"Zambia","brk_group":null,"abbrev":"Zambia","postal":"ZM","formal_en":"Republic of Zambia","formal_fr":null,"name_ciawf":"Zambia","note_adm0":null,"note_brk":null,"name_sort":"Zambia","name_alt":null,"mapcolor7":5,"mapcolor8":8,"mapcolor9":5,"mapcolor13":13,"pop_est":17861030,"pop_rank":14,"pop_year":2019,"gdp_md":23309,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"4. Lower middle income","fips_10":"ZA","iso_a2":"ZM","iso_a2_eh":"ZM","iso_a3":"ZMB","iso_a3_eh":"ZMB","iso_n3":"894","iso_n3_eh":"894","un_a3":"894","wb_a2":"ZM","wb_a3":"ZMB","woe_id":23425003,"woe_id_eh":23425003,"woe_note":"Exact WOE match as country","adm0_iso":"ZMB","adm0_diff":null,"adm0_tlc":"ZMB","adm0_a3_us":"ZMB","adm0_a3_fr":"ZMB","adm0_a3_ru":"ZMB","adm0_a3_es":"ZMB","adm0_a3_cn":"ZMB","adm0_a3_tw":"ZMB","adm0_a3_in":"ZMB","adm0_a3_np":"ZMB","adm0_a3_pk":"ZMB","adm0_a3_de":"ZMB","adm0_a3_gb":"ZMB","adm0_a3_br":"ZMB","adm0_a3_il":"ZMB","adm0_a3_ps":"ZMB","adm0_a3_sa":"ZMB","adm0_a3_eg":"ZMB","adm0_a3_ma":"ZMB","adm0_a3_pt":"ZMB","adm0_a3_ar":"ZMB","adm0_a3_jp":"ZMB","adm0_a3_ko":"ZMB","adm0_a3_vn":"ZMB","adm0_a3_tr":"ZMB","adm0_a3_id":"ZMB","adm0_a3_pl":"ZMB","adm0_a3_gr":"ZMB","adm0_a3_it":"ZMB","adm0_a3_nl":"ZMB","adm0_a3_se":"ZMB","adm0_a3_bd":"ZMB","adm0_a3_ua":"ZMB","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":6,"long_len":6,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":26.395298,"label_y":-14.660804,"ne_id":1159321439,"wikidataid":"Q953","name_ar":"زامبيا","name_bn":"জাম্বিয়া","name_de":"Sambia","name_en":"Zambia","name_es":"Zambia","name_fa":"زامبیا","name_fr":"Zambie","name_el":"Ζάμπια","name_he":"זמביה","name_hi":"ज़ाम्बिया","name_hu":"Zambia","name_id":"Zambia","name_it":"Zambia","name_ja":"ザンビア","name_ko":"잠비아","name_nl":"Zambia","name_pl":"Zambia","name_pt":"Zâmbia","name_ru":"Замбия","name_sv":"Zambia","name_tr":"Zambiya","name_uk":"Замбія","name_ur":"زیمبیا","name_vi":"Zambia","name_zh":"赞比亚","name_zht":"尚比亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ZMB.geojson"},"geometry":{"type":"Polygon","coordinates":[[[30.740009731422095,-8.34000593035372],[31.15775133695005,-8.594578747317366],[31.556348097466497,-8.762048841998642],[32.19186486179194,-8.930358981973257],[32.75937544122132,-9.23059905358906],[33.2313879737753,-9.6767216935648],[33.48568769708359,-10.525558770391115],[33.315310499817286,-10.796549981329697],[33.114289178201915,-11.607198174692314],[33.306422153463075,-12.435778090060218],[32.991764357237884,-12.783870537978274],[32.68816531752313,-13.712857761289277],[33.214024692525214,-13.971860039936153],[30.17948123548183,-14.796099134991529],[30.27425581230511,-15.507786960515213],[29.516834344203147,-15.644677829656388],[28.947463413211267,-16.04305144619444],[28.8258687680285,-16.389748630440614],[28.467906121542683,-16.468400160388846],[27.59824344250276,-17.290830580314008],[27.044427117630732,-17.938026218337434],[26.70677330903564,-17.961228936436484],[26.381935255648926,-17.8460421688579],[25.264225701608012,-17.736539808831417],[25.08444339366457,-17.661815687737374],[25.07695031098226,-17.57882333747662],[24.682349074001507,-17.353410739819473],[24.033861525170778,-17.295843194246324],[23.215048455506064,-17.523116143465984],[22.56247846852426,-16.898451429921813],[21.887842644953874,-16.08031015387688],[21.933886346125917,-12.898437188369359],[24.016136508894675,-12.911046237848574],[23.930922072045377,-12.565847670138856],[24.079905226342845,-12.191296888887365],[23.904153680118185,-11.722281589406322],[24.01789350759259,-11.23729827234709],[23.912215203555718,-10.926826267137514],[24.25715538910399,-10.951992689663657],[24.31451622894795,-11.26282642989927],[24.78316979340295,-11.238693536018964],[25.418118116973204,-11.330935967659961],[25.752309604604733,-11.784965101776358],[26.553087599399618,-11.924439792532127],[27.164419793412463,-11.608748467661075],[27.388798862423783,-12.132747491100666],[28.155108676879987,-12.272480564017897],[28.523561639121027,-12.698604424696683],[28.934285922976837,-13.248958428605135],[29.69961388521949,-13.257226657771831],[29.61600141777123,-12.178894545137311],[29.34154788586909,-12.360743910372413],[28.642417433392353,-11.971568698782315],[28.372253045370428,-11.793646742401393],[28.49606977714177,-10.789883721564046],[28.67368167492893,-9.605924981324932],[28.449871046672826,-9.164918308146085],[28.734866570762502,-8.526559340044578],[29.00291222506047,-8.407031752153472],[30.346086053190817,-8.238256524288218],[30.740009731422095,-8.34000593035372]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Sierra Leone","sov_a3":"SLE","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Sierra Leone","adm0_a3":"SLE","geou_dif":0,"geounit":"Sierra Leone","gu_a3":"SLE","su_dif":0,"subunit":"Sierra Leone","su_a3":"SLE","brk_diff":0,"name":"Sierra Leone","name_long":"Sierra Leone","brk_a3":"SLE","brk_name":"Sierra Leone","brk_group":null,"abbrev":"S.L.","postal":"SL","formal_en":"Republic of Sierra Leone","formal_fr":null,"name_ciawf":"Sierra Leone","note_adm0":null,"note_brk":null,"name_sort":"Sierra Leone","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":1,"mapcolor13":7,"pop_est":7813215,"pop_rank":13,"pop_year":2019,"gdp_md":4121,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"SL","iso_a2":"SL","iso_a2_eh":"SL","iso_a3":"SLE","iso_a3_eh":"SLE","iso_n3":"694","iso_n3_eh":"694","un_a3":"694","wb_a2":"SL","wb_a3":"SLE","woe_id":23424946,"woe_id_eh":23424946,"woe_note":"Exact WOE match as country","adm0_iso":"SLE","adm0_diff":null,"adm0_tlc":"SLE","adm0_a3_us":"SLE","adm0_a3_fr":"SLE","adm0_a3_ru":"SLE","adm0_a3_es":"SLE","adm0_a3_cn":"SLE","adm0_a3_tw":"SLE","adm0_a3_in":"SLE","adm0_a3_np":"SLE","adm0_a3_pk":"SLE","adm0_a3_de":"SLE","adm0_a3_gb":"SLE","adm0_a3_br":"SLE","adm0_a3_il":"SLE","adm0_a3_ps":"SLE","adm0_a3_sa":"SLE","adm0_a3_eg":"SLE","adm0_a3_ma":"SLE","adm0_a3_pt":"SLE","adm0_a3_ar":"SLE","adm0_a3_jp":"SLE","adm0_a3_ko":"SLE","adm0_a3_vn":"SLE","adm0_a3_tr":"SLE","adm0_a3_id":"SLE","adm0_a3_pl":"SLE","adm0_a3_gr":"SLE","adm0_a3_it":"SLE","adm0_a3_nl":"SLE","adm0_a3_se":"SLE","adm0_a3_bd":"SLE","adm0_a3_ua":"SLE","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":12,"long_len":12,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":-11.763677,"label_y":8.617449,"ne_id":1159321251,"wikidataid":"Q1044","name_ar":"سيراليون","name_bn":"সিয়েরা লিওন","name_de":"Sierra Leone","name_en":"Sierra Leone","name_es":"Sierra Leona","name_fa":"سیرالئون","name_fr":"Sierra Leone","name_el":"Σιέρα Λεόνε","name_he":"סיירה לאון","name_hi":"सिएरा लियोन","name_hu":"Sierra Leone","name_id":"Sierra Leone","name_it":"Sierra Leone","name_ja":"シエラレオネ","name_ko":"시에라리온","name_nl":"Sierra Leone","name_pl":"Sierra Leone","name_pt":"Serra Leoa","name_ru":"Сьерра-Леоне","name_sv":"Sierra Leone","name_tr":"Sierra Leone","name_uk":"Сьєрра-Леоне","name_ur":"سیرالیون","name_vi":"Sierra Leone","name_zh":"塞拉利昂","name_zht":"獅子山","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SLE.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-13.246550258832515,8.903048610871508],[-12.71195756677308,9.342711696810767],[-12.59671912276221,9.62018830000197],[-12.425928514037565,9.835834051955956],[-12.150338100625005,9.858571682164381],[-11.917277390988659,10.046983954300558],[-11.11748124840733,10.045872911006285],[-10.839151984083301,9.688246161330369],[-10.622395188835041,9.267910061068278],[-10.654770473665891,8.977178452994195],[-10.494315151399633,8.715540676300435],[-10.505477260774668,8.348896389189605],[-10.23009355309128,8.406205552601293],[-10.69559485517648,7.939464016141088],[-11.146704270868383,7.396706447779536],[-11.19980180504828,7.105845648624737],[-11.438779466182055,6.785916856305747],[-11.70819454593574,6.860098374860726],[-12.428098924193819,7.26294200279203],[-12.949049038128194,7.798645738145738],[-13.124025437868482,8.163946438016978],[-13.246550258832515,8.903048610871508]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Guinea","sov_a3":"GIN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Guinea","adm0_a3":"GIN","geou_dif":0,"geounit":"Guinea","gu_a3":"GIN","su_dif":0,"subunit":"Guinea","su_a3":"GIN","brk_diff":0,"name":"Guinea","name_long":"Guinea","brk_a3":"GIN","brk_name":"Guinea","brk_group":null,"abbrev":"Gin.","postal":"GN","formal_en":"Republic of Guinea","formal_fr":null,"name_ciawf":"Guinea","note_adm0":null,"note_brk":null,"name_sort":"Guinea","name_alt":null,"mapcolor7":6,"mapcolor8":3,"mapcolor9":7,"mapcolor13":2,"pop_est":12771246,"pop_rank":14,"pop_year":2019,"gdp_md":12296,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"GV","iso_a2":"GN","iso_a2_eh":"GN","iso_a3":"GIN","iso_a3_eh":"GIN","iso_n3":"324","iso_n3_eh":"324","un_a3":"324","wb_a2":"GN","wb_a3":"GIN","woe_id":23424835,"woe_id_eh":23424835,"woe_note":"Exact WOE match as country","adm0_iso":"GIN","adm0_diff":null,"adm0_tlc":"GIN","adm0_a3_us":"GIN","adm0_a3_fr":"GIN","adm0_a3_ru":"GIN","adm0_a3_es":"GIN","adm0_a3_cn":"GIN","adm0_a3_tw":"GIN","adm0_a3_in":"GIN","adm0_a3_np":"GIN","adm0_a3_pk":"GIN","adm0_a3_de":"GIN","adm0_a3_gb":"GIN","adm0_a3_br":"GIN","adm0_a3_il":"GIN","adm0_a3_ps":"GIN","adm0_a3_sa":"GIN","adm0_a3_eg":"GIN","adm0_a3_ma":"GIN","adm0_a3_pt":"GIN","adm0_a3_ar":"GIN","adm0_a3_jp":"GIN","adm0_a3_ko":"GIN","adm0_a3_vn":"GIN","adm0_a3_tr":"GIN","adm0_a3_id":"GIN","adm0_a3_pl":"GIN","adm0_a3_gr":"GIN","adm0_a3_it":"GIN","adm0_a3_nl":"GIN","adm0_a3_se":"GIN","adm0_a3_bd":"GIN","adm0_a3_ua":"GIN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":-10.016402,"label_y":10.618516,"ne_id":1159320795,"wikidataid":"Q1006","name_ar":"غينيا","name_bn":"গিনি","name_de":"Guinea","name_en":"Guinea","name_es":"Guinea","name_fa":"گینه","name_fr":"Guinée","name_el":"Γουινέα","name_he":"גינאה","name_hi":"गिनी","name_hu":"Guinea","name_id":"Guinea","name_it":"Guinea","name_ja":"ギニア","name_ko":"기니","name_nl":"Guinee","name_pl":"Gwinea","name_pt":"Guiné","name_ru":"Гвинея","name_sv":"Guinea","name_tr":"Gine","name_uk":"Гвінея","name_ur":"جمہوریہ گنی","name_vi":"Guinée","name_zh":"几内亚","name_zht":"幾內亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"GIN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-13.700476040084325,12.586182969610194],[-13.217818162478238,12.575873521367967],[-12.499050665730564,12.332089952031057],[-12.27859900557344,12.354440008997287],[-12.203564825885634,12.465647691289405],[-11.658300950557932,12.386582749882836],[-11.51394283695059,12.442987575729418],[-11.456168585648271,12.076834214725338],[-11.297573614944511,12.077971096235771],[-11.03655595543826,12.211244615116515],[-10.870829637078215,12.17788747807211],[-10.593223842806282,11.92397532800598],[-10.165213792348837,11.844083563682744],[-9.890992804392013,12.060478623904972],[-9.567911749703214,12.194243068892476],[-9.327616339546012,12.334286200403454],[-9.127473517279583,12.308060411015333],[-8.90526485842453,12.088358059126437],[-8.786099005559464,11.812560939984706],[-8.376304897484914,11.393645941610629],[-8.581305304386774,11.136245632364805],[-8.620321010767128,10.810890814655183],[-8.407310756860028,10.909256903522762],[-8.282357143578281,10.792597357623846],[-8.33537716310974,10.494811916541934],[-8.029943610048619,10.206534939001713],[-8.229337124046822,10.1290202905639],[-8.30961646161225,9.789531968622441],[-8.07911373537435,9.376223863152035],[-7.832100389019188,8.575704250518626],[-8.20349890790088,8.455453192575447],[-8.299048631208564,8.316443589710303],[-8.221792364932199,8.123328762235573],[-8.280703497744938,7.687179673692157],[-8.439298468448698,7.686042792181738],[-8.722123582382125,7.71167430259851],[-8.926064622422004,7.309037380396376],[-9.208786383490846,7.313920803247953],[-9.40334815106975,7.526905218938907],[-9.337279832384581,7.928534450711354],[-9.755342169625834,8.541055202666925],[-10.016566534861255,8.428503933135232],[-10.23009355309128,8.406205552601293],[-10.505477260774668,8.348896389189605],[-10.494315151399633,8.715540676300435],[-10.654770473665891,8.977178452994195],[-10.622395188835041,9.267910061068278],[-10.839151984083301,9.688246161330369],[-11.11748124840733,10.045872911006285],[-11.917277390988659,10.046983954300558],[-12.150338100625005,9.858571682164381],[-12.425928514037565,9.835834051955956],[-12.59671912276221,9.62018830000197],[-12.71195756677308,9.342711696810767],[-13.246550258832515,8.903048610871508],[-13.685153977909792,9.49474376061346],[-14.074044969122282,9.886166897008252],[-14.33007585291237,10.015719712763968],[-14.579698859098258,10.214467271358515],[-14.693231980843505,10.656300767454042],[-14.839553798877944,10.87657156009814],[-15.130311245168173,11.040411688679526],[-14.685687221728898,11.527823798056488],[-14.382191534878729,11.509271958863692],[-14.121406419317779,11.677117010947697],[-13.900799729863776,11.678718980348748],[-13.743160773157413,11.811269029177412],[-13.828271857142125,12.142644151249044],[-13.718743658899513,12.24718557377551],[-13.700476040084325,12.586182969610194]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Liberia","sov_a3":"LBR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Liberia","adm0_a3":"LBR","geou_dif":0,"geounit":"Liberia","gu_a3":"LBR","su_dif":0,"subunit":"Liberia","su_a3":"LBR","brk_diff":0,"name":"Liberia","name_long":"Liberia","brk_a3":"LBR","brk_name":"Liberia","brk_group":null,"abbrev":"Liberia","postal":"LR","formal_en":"Republic of Liberia","formal_fr":null,"name_ciawf":"Liberia","note_adm0":null,"note_brk":null,"name_sort":"Liberia","name_alt":null,"mapcolor7":2,"mapcolor8":3,"mapcolor9":4,"mapcolor13":9,"pop_est":4937374,"pop_rank":12,"pop_year":2019,"gdp_md":3070,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"LI","iso_a2":"LR","iso_a2_eh":"LR","iso_a3":"LBR","iso_a3_eh":"LBR","iso_n3":"430","iso_n3_eh":"430","un_a3":"430","wb_a2":"LR","wb_a3":"LBR","woe_id":23424876,"woe_id_eh":23424876,"woe_note":"Exact WOE match as country","adm0_iso":"LBR","adm0_diff":null,"adm0_tlc":"LBR","adm0_a3_us":"LBR","adm0_a3_fr":"LBR","adm0_a3_ru":"LBR","adm0_a3_es":"LBR","adm0_a3_cn":"LBR","adm0_a3_tw":"LBR","adm0_a3_in":"LBR","adm0_a3_np":"LBR","adm0_a3_pk":"LBR","adm0_a3_de":"LBR","adm0_a3_gb":"LBR","adm0_a3_br":"LBR","adm0_a3_il":"LBR","adm0_a3_ps":"LBR","adm0_a3_sa":"LBR","adm0_a3_eg":"LBR","adm0_a3_ma":"LBR","adm0_a3_pt":"LBR","adm0_a3_ar":"LBR","adm0_a3_jp":"LBR","adm0_a3_ko":"LBR","adm0_a3_vn":"LBR","adm0_a3_tr":"LBR","adm0_a3_id":"LBR","adm0_a3_pl":"LBR","adm0_a3_gr":"LBR","adm0_a3_it":"LBR","adm0_a3_nl":"LBR","adm0_a3_se":"LBR","adm0_a3_bd":"LBR","adm0_a3_ua":"LBR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":7,"long_len":7,"abbrev_len":7,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":-9.460379,"label_y":6.447177,"ne_id":1159321015,"wikidataid":"Q1014","name_ar":"ليبيريا","name_bn":"লাইবেরিয়া","name_de":"Liberia","name_en":"Liberia","name_es":"Liberia","name_fa":"لیبریا","name_fr":"Liberia","name_el":"Λιβερία","name_he":"ליבריה","name_hi":"लाइबेरिया","name_hu":"Libéria","name_id":"Liberia","name_it":"Liberia","name_ja":"リベリア","name_ko":"라이베리아","name_nl":"Liberia","name_pl":"Liberia","name_pt":"Libéria","name_ru":"Либерия","name_sv":"Liberia","name_tr":"Liberya","name_uk":"Ліберія","name_ur":"لائبیریا","name_vi":"Liberia","name_zh":"利比里亚","name_zht":"賴比瑞亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"LBR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-8.439298468448698,7.686042792181738],[-8.48544552248535,7.39520783124307],[-8.385451626000574,6.911800645368743],[-8.60288021486862,6.46756419517166],[-8.311347622094019,6.193033148621083],[-7.993692592795881,6.126189683451543],[-7.570152553731688,5.707352199725904],[-7.539715135111763,5.313345241716519],[-7.635368211284031,5.188159084489456],[-7.71215938966975,4.364565944837722],[-7.974107224957251,4.355755113131963],[-9.004793667018674,4.8324185245922],[-9.913420376006684,5.593560695819207],[-10.765383876986645,6.140710760925558],[-11.438779466182055,6.785916856305747],[-11.19980180504828,7.105845648624737],[-11.146704270868383,7.396706447779536],[-10.69559485517648,7.939464016141088],[-10.23009355309128,8.406205552601293],[-10.016566534861255,8.428503933135232],[-9.755342169625834,8.541055202666925],[-9.337279832384581,7.928534450711354],[-9.40334815106975,7.526905218938907],[-9.208786383490846,7.313920803247953],[-8.926064622422004,7.309037380396376],[-8.722123582382125,7.71167430259851],[-8.439298468448698,7.686042792181738]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Central African Republic","sov_a3":"CAF","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Central African Republic","adm0_a3":"CAF","geou_dif":0,"geounit":"Central African Republic","gu_a3":"CAF","su_dif":0,"subunit":"Central African Republic","su_a3":"CAF","brk_diff":0,"name":"Central African Rep.","name_long":"Central African Republic","brk_a3":"CAF","brk_name":"Central African Rep.","brk_group":null,"abbrev":"C.A.R.","postal":"CF","formal_en":"Central African Republic","formal_fr":null,"name_ciawf":"Central African Republic","note_adm0":null,"note_brk":null,"name_sort":"Central African Republic","name_alt":null,"mapcolor7":5,"mapcolor8":6,"mapcolor9":6,"mapcolor13":9,"pop_est":4745185,"pop_rank":12,"pop_year":2019,"gdp_md":2220,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"CT","iso_a2":"CF","iso_a2_eh":"CF","iso_a3":"CAF","iso_a3_eh":"CAF","iso_n3":"140","iso_n3_eh":"140","un_a3":"140","wb_a2":"CF","wb_a3":"CAF","woe_id":23424792,"woe_id_eh":23424792,"woe_note":"Exact WOE match as country","adm0_iso":"CAF","adm0_diff":null,"adm0_tlc":"CAF","adm0_a3_us":"CAF","adm0_a3_fr":"CAF","adm0_a3_ru":"CAF","adm0_a3_es":"CAF","adm0_a3_cn":"CAF","adm0_a3_tw":"CAF","adm0_a3_in":"CAF","adm0_a3_np":"CAF","adm0_a3_pk":"CAF","adm0_a3_de":"CAF","adm0_a3_gb":"CAF","adm0_a3_br":"CAF","adm0_a3_il":"CAF","adm0_a3_ps":"CAF","adm0_a3_sa":"CAF","adm0_a3_eg":"CAF","adm0_a3_ma":"CAF","adm0_a3_pt":"CAF","adm0_a3_ar":"CAF","adm0_a3_jp":"CAF","adm0_a3_ko":"CAF","adm0_a3_vn":"CAF","adm0_a3_tr":"CAF","adm0_a3_id":"CAF","adm0_a3_pl":"CAF","adm0_a3_gr":"CAF","adm0_a3_it":"CAF","adm0_a3_nl":"CAF","adm0_a3_se":"CAF","adm0_a3_bd":"CAF","adm0_a3_ua":"CAF","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Middle Africa","region_wb":"Sub-Saharan Africa","name_len":20,"long_len":24,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":20.906897,"label_y":6.989681,"ne_id":1159320463,"wikidataid":"Q929","name_ar":"جمهورية أفريقيا الوسطى","name_bn":"মধ্য আফ্রিকান প্রজাতন্ত্র","name_de":"Zentralafrikanische Republik","name_en":"Central African Republic","name_es":"República Centroafricana","name_fa":"جمهوری آفریقای مرکزی","name_fr":"République centrafricaine","name_el":"Κεντροαφρικανική Δημοκρατία","name_he":"הרפובליקה המרכז-אפריקאית","name_hi":"मध्य अफ़्रीकी गणराज्य","name_hu":"Közép-afrikai Köztársaság","name_id":"Republik Afrika Tengah","name_it":"Repubblica Centrafricana","name_ja":"中央アフリカ共和国","name_ko":"중앙아프리카 공화국","name_nl":"Centraal-Afrikaanse Republiek","name_pl":"Republika Środkowoafrykańska","name_pt":"República Centro-Africana","name_ru":"Центральноафриканская Республика","name_sv":"Centralafrikanska republiken","name_tr":"Orta Afrika Cumhuriyeti","name_uk":"Центральноафриканська Республіка","name_ur":"وسطی افریقی جمہوریہ","name_vi":"Cộng hòa Trung Phi","name_zh":"中非共和国","name_zht":"中非共和國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"CAF.geojson"},"geometry":{"type":"Polygon","coordinates":[[[27.37422610851749,5.233944403500061],[27.04406538260471,5.127852688004836],[26.402760857862543,5.150874538590871],[25.650455356557472,5.256087754737123],[25.278798455514305,5.170408229997192],[25.12883344900328,4.92724477784779],[24.805028924262416,4.89724660890235],[24.410531040146253,5.10878408448913],[23.29721398285014,4.609693101414223],[22.841479526468106,4.710126247573484],[22.70412356943629,4.633050848810157],[22.405123732195538,4.029160061047321],[21.659122755630023,4.22434194581372],[20.927591180106276,4.322785549329737],[20.290679152108936,4.691677761245288],[19.46778364429315,5.03152781821278],[18.93231245288476,4.709506130385975],[18.54298221199778,4.201785183118318],[18.45306521980993,3.504385891123349],[17.809900343505262,3.56019643799857],[17.133042433346304,3.728196519379452],[16.537058139724138,3.198254706226279],[16.012852410555354,2.267639675298085],[15.907380812247652,2.557389431158612],[15.862732374747482,3.013537298998983],[15.405395948964383,3.33530060466434],[15.036219516671252,3.851367295747124],[14.950953403389661,4.210389309094921],[14.47837243008047,4.732605495620447],[14.558935988023507,5.03059764243153],[14.459407179429348,5.4517605656103],[14.536560092841114,6.22695872642069],[14.776545444404576,6.408498033062045],[15.279460483469109,7.421924546737969],[16.106231723706742,7.497087917506462],[16.290561557691888,7.754307359239419],[16.456184523187346,7.734773667832968],[16.705988396886255,7.508327541529979],[17.964929640380888,7.890914008002994],[18.38955488452322,8.281303615751824],[18.911021762780507,8.630894680206353],[18.812009718509273,8.982914536978598],[19.09400800952602,9.07484691002584],[20.05968549976427,9.012706000194854],[21.000868361096167,9.475985215691509],[21.723821648859456,10.567055568885976],[22.23112918466876,10.97188873946061],[22.864165480244225,11.142395127807546],[22.97754357269261,10.71446259199854],[23.554304233502194,10.089255275915308],[23.55724979014283,9.681218166538684],[23.394779087017184,9.265067857292223],[23.459012892355986,8.954285793488893],[23.805813429466752,8.666318874542526],[24.567369012152085,8.229187933785468],[25.11493248871679,7.825104071479174],[25.124130893664727,7.500085150579437],[25.79664798351118,6.979315904158071],[26.213418409945117,6.546603298362072],[26.465909458123235,5.94671743410187],[27.21340905122517,5.550953477394557],[27.37422610851749,5.233944403500061]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Sudan","sov_a3":"SDN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Sudan","adm0_a3":"SDN","geou_dif":0,"geounit":"Sudan","gu_a3":"SDN","su_dif":0,"subunit":"Sudan","su_a3":"SDN","brk_diff":0,"name":"Sudan","name_long":"Sudan","brk_a3":"SDN","brk_name":"Sudan","brk_group":null,"abbrev":"Sudan","postal":"SD","formal_en":"Republic of the Sudan","formal_fr":null,"name_ciawf":"Sudan","note_adm0":null,"note_brk":null,"name_sort":"Sudan","name_alt":null,"mapcolor7":2,"mapcolor8":6,"mapcolor9":4,"mapcolor13":1,"pop_est":42813238,"pop_rank":15,"pop_year":2019,"gdp_md":30513,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"SU","iso_a2":"SD","iso_a2_eh":"SD","iso_a3":"SDN","iso_a3_eh":"SDN","iso_n3":"729","iso_n3_eh":"729","un_a3":"729","wb_a2":"SD","wb_a3":"SDN","woe_id":-90,"woe_id_eh":23424952,"woe_note":"Almost all FLickr photos are in the north.","adm0_iso":"SDZ","adm0_diff":null,"adm0_tlc":"SDZ","adm0_a3_us":"SDN","adm0_a3_fr":"SDN","adm0_a3_ru":"SDN","adm0_a3_es":"SDN","adm0_a3_cn":"SDN","adm0_a3_tw":"SDN","adm0_a3_in":"SDN","adm0_a3_np":"SDN","adm0_a3_pk":"SDN","adm0_a3_de":"SDN","adm0_a3_gb":"SDN","adm0_a3_br":"SDN","adm0_a3_il":"SDN","adm0_a3_ps":"SDN","adm0_a3_sa":"SDN","adm0_a3_eg":"SDN","adm0_a3_ma":"SDN","adm0_a3_pt":"SDN","adm0_a3_ar":"SDN","adm0_a3_jp":"SDN","adm0_a3_ko":"SDN","adm0_a3_vn":"SDN","adm0_a3_tr":"SDN","adm0_a3_id":"SDN","adm0_a3_pl":"SDN","adm0_a3_gr":"SDN","adm0_a3_it":"SDN","adm0_a3_nl":"SDN","adm0_a3_se":"SDN","adm0_a3_bd":"SDN","adm0_a3_ua":"SDN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Northern Africa","region_wb":"Sub-Saharan Africa","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.5,"max_label":8,"label_x":29.260657,"label_y":16.330746,"ne_id":1159321229,"wikidataid":"Q1049","name_ar":"السودان","name_bn":"সুদান","name_de":"Sudan","name_en":"Sudan","name_es":"Sudán","name_fa":"سودان","name_fr":"Soudan","name_el":"Σουδάν","name_he":"סודאן","name_hi":"सूडान","name_hu":"Szudán","name_id":"Sudan","name_it":"Sudan","name_ja":"スーダン","name_ko":"수단","name_nl":"Soedan","name_pl":"Sudan","name_pt":"Sudão","name_ru":"Судан","name_sv":"Sudan","name_tr":"Sudan","name_uk":"Судан","name_ur":"سوڈان","name_vi":"Sudan","name_zh":"苏丹","name_zht":"蘇丹","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SDN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[24.567369012152085,8.229187933785468],[23.805813429466752,8.666318874542526],[23.459012892355986,8.954285793488893],[23.394779087017184,9.265067857292223],[23.55724979014283,9.681218166538684],[23.554304233502194,10.089255275915308],[22.97754357269261,10.71446259199854],[22.864165480244225,11.142395127807546],[22.87622,11.384610000000123],[22.50869,11.67936],[22.49762,12.26024],[22.28801,12.64605],[21.93681,12.588180000000136],[22.03759,12.95546],[22.29658,13.37232],[22.18329,13.78648],[22.51202,14.09318],[22.30351,14.32682],[22.56795000000011,14.944290000000137],[23.024590000000103,15.68072],[23.886890000000108,15.61084],[23.83766000000014,19.580470000000105],[23.850000000000136,20],[25.000000000000114,20.00304],[25,22],[29.02,22],[32.9,22],[36.86623,22],[37.1887200000001,21.01885],[36.96941,20.83744000000013],[37.11470000000014,19.80796],[37.4817900000001,18.61409],[37.86276,18.36786],[38.410089959473225,17.998307399970315],[37.90400000000011,17.42754],[37.16747,17.263140000000135],[36.852530000000115,16.95655],[36.75389,16.29186],[36.32322,14.82249],[36.42951,14.42211],[36.27022,13.563330000000121],[35.86363,12.57828],[35.26049,12.08286],[34.83163000000013,11.318960000000118],[34.73115000000013,10.910170000000107],[34.25745,10.63009],[33.96162,9.58358],[33.97498,8.68456],[33.963392794971185,9.464285229420625],[33.82496348090751,9.484060845715362],[33.84213085302815,9.981914637215993],[33.72195924818311,10.325262079630193],[33.206938084561784,10.720111638406593],[33.086766479716744,11.441141267476496],[33.206938084561784,12.179338268667095],[32.743419037302544,12.248007757149992],[32.67474954881965,12.02483191958072],[32.073891524594785,11.973329803218519],[32.31423473428475,11.68148447716652],[32.400071594888345,11.080626452941488],[31.850715687025513,10.531270545078826],[31.35286189552488,9.810240916008695],[30.837840731903384,9.70723668328452],[29.996639497988554,10.290927335388687],[29.61895731133285,10.084918869940225],[29.515953078608618,9.793073543888056],[29.000931914987177,9.60423245056029],[28.966597170745786,9.398223985111656],[27.970889587744352,9.398223985111656],[27.833550610778786,9.60423245056029],[27.112520981708883,9.638567194801624],[26.752006167173818,9.466893473594496],[26.477328213242515,9.552730334198088],[25.962307049621018,10.136420986302426],[25.790633328413946,10.411098940233728],[25.069603699343986,10.273759963267992],[24.794925745412684,9.810240916008695],[24.53741516360202,8.91753756573172],[24.19406772118765,8.728696472403897],[23.886979580860668,8.619729712933065],[24.567369012152085,8.229187933785468]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Djibouti","sov_a3":"DJI","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Djibouti","adm0_a3":"DJI","geou_dif":0,"geounit":"Djibouti","gu_a3":"DJI","su_dif":0,"subunit":"Djibouti","su_a3":"DJI","brk_diff":0,"name":"Djibouti","name_long":"Djibouti","brk_a3":"DJI","brk_name":"Djibouti","brk_group":null,"abbrev":"Dji.","postal":"DJ","formal_en":"Republic of Djibouti","formal_fr":null,"name_ciawf":"Djibouti","note_adm0":null,"note_brk":null,"name_sort":"Djibouti","name_alt":null,"mapcolor7":1,"mapcolor8":2,"mapcolor9":4,"mapcolor13":8,"pop_est":973560,"pop_rank":11,"pop_year":2019,"gdp_md":3324,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"4. Lower middle income","fips_10":"DJ","iso_a2":"DJ","iso_a2_eh":"DJ","iso_a3":"DJI","iso_a3_eh":"DJI","iso_n3":"262","iso_n3_eh":"262","un_a3":"262","wb_a2":"DJ","wb_a3":"DJI","woe_id":23424797,"woe_id_eh":23424797,"woe_note":"Exact WOE match as country","adm0_iso":"DJI","adm0_diff":null,"adm0_tlc":"DJI","adm0_a3_us":"DJI","adm0_a3_fr":"DJI","adm0_a3_ru":"DJI","adm0_a3_es":"DJI","adm0_a3_cn":"DJI","adm0_a3_tw":"DJI","adm0_a3_in":"DJI","adm0_a3_np":"DJI","adm0_a3_pk":"DJI","adm0_a3_de":"DJI","adm0_a3_gb":"DJI","adm0_a3_br":"DJI","adm0_a3_il":"DJI","adm0_a3_ps":"DJI","adm0_a3_sa":"DJI","adm0_a3_eg":"DJI","adm0_a3_ma":"DJI","adm0_a3_pt":"DJI","adm0_a3_ar":"DJI","adm0_a3_jp":"DJI","adm0_a3_ko":"DJI","adm0_a3_vn":"DJI","adm0_a3_tr":"DJI","adm0_a3_id":"DJI","adm0_a3_pl":"DJI","adm0_a3_gr":"DJI","adm0_a3_it":"DJI","adm0_a3_nl":"DJI","adm0_a3_se":"DJI","adm0_a3_bd":"DJI","adm0_a3_ua":"DJI","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Middle East & North Africa","name_len":8,"long_len":8,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":42.498825,"label_y":11.976343,"ne_id":1159320541,"wikidataid":"Q977","name_ar":"جيبوتي","name_bn":"জিবুতি","name_de":"Dschibuti","name_en":"Djibouti","name_es":"Yibuti","name_fa":"جیبوتی","name_fr":"Djibouti","name_el":"Τζιμπουτί","name_he":"ג'יבוטי","name_hi":"जिबूती","name_hu":"Dzsibuti","name_id":"Djibouti","name_it":"Gibuti","name_ja":"ジブチ","name_ko":"지부티","name_nl":"Djibouti","name_pl":"Dżibuti","name_pt":"Djibouti","name_ru":"Джибути","name_sv":"Djibouti","name_tr":"Cibuti","name_uk":"Джибуті","name_ur":"جبوتی","name_vi":"Djibouti","name_zh":"吉布提","name_zht":"吉布地","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"DJI.geojson"},"geometry":{"type":"Polygon","coordinates":[[[42.35156000000012,12.542230000000131],[42.77964236834475,12.455415757695675],[43.08122602720016,12.699638576707116],[43.31785241066467,12.390148423711025],[43.286381463398925,11.974928290245884],[42.715873650896526,11.735640570518342],[43.14530480324214,11.462039699748857],[42.77685184100096,10.92687856693442],[42.55493000000013,11.105110000000195],[42.31414000000012,11.0342],[41.755570000000205,11.050910000000101],[41.73959000000019,11.355110000000138],[41.66176000000013,11.6312],[42.000000000000114,12.100000000000136],[42.35156000000012,12.542230000000131]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Eritrea","sov_a3":"ERI","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Eritrea","adm0_a3":"ERI","geou_dif":0,"geounit":"Eritrea","gu_a3":"ERI","su_dif":0,"subunit":"Eritrea","su_a3":"ERI","brk_diff":0,"name":"Eritrea","name_long":"Eritrea","brk_a3":"ERI","brk_name":"Eritrea","brk_group":null,"abbrev":"Erit.","postal":"ER","formal_en":"State of Eritrea","formal_fr":null,"name_ciawf":"Eritrea","note_adm0":null,"note_brk":null,"name_sort":"Eritrea","name_alt":null,"mapcolor7":3,"mapcolor8":1,"mapcolor9":2,"mapcolor13":12,"pop_est":6081196,"pop_rank":13,"pop_year":2020,"gdp_md":2065,"gdp_year":2011,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"ER","iso_a2":"ER","iso_a2_eh":"ER","iso_a3":"ERI","iso_a3_eh":"ERI","iso_n3":"232","iso_n3_eh":"232","un_a3":"232","wb_a2":"ER","wb_a3":"ERI","woe_id":23424806,"woe_id_eh":23424806,"woe_note":"Exact WOE match as country","adm0_iso":"ERI","adm0_diff":null,"adm0_tlc":"ERI","adm0_a3_us":"ERI","adm0_a3_fr":"ERI","adm0_a3_ru":"ERI","adm0_a3_es":"ERI","adm0_a3_cn":"ERI","adm0_a3_tw":"ERI","adm0_a3_in":"ERI","adm0_a3_np":"ERI","adm0_a3_pk":"ERI","adm0_a3_de":"ERI","adm0_a3_gb":"ERI","adm0_a3_br":"ERI","adm0_a3_il":"ERI","adm0_a3_ps":"ERI","adm0_a3_sa":"ERI","adm0_a3_eg":"ERI","adm0_a3_ma":"ERI","adm0_a3_pt":"ERI","adm0_a3_ar":"ERI","adm0_a3_jp":"ERI","adm0_a3_ko":"ERI","adm0_a3_vn":"ERI","adm0_a3_tr":"ERI","adm0_a3_id":"ERI","adm0_a3_pl":"ERI","adm0_a3_gr":"ERI","adm0_a3_it":"ERI","adm0_a3_nl":"ERI","adm0_a3_se":"ERI","adm0_a3_bd":"ERI","adm0_a3_ua":"ERI","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":7,"long_len":7,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":38.285566,"label_y":15.787401,"ne_id":1159320581,"wikidataid":"Q986","name_ar":"إريتريا","name_bn":"ইরিত্রিয়া","name_de":"Eritrea","name_en":"Eritrea","name_es":"Eritrea","name_fa":"اریتره","name_fr":"Érythrée","name_el":"Ερυθραία","name_he":"אריתריאה","name_hi":"इरित्रिया","name_hu":"Eritrea","name_id":"Eritrea","name_it":"Eritrea","name_ja":"エリトリア","name_ko":"에리트레아","name_nl":"Eritrea","name_pl":"Erytrea","name_pt":"Eritreia","name_ru":"Эритрея","name_sv":"Eritrea","name_tr":"Eritre","name_uk":"Еритрея","name_ur":"اریتریا","name_vi":"Eritrea","name_zh":"厄立特里亚","name_zht":"厄利垂亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ERI.geojson"},"geometry":{"type":"Polygon","coordinates":[[[36.42951,14.42211],[36.32322,14.82249],[36.75389,16.29186],[36.852530000000115,16.95655],[37.16747,17.263140000000135],[37.90400000000011,17.42754],[38.410089959473225,17.998307399970315],[38.990622999840014,16.840626125551694],[39.26611006038803,15.92272349696725],[39.814293654140215,15.435647284400318],[41.17927493669765,14.491079616753211],[41.73495161313235,13.921036892141558],[42.27683068214486,13.343992010954423],[42.58957645037526,13.000421250861905],[43.08122602720016,12.699638576707116],[42.77964236834475,12.455415757695675],[42.35156000000012,12.542230000000131],[42.00975,12.86582],[41.59856,13.452090000000112],[41.1552,13.77333],[40.8966,14.118640000000141],[40.02625000000012,14.51959],[39.34061,14.53155],[39.0994,14.74064],[38.51295,14.50547],[37.90607000000011,14.959430000000168],[37.59377,14.2131],[36.42951,14.42211]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Ivory Coast","sov_a3":"CIV","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Ivory Coast","adm0_a3":"CIV","geou_dif":0,"geounit":"Ivory Coast","gu_a3":"CIV","su_dif":0,"subunit":"Ivory Coast","su_a3":"CIV","brk_diff":0,"name":"Côte d'Ivoire","name_long":"Côte d'Ivoire","brk_a3":"CIV","brk_name":"Côte d'Ivoire","brk_group":null,"abbrev":"I.C.","postal":"CI","formal_en":"Republic of Ivory Coast","formal_fr":"Republic of Cote D'Ivoire","name_ciawf":"Cote D'ivoire","note_adm0":null,"note_brk":null,"name_sort":"Côte d'Ivoire","name_alt":null,"mapcolor7":4,"mapcolor8":6,"mapcolor9":3,"mapcolor13":3,"pop_est":25716544,"pop_rank":15,"pop_year":2019,"gdp_md":58539,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"IV","iso_a2":"CI","iso_a2_eh":"CI","iso_a3":"CIV","iso_a3_eh":"CIV","iso_n3":"384","iso_n3_eh":"384","un_a3":"384","wb_a2":"CI","wb_a3":"CIV","woe_id":23424854,"woe_id_eh":23424854,"woe_note":"Exact WOE match as country","adm0_iso":"CIV","adm0_diff":null,"adm0_tlc":"CIV","adm0_a3_us":"CIV","adm0_a3_fr":"CIV","adm0_a3_ru":"CIV","adm0_a3_es":"CIV","adm0_a3_cn":"CIV","adm0_a3_tw":"CIV","adm0_a3_in":"CIV","adm0_a3_np":"CIV","adm0_a3_pk":"CIV","adm0_a3_de":"CIV","adm0_a3_gb":"CIV","adm0_a3_br":"CIV","adm0_a3_il":"CIV","adm0_a3_ps":"CIV","adm0_a3_sa":"CIV","adm0_a3_eg":"CIV","adm0_a3_ma":"CIV","adm0_a3_pt":"CIV","adm0_a3_ar":"CIV","adm0_a3_jp":"CIV","adm0_a3_ko":"CIV","adm0_a3_vn":"CIV","adm0_a3_tr":"CIV","adm0_a3_id":"CIV","adm0_a3_pl":"CIV","adm0_a3_gr":"CIV","adm0_a3_it":"CIV","adm0_a3_nl":"CIV","adm0_a3_se":"CIV","adm0_a3_bd":"CIV","adm0_a3_ua":"CIV","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":13,"long_len":13,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.5,"max_label":8,"label_x":-5.568618,"label_y":7.49139,"ne_id":1159320507,"wikidataid":"Q1008","name_ar":"ساحل العاج","name_bn":"কোত দিভোয়ার","name_de":"Elfenbeinküste","name_en":"Ivory Coast","name_es":"Costa de Marfil","name_fa":"ساحل عاج","name_fr":"Côte d'Ivoire","name_el":"Ακτή Ελεφαντοστού","name_he":"חוף השנהב","name_hi":"कोत दिव्वार","name_hu":"Elefántcsontpart","name_id":"Pantai Gading","name_it":"Costa d'Avorio","name_ja":"コートジボワール","name_ko":"코트디부아르","name_nl":"Ivoorkust","name_pl":"Wybrzeże Kości Słoniowej","name_pt":"Costa do Marfim","name_ru":"Кот-д’Ивуар","name_sv":"Elfenbenskusten","name_tr":"Fildişi Sahili","name_uk":"Кот-д'Івуар","name_ur":"کوت داوواغ","name_vi":"Bờ Biển Ngà","name_zh":"科特迪瓦","name_zht":"象牙海岸","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"CIV.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-8.029943610048619,10.206534939001713],[-7.899589809592372,10.297382106970828],[-7.622759161804809,10.147236232946796],[-6.850506557635057,10.138993841996239],[-6.666460944027548,10.430810655148449],[-6.493965013037268,10.411302801958271],[-6.205222947606431,10.524060777219134],[-6.050452032892267,10.096360785355444],[-5.816926235365287,10.222554633012194],[-5.404341599946974,10.370736802609146],[-4.954653286143099,10.152713934769736],[-4.779883592131966,9.821984768101743],[-4.330246954760383,9.610834865757141],[-3.980449184576685,9.8623440617217],[-3.511898972986273,9.90032623945622],[-2.827496303712707,9.642460842319778],[-2.562189500326241,8.219627793811483],[-2.983584967450327,7.379704901555513],[-3.244370083011262,6.250471503113502],[-2.81070146321784,5.38905121502411],[-2.856125047202397,4.994475816259509],[-3.311084357100071,4.984295559098015],[-4.008819545904942,5.179813340674315],[-4.649917364917911,5.168263658057086],[-5.834496222344526,4.993700669775137],[-6.528769090185847,4.705087795425015],[-7.518941209330436,4.338288479017308],[-7.71215938966975,4.364565944837722],[-7.635368211284031,5.188159084489456],[-7.539715135111763,5.313345241716519],[-7.570152553731688,5.707352199725904],[-7.993692592795881,6.126189683451543],[-8.311347622094019,6.193033148621083],[-8.60288021486862,6.46756419517166],[-8.385451626000574,6.911800645368743],[-8.48544552248535,7.39520783124307],[-8.439298468448698,7.686042792181738],[-8.280703497744938,7.687179673692157],[-8.221792364932199,8.123328762235573],[-8.299048631208564,8.316443589710303],[-8.20349890790088,8.455453192575447],[-7.832100389019188,8.575704250518626],[-8.07911373537435,9.376223863152035],[-8.30961646161225,9.789531968622441],[-8.229337124046822,10.1290202905639],[-8.029943610048619,10.206534939001713]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Mali","sov_a3":"MLI","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Mali","adm0_a3":"MLI","geou_dif":0,"geounit":"Mali","gu_a3":"MLI","su_dif":0,"subunit":"Mali","su_a3":"MLI","brk_diff":0,"name":"Mali","name_long":"Mali","brk_a3":"MLI","brk_name":"Mali","brk_group":null,"abbrev":"Mali","postal":"ML","formal_en":"Republic of Mali","formal_fr":null,"name_ciawf":"Mali","note_adm0":null,"note_brk":null,"name_sort":"Mali","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":1,"mapcolor13":7,"pop_est":19658031,"pop_rank":14,"pop_year":2019,"gdp_md":17279,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"ML","iso_a2":"ML","iso_a2_eh":"ML","iso_a3":"MLI","iso_a3_eh":"MLI","iso_n3":"466","iso_n3_eh":"466","un_a3":"466","wb_a2":"ML","wb_a3":"MLI","woe_id":23424891,"woe_id_eh":23424891,"woe_note":"Exact WOE match as country","adm0_iso":"MLI","adm0_diff":null,"adm0_tlc":"MLI","adm0_a3_us":"MLI","adm0_a3_fr":"MLI","adm0_a3_ru":"MLI","adm0_a3_es":"MLI","adm0_a3_cn":"MLI","adm0_a3_tw":"MLI","adm0_a3_in":"MLI","adm0_a3_np":"MLI","adm0_a3_pk":"MLI","adm0_a3_de":"MLI","adm0_a3_gb":"MLI","adm0_a3_br":"MLI","adm0_a3_il":"MLI","adm0_a3_ps":"MLI","adm0_a3_sa":"MLI","adm0_a3_eg":"MLI","adm0_a3_ma":"MLI","adm0_a3_pt":"MLI","adm0_a3_ar":"MLI","adm0_a3_jp":"MLI","adm0_a3_ko":"MLI","adm0_a3_vn":"MLI","adm0_a3_tr":"MLI","adm0_a3_id":"MLI","adm0_a3_pl":"MLI","adm0_a3_gr":"MLI","adm0_a3_it":"MLI","adm0_a3_nl":"MLI","adm0_a3_se":"MLI","adm0_a3_bd":"MLI","adm0_a3_ua":"MLI","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":4,"long_len":4,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":7,"label_x":-2.038455,"label_y":18.692713,"ne_id":1159321063,"wikidataid":"Q912","name_ar":"مالي","name_bn":"মালি","name_de":"Mali","name_en":"Mali","name_es":"Malí","name_fa":"مالی","name_fr":"Mali","name_el":"Μάλι","name_he":"מאלי","name_hi":"माली","name_hu":"Mali","name_id":"Mali","name_it":"Mali","name_ja":"マリ共和国","name_ko":"말리","name_nl":"Mali","name_pl":"Mali","name_pt":"Mali","name_ru":"Мали","name_sv":"Mali","name_tr":"Mali","name_uk":"Малі","name_ur":"مالی","name_vi":"Mali","name_zh":"马里","name_zht":"馬利共和國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MLI.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-11.51394283695059,12.442987575729418],[-11.467899135778524,12.754518947800975],[-11.55339779300543,13.141213690641067],[-11.927716030311615,13.422075100147396],[-12.12488745772126,13.994727484589788],[-12.170750291380301,14.616834214735505],[-11.834207526079467,14.79909699142894],[-11.666078253617854,15.388208319556298],[-11.349095017939504,15.411256008358478],[-10.650791388379417,15.132745876521426],[-10.086846482778213,15.330485744686271],[-9.700255092802706,15.264107367407362],[-9.55023840985939,15.486496893775438],[-5.537744309908447,15.501689764869257],[-5.315277268891933,16.20185374599184],[-5.488522508150439,16.325102037007966],[-5.971128709324248,20.64083344164763],[-6.453786586930335,24.956590684503425],[-4.923337368174231,24.974574082941],[-1.550054897457613,22.792665920497384],[1.823227573259032,20.610809434486043],[2.06099083823392,20.142233384679486],[2.683588494486429,19.856230170160117],[3.1466610042539,19.693578599521445],[3.158133172222705,19.057364203360038],[4.267419467800039,19.155265204337],[4.270209995143802,16.852227484601215],[3.723421665063483,16.184283759012615],[3.638258904646477,15.568119818580456],[2.749992709981484,15.409524847876696],[1.385528191746858,15.323561102759172],[1.015783318698482,14.96818227788799],[0.374892205414682,14.92890818934613],[-0.26625729003058,14.924308986872148],[-0.515854458000348,15.116157741755728],[-1.066363491205664,14.973815009007765],[-2.001035122068771,14.559008287000893],[-2.191824510090385,14.246417548067356],[-2.967694464520577,13.79815033615151],[-3.10370683431276,13.541266791228594],[-3.522802700199861,13.337661647998615],[-4.006390753587226,13.472485459848116],[-4.28040503581488,13.228443508349741],[-4.427166103523803,12.542645575404295],[-5.220941941743121,11.713858954307227],[-5.197842576508648,11.37514577885014],[-5.470564947929006,10.951269842976048],[-5.404341599946974,10.370736802609146],[-5.816926235365287,10.222554633012194],[-6.050452032892267,10.096360785355444],[-6.205222947606431,10.524060777219134],[-6.493965013037268,10.411302801958271],[-6.666460944027548,10.430810655148449],[-6.850506557635057,10.138993841996239],[-7.622759161804809,10.147236232946796],[-7.899589809592372,10.297382106970828],[-8.029943610048619,10.206534939001713],[-8.33537716310974,10.494811916541934],[-8.282357143578281,10.792597357623846],[-8.407310756860028,10.909256903522762],[-8.620321010767128,10.810890814655183],[-8.581305304386774,11.136245632364805],[-8.376304897484914,11.393645941610629],[-8.786099005559464,11.812560939984706],[-8.90526485842453,12.088358059126437],[-9.127473517279583,12.308060411015333],[-9.327616339546012,12.334286200403454],[-9.567911749703214,12.194243068892476],[-9.890992804392013,12.060478623904972],[-10.165213792348837,11.844083563682744],[-10.593223842806282,11.92397532800598],[-10.870829637078215,12.17788747807211],[-11.03655595543826,12.211244615116515],[-11.297573614944511,12.077971096235771],[-11.456168585648271,12.076834214725338],[-11.51394283695059,12.442987575729418]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Senegal","sov_a3":"SEN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Senegal","adm0_a3":"SEN","geou_dif":0,"geounit":"Senegal","gu_a3":"SEN","su_dif":0,"subunit":"Senegal","su_a3":"SEN","brk_diff":0,"name":"Senegal","name_long":"Senegal","brk_a3":"SEN","brk_name":"Senegal","brk_group":null,"abbrev":"Sen.","postal":"SN","formal_en":"Republic of Senegal","formal_fr":null,"name_ciawf":"Senegal","note_adm0":null,"note_brk":null,"name_sort":"Senegal","name_alt":null,"mapcolor7":2,"mapcolor8":6,"mapcolor9":5,"mapcolor13":5,"pop_est":16296364,"pop_rank":14,"pop_year":2019,"gdp_md":23578,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"4. Lower middle income","fips_10":"SG","iso_a2":"SN","iso_a2_eh":"SN","iso_a3":"SEN","iso_a3_eh":"SEN","iso_n3":"686","iso_n3_eh":"686","un_a3":"686","wb_a2":"SN","wb_a3":"SEN","woe_id":23424943,"woe_id_eh":23424943,"woe_note":"Exact WOE match as country","adm0_iso":"SEN","adm0_diff":null,"adm0_tlc":"SEN","adm0_a3_us":"SEN","adm0_a3_fr":"SEN","adm0_a3_ru":"SEN","adm0_a3_es":"SEN","adm0_a3_cn":"SEN","adm0_a3_tw":"SEN","adm0_a3_in":"SEN","adm0_a3_np":"SEN","adm0_a3_pk":"SEN","adm0_a3_de":"SEN","adm0_a3_gb":"SEN","adm0_a3_br":"SEN","adm0_a3_il":"SEN","adm0_a3_ps":"SEN","adm0_a3_sa":"SEN","adm0_a3_eg":"SEN","adm0_a3_ma":"SEN","adm0_a3_pt":"SEN","adm0_a3_ar":"SEN","adm0_a3_jp":"SEN","adm0_a3_ko":"SEN","adm0_a3_vn":"SEN","adm0_a3_tr":"SEN","adm0_a3_id":"SEN","adm0_a3_pl":"SEN","adm0_a3_gr":"SEN","adm0_a3_it":"SEN","adm0_a3_nl":"SEN","adm0_a3_se":"SEN","adm0_a3_bd":"SEN","adm0_a3_ua":"SEN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.7,"max_label":8,"label_x":-14.778586,"label_y":15.138125,"ne_id":1159321243,"wikidataid":"Q1041","name_ar":"السنغال","name_bn":"সেনেগাল","name_de":"Senegal","name_en":"Senegal","name_es":"Senegal","name_fa":"سنگال","name_fr":"Sénégal","name_el":"Σενεγάλη","name_he":"סנגל","name_hi":"सेनेगल","name_hu":"Szenegál","name_id":"Senegal","name_it":"Senegal","name_ja":"セネガル","name_ko":"세네갈","name_nl":"Senegal","name_pl":"Senegal","name_pt":"Senegal","name_ru":"Сенегал","name_sv":"Senegal","name_tr":"Senegal","name_uk":"Сенегал","name_ur":"سینیگال","name_vi":"Sénégal","name_zh":"塞内加尔","name_zht":"塞內加爾","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SEN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-16.71372880702347,13.594958604379855],[-17.126106736712615,14.373515733289224],[-17.62504269049066,14.729540513564073],[-17.18517289882223,14.919477240452862],[-16.700706346085923,15.621527411354108],[-16.463098110407884,16.13503611903846],[-16.12069007004193,16.455662543193384],[-15.623666144258692,16.369337063049812],[-15.135737270558819,16.587282416240782],[-14.577347581428981,16.59826365810281],[-14.099521450242179,16.304302273010492],[-13.435737677453062,16.03938304286619],[-12.830658331747516,15.303691514542948],[-12.170750291380301,14.616834214735505],[-12.12488745772126,13.994727484589788],[-11.927716030311615,13.422075100147396],[-11.55339779300543,13.141213690641067],[-11.467899135778524,12.754518947800975],[-11.51394283695059,12.442987575729418],[-11.658300950557932,12.386582749882836],[-12.203564825885634,12.465647691289405],[-12.27859900557344,12.354440008997287],[-12.499050665730564,12.332089952031057],[-13.217818162478238,12.575873521367967],[-13.700476040084325,12.586182969610194],[-15.54847693527401,12.628170070847347],[-15.816574266004254,12.515567124883347],[-16.147716844130585,12.547761542201187],[-16.677451951554573,12.384851589401052],[-16.841524624081273,13.15139394780256],[-15.931295945692211,13.130284125211332],[-15.691000535534995,13.270353094938457],[-15.511812506562933,13.278569647672867],[-15.141163295949468,13.509511623585238],[-14.712197231494628,13.298206691943777],[-14.277701788784555,13.280585028532244],[-13.844963344772408,13.505041612192002],[-14.046992356817482,13.79406789800045],[-14.376713833055788,13.625680243377374],[-14.687030808968487,13.630356960499784],[-15.08173539881382,13.876491807505985],[-15.39877031092446,13.86036876063092],[-15.624596320039942,13.62358734786956],[-16.71372880702347,13.594958604379855]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Nigeria","sov_a3":"NGA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Nigeria","adm0_a3":"NGA","geou_dif":0,"geounit":"Nigeria","gu_a3":"NGA","su_dif":0,"subunit":"Nigeria","su_a3":"NGA","brk_diff":0,"name":"Nigeria","name_long":"Nigeria","brk_a3":"NGA","brk_name":"Nigeria","brk_group":null,"abbrev":"Nigeria","postal":"NG","formal_en":"Federal Republic of Nigeria","formal_fr":null,"name_ciawf":"Nigeria","note_adm0":null,"note_brk":null,"name_sort":"Nigeria","name_alt":null,"mapcolor7":3,"mapcolor8":2,"mapcolor9":5,"mapcolor13":2,"pop_est":200963599,"pop_rank":17,"pop_year":2019,"gdp_md":448120,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"4. Lower middle income","fips_10":"NI","iso_a2":"NG","iso_a2_eh":"NG","iso_a3":"NGA","iso_a3_eh":"NGA","iso_n3":"566","iso_n3_eh":"566","un_a3":"566","wb_a2":"NG","wb_a3":"NGA","woe_id":23424908,"woe_id_eh":23424908,"woe_note":"Exact WOE match as country","adm0_iso":"NGA","adm0_diff":null,"adm0_tlc":"NGA","adm0_a3_us":"NGA","adm0_a3_fr":"NGA","adm0_a3_ru":"NGA","adm0_a3_es":"NGA","adm0_a3_cn":"NGA","adm0_a3_tw":"NGA","adm0_a3_in":"NGA","adm0_a3_np":"NGA","adm0_a3_pk":"NGA","adm0_a3_de":"NGA","adm0_a3_gb":"NGA","adm0_a3_br":"NGA","adm0_a3_il":"NGA","adm0_a3_ps":"NGA","adm0_a3_sa":"NGA","adm0_a3_eg":"NGA","adm0_a3_ma":"NGA","adm0_a3_pt":"NGA","adm0_a3_ar":"NGA","adm0_a3_jp":"NGA","adm0_a3_ko":"NGA","adm0_a3_vn":"NGA","adm0_a3_tr":"NGA","adm0_a3_id":"NGA","adm0_a3_pl":"NGA","adm0_a3_gr":"NGA","adm0_a3_it":"NGA","adm0_a3_nl":"NGA","adm0_a3_se":"NGA","adm0_a3_bd":"NGA","adm0_a3_ua":"NGA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":7,"long_len":7,"abbrev_len":7,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":6.7,"label_x":7.50322,"label_y":9.439799,"ne_id":1159321089,"wikidataid":"Q1033","name_ar":"نيجيريا","name_bn":"নাইজেরিয়া","name_de":"Nigeria","name_en":"Nigeria","name_es":"Nigeria","name_fa":"نیجریه","name_fr":"Nigeria","name_el":"Νιγηρία","name_he":"ניגריה","name_hi":"नाईजीरिया","name_hu":"Nigéria","name_id":"Nigeria","name_it":"Nigeria","name_ja":"ナイジェリア","name_ko":"나이지리아","name_nl":"Nigeria","name_pl":"Nigeria","name_pt":"Nigéria","name_ru":"Нигерия","name_sv":"Nigeria","name_tr":"Nijerya","name_uk":"Нігерія","name_ur":"نائجیریا","name_vi":"Nigeria","name_zh":"尼日利亚","name_zht":"奈及利亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"NGA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[2.691701694356254,6.258817246928629],[2.74906253420022,7.870734361192888],[2.723792758809509,8.50684540448971],[2.912308383810256,9.137607937044322],[3.220351596702101,9.444152533399702],[3.705438266625919,10.063210354040208],[3.600070021182802,10.332186184119408],[3.797112257511714,10.734745591673105],[3.572216424177469,11.32793935795152],[3.611180454125559,11.660167141155968],[3.680633579125811,12.552903347214226],[3.967282749048849,12.956108710171575],[4.107945997747322,13.531215725147831],[4.368343540066007,13.747481594289411],[5.443058302440136,13.865923977102227],[6.445426059605637,13.492768459522678],[6.820441928747754,13.115091254117518],[7.330746697630019,13.0980380314612],[7.804671258178786,13.343526923063747],[9.014933302454438,12.826659247280418],[9.524928012742947,12.851102199754479],[10.114814487354693,13.27725189864941],[10.701031935273706,13.246917832894084],[10.989593133191534,13.387322699431195],[11.527803175511394,13.328980007373588],[12.302071160540523,13.037189032437524],[13.083987257548813,13.596147162322495],[13.318701613018561,13.556356309457826],[13.995352817448293,12.461565253138303],[14.181336297266794,12.483656927943116],[14.577177768622533,12.085360826053503],[14.468192172918975,11.904751695193411],[14.415378859116684,11.572368882692075],[13.572949659894562,10.798565985553566],[13.308676385153918,10.160362046748928],[13.167599724997103,9.640626328973411],[12.955467970438974,9.417771714714704],[12.753671502339216,8.717762762888995],[12.218872104550599,8.305824082874324],[12.063946160539558,7.799808457872302],[11.839308709366803,7.397042344589437],[11.74577436691851,6.981382961449754],[11.058787876030351,6.644426784690594],[10.497375115611419,7.055357774275564],[10.118276808318257,7.03876963950988],[9.522705926154401,6.453482367372117],[9.233162876023044,6.444490668153335],[8.757532993208628,5.479665839047911],[8.500287713259695,4.771982937026849],[7.462108188515941,4.412108262546241],[7.082596469764439,4.464689032403228],[6.6980721370806,4.240594183769517],[5.898172641634687,4.262453314628985],[5.362804803090881,4.887970689305959],[5.033574252959369,5.611802476418234],[4.325607130560684,6.270651149923467],[3.574180128604553,6.258300482605719],[2.691701694356254,6.258817246928629]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Benin","sov_a3":"BEN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Benin","adm0_a3":"BEN","geou_dif":0,"geounit":"Benin","gu_a3":"BEN","su_dif":0,"subunit":"Benin","su_a3":"BEN","brk_diff":0,"name":"Benin","name_long":"Benin","brk_a3":"BEN","brk_name":"Benin","brk_group":null,"abbrev":"Benin","postal":"BJ","formal_en":"Republic of Benin","formal_fr":null,"name_ciawf":"Benin","note_adm0":null,"note_brk":null,"name_sort":"Benin","name_alt":null,"mapcolor7":1,"mapcolor8":2,"mapcolor9":2,"mapcolor13":12,"pop_est":11801151,"pop_rank":14,"pop_year":2019,"gdp_md":14390,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"BN","iso_a2":"BJ","iso_a2_eh":"BJ","iso_a3":"BEN","iso_a3_eh":"BEN","iso_n3":"204","iso_n3_eh":"204","un_a3":"204","wb_a2":"BJ","wb_a3":"BEN","woe_id":23424764,"woe_id_eh":23424764,"woe_note":"Exact WOE match as country","adm0_iso":"BEN","adm0_diff":null,"adm0_tlc":"BEN","adm0_a3_us":"BEN","adm0_a3_fr":"BEN","adm0_a3_ru":"BEN","adm0_a3_es":"BEN","adm0_a3_cn":"BEN","adm0_a3_tw":"BEN","adm0_a3_in":"BEN","adm0_a3_np":"BEN","adm0_a3_pk":"BEN","adm0_a3_de":"BEN","adm0_a3_gb":"BEN","adm0_a3_br":"BEN","adm0_a3_il":"BEN","adm0_a3_ps":"BEN","adm0_a3_sa":"BEN","adm0_a3_eg":"BEN","adm0_a3_ma":"BEN","adm0_a3_pt":"BEN","adm0_a3_ar":"BEN","adm0_a3_jp":"BEN","adm0_a3_ko":"BEN","adm0_a3_vn":"BEN","adm0_a3_tr":"BEN","adm0_a3_id":"BEN","adm0_a3_pl":"BEN","adm0_a3_gr":"BEN","adm0_a3_it":"BEN","adm0_a3_nl":"BEN","adm0_a3_se":"BEN","adm0_a3_bd":"BEN","adm0_a3_ua":"BEN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":2.352018,"label_y":10.324775,"ne_id":1159320399,"wikidataid":"Q962","name_ar":"بنين","name_bn":"বেনিন","name_de":"Benin","name_en":"Benin","name_es":"Benín","name_fa":"بنین","name_fr":"Bénin","name_el":"Μπενίν","name_he":"בנין","name_hi":"बेनिन","name_hu":"Benin","name_id":"Benin","name_it":"Benin","name_ja":"ベナン","name_ko":"베냉","name_nl":"Benin","name_pl":"Benin","name_pt":"Benim","name_ru":"Бенин","name_sv":"Benin","name_tr":"Benin","name_uk":"Бенін","name_ur":"بینن","name_vi":"Bénin","name_zh":"贝宁","name_zht":"貝南","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BEN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[2.691701694356254,6.258817246928629],[1.865240512712319,6.142157701029731],[1.618950636409238,6.832038072126238],[1.664477573258381,9.12859039960938],[1.46304284018467,9.334624335157088],[1.425060662450136,9.825395412633],[1.077795037448738,10.175606594275024],[0.772335646171484,10.470808213742359],[0.899563022474069,10.99733938236426],[1.243469679376489,11.110510769083461],[1.447178175471066,11.547719224488858],[1.935985548519881,11.641150214072553],[2.154473504249921,11.940150051313339],[2.49016360841793,12.233052069543675],[2.848643019226586,12.23563589115821],[3.611180454125559,11.660167141155968],[3.572216424177469,11.32793935795152],[3.797112257511714,10.734745591673105],[3.600070021182802,10.332186184119408],[3.705438266625919,10.063210354040208],[3.220351596702101,9.444152533399702],[2.912308383810256,9.137607937044322],[2.723792758809509,8.50684540448971],[2.74906253420022,7.870734361192888],[2.691701694356254,6.258817246928629]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Angola","sov_a3":"AGO","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Angola","adm0_a3":"AGO","geou_dif":0,"geounit":"Angola","gu_a3":"AGO","su_dif":0,"subunit":"Angola","su_a3":"AGO","brk_diff":0,"name":"Angola","name_long":"Angola","brk_a3":"AGO","brk_name":"Angola","brk_group":null,"abbrev":"Ang.","postal":"AO","formal_en":"People's Republic of Angola","formal_fr":null,"name_ciawf":"Angola","note_adm0":null,"note_brk":null,"name_sort":"Angola","name_alt":null,"mapcolor7":3,"mapcolor8":2,"mapcolor9":6,"mapcolor13":1,"pop_est":31825295,"pop_rank":15,"pop_year":2019,"gdp_md":88815,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"3. Upper middle income","fips_10":"AO","iso_a2":"AO","iso_a2_eh":"AO","iso_a3":"AGO","iso_a3_eh":"AGO","iso_n3":"024","iso_n3_eh":"024","un_a3":"024","wb_a2":"AO","wb_a3":"AGO","woe_id":23424745,"woe_id_eh":23424745,"woe_note":"Exact WOE match as country","adm0_iso":"AGO","adm0_diff":null,"adm0_tlc":"AGO","adm0_a3_us":"AGO","adm0_a3_fr":"AGO","adm0_a3_ru":"AGO","adm0_a3_es":"AGO","adm0_a3_cn":"AGO","adm0_a3_tw":"AGO","adm0_a3_in":"AGO","adm0_a3_np":"AGO","adm0_a3_pk":"AGO","adm0_a3_de":"AGO","adm0_a3_gb":"AGO","adm0_a3_br":"AGO","adm0_a3_il":"AGO","adm0_a3_ps":"AGO","adm0_a3_sa":"AGO","adm0_a3_eg":"AGO","adm0_a3_ma":"AGO","adm0_a3_pt":"AGO","adm0_a3_ar":"AGO","adm0_a3_jp":"AGO","adm0_a3_ko":"AGO","adm0_a3_vn":"AGO","adm0_a3_tr":"AGO","adm0_a3_id":"AGO","adm0_a3_pl":"AGO","adm0_a3_gr":"AGO","adm0_a3_it":"AGO","adm0_a3_nl":"AGO","adm0_a3_se":"AGO","adm0_a3_bd":"AGO","adm0_a3_ua":"AGO","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Middle Africa","region_wb":"Sub-Saharan Africa","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":7,"label_x":17.984249,"label_y":-12.182762,"ne_id":1159320323,"wikidataid":"Q916","name_ar":"أنغولا","name_bn":"অ্যাঙ্গোলা","name_de":"Angola","name_en":"Angola","name_es":"Angola","name_fa":"آنگولا","name_fr":"Angola","name_el":"Ανγκόλα","name_he":"אנגולה","name_hi":"अंगोला","name_hu":"Angola","name_id":"Angola","name_it":"Angola","name_ja":"アンゴラ","name_ko":"앙골라","name_nl":"Angola","name_pl":"Angola","name_pt":"Angola","name_ru":"Ангола","name_sv":"Angola","name_tr":"Angola","name_uk":"Ангола","name_ur":"انگولا","name_vi":"Angola","name_zh":"安哥拉","name_zht":"安哥拉","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"AGO.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[12.995517205465177,-4.781103203961884],[12.63161176926579,-4.991271254092936],[12.468004184629736,-5.248361504745005],[12.436688266660868,-5.684303887559246],[12.182336866920252,-5.789930515163839],[11.91496300624209,-5.037986748884791],[12.318607618873926,-4.606230157086188],[12.620759718484493,-4.438023369976136],[12.995517205465177,-4.781103203961884]]],[[[12.32243167486351,-6.10009246177966],[12.735171339578699,-5.965682061388499],[13.024869419006961,-5.984388929878158],[13.375597364971895,-5.864241224799549],[16.326528354567046,-5.877470391466268],[16.573179965896145,-6.622644545115087],[16.8601908708452,-7.222297865429987],[17.08999596524717,-7.545688978712526],[17.472970004962235,-8.0685511206417],[18.13422163256905,-7.987677504104923],[18.464175652752687,-7.847014255406443],[19.01675174324967,-7.988245944860132],[19.16661339689611,-7.738183688999754],[19.41750247567316,-7.155428562044299],[20.037723016040218,-7.116361179231646],[20.091621534920648,-6.943090101756994],[20.6018229509383,-6.939317722199682],[20.5147481625265,-7.299605808138629],[21.7281107927397,-7.290872491081302],[21.74645592620331,-7.920084730667149],[21.949130893652043,-8.305900974158277],[21.8018013851879,-8.90870655684298],[21.875181919042348,-9.523707777548566],[22.208753289486395,-9.894796237836509],[22.155268182064308,-11.084801120653772],[22.402798292742375,-10.993075453335692],[22.83734541188474,-11.01762175867433],[23.45679080576744,-10.867863457892483],[23.912215203555718,-10.926826267137514],[24.01789350759259,-11.23729827234709],[23.904153680118185,-11.722281589406322],[24.079905226342845,-12.191296888887365],[23.930922072045377,-12.565847670138856],[24.016136508894675,-12.911046237848574],[21.933886346125917,-12.898437188369359],[21.887842644953874,-16.08031015387688],[22.56247846852426,-16.898451429921813],[23.215048455506064,-17.523116143465984],[21.377176141045567,-17.930636488519696],[18.956186964603603,-17.789094740472258],[18.263309360434164,-17.309950860262006],[14.209706658595024,-17.35310068122572],[14.05850141770901,-17.423380629142663],[13.462362094789967,-16.971211846588773],[12.814081251688407,-16.94134286872407],[12.215461460019355,-17.111668389558083],[11.734198846085121,-17.301889336824473],[11.64009606288161,-16.67314218512925],[11.778537224991537,-15.793816013250735],[12.12358076340439,-14.878316338767904],[12.175618930722294,-14.449143568583892],[12.50009524908299,-13.54769988368445],[12.738478631245385,-13.137905775609902],[13.312913852601866,-12.483630466362492],[13.6337211442698,-12.03864470789717],[13.738727654686897,-11.297863050993165],[13.686379428775238,-10.73107594161589],[13.387327915102162,-10.373578383020714],[13.120987583069846,-9.766897067914122],[12.875369500386569,-9.166933689005468],[12.92906131353783,-8.959091078327553],[13.236432732809874,-8.562629489784307],[12.93304039882429,-7.596538588087733],[12.728298374083892,-6.927122084178805],[12.227347039446471,-6.294447523629394],[12.32243167486351,-6.10009246177966]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Botswana","sov_a3":"BWA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Botswana","adm0_a3":"BWA","geou_dif":0,"geounit":"Botswana","gu_a3":"BWA","su_dif":0,"subunit":"Botswana","su_a3":"BWA","brk_diff":0,"name":"Botswana","name_long":"Botswana","brk_a3":"BWA","brk_name":"Botswana","brk_group":null,"abbrev":"Bwa.","postal":"BW","formal_en":"Republic of Botswana","formal_fr":null,"name_ciawf":"Botswana","note_adm0":null,"note_brk":null,"name_sort":"Botswana","name_alt":null,"mapcolor7":6,"mapcolor8":5,"mapcolor9":7,"mapcolor13":3,"pop_est":2303697,"pop_rank":12,"pop_year":2019,"gdp_md":18340,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"BC","iso_a2":"BW","iso_a2_eh":"BW","iso_a3":"BWA","iso_a3_eh":"BWA","iso_n3":"072","iso_n3_eh":"072","un_a3":"072","wb_a2":"BW","wb_a3":"BWA","woe_id":23424755,"woe_id_eh":23424755,"woe_note":"Exact WOE match as country","adm0_iso":"BWA","adm0_diff":null,"adm0_tlc":"BWA","adm0_a3_us":"BWA","adm0_a3_fr":"BWA","adm0_a3_ru":"BWA","adm0_a3_es":"BWA","adm0_a3_cn":"BWA","adm0_a3_tw":"BWA","adm0_a3_in":"BWA","adm0_a3_np":"BWA","adm0_a3_pk":"BWA","adm0_a3_de":"BWA","adm0_a3_gb":"BWA","adm0_a3_br":"BWA","adm0_a3_il":"BWA","adm0_a3_ps":"BWA","adm0_a3_sa":"BWA","adm0_a3_eg":"BWA","adm0_a3_ma":"BWA","adm0_a3_pt":"BWA","adm0_a3_ar":"BWA","adm0_a3_jp":"BWA","adm0_a3_ko":"BWA","adm0_a3_vn":"BWA","adm0_a3_tr":"BWA","adm0_a3_id":"BWA","adm0_a3_pl":"BWA","adm0_a3_gr":"BWA","adm0_a3_it":"BWA","adm0_a3_nl":"BWA","adm0_a3_se":"BWA","adm0_a3_bd":"BWA","adm0_a3_ua":"BWA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Southern Africa","region_wb":"Sub-Saharan Africa","name_len":8,"long_len":8,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":24.179216,"label_y":-22.102634,"ne_id":1159320461,"wikidataid":"Q963","name_ar":"بوتسوانا","name_bn":"বতসোয়ানা","name_de":"Botswana","name_en":"Botswana","name_es":"Botsuana","name_fa":"بوتسوانا","name_fr":"Botswana","name_el":"Μποτσουάνα","name_he":"בוטסואנה","name_hi":"बोत्सवाना","name_hu":"Botswana","name_id":"Botswana","name_it":"Botswana","name_ja":"ボツワナ","name_ko":"보츠와나","name_nl":"Botswana","name_pl":"Botswana","name_pt":"Botsuana","name_ru":"Ботсвана","name_sv":"Botswana","name_tr":"Botsvana","name_uk":"Ботсвана","name_ur":"بوٹسوانا","name_vi":"Botswana","name_zh":"博茨瓦纳","name_zht":"波札那","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BWA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[29.43218834810904,-22.091312758067588],[28.01723595552525,-22.82775359465908],[27.119409620886245,-23.574323011979775],[26.786406691197413,-24.240690606383485],[26.4857532081233,-24.616326592713104],[25.94165205252216,-24.69637338633322],[25.76584882986521,-25.17484547292368],[25.66466637543772,-25.486816094669713],[25.025170525825786,-25.7196700985769],[24.211266717228796,-25.670215752873574],[23.73356977712271,-25.390129489851617],[23.312096795350186,-25.26868987396572],[22.8242712745149,-25.50045867279477],[22.57953169118059,-25.979447523708146],[22.105968865657868,-26.280256036079138],[21.605896030369394,-26.726533705351756],[20.88960900237174,-26.828542982695915],[20.66647016773544,-26.477453301704923],[20.75860924651184,-25.86813648855145],[20.16572553882719,-24.91796192800077],[19.895767856534434,-24.76779021576059],[19.89545779794068,-21.84915699634787],[20.88113406747587,-21.814327080983148],[20.910641310314535,-18.252218926672022],[21.655040317478978,-18.219146010005225],[23.1968583513393,-17.869038181227786],[23.579005568137717,-18.28126108162006],[24.217364536239213,-17.88934701911849],[24.520705193792537,-17.887124932529936],[25.08444339366457,-17.661815687737374],[25.264225701608012,-17.736539808831417],[25.649163445750162,-18.53602589281899],[25.85039147309473,-18.714412937090536],[26.164790887158485,-19.29308562589494],[27.296504754350508,-20.391519870691],[27.724747348753255,-20.49905852629039],[27.72722781750326,-20.851801853114715],[28.021370070108617,-21.485975030200585],[28.794656202924216,-21.63945403410745],[29.43218834810904,-22.091312758067588]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Zimbabwe","sov_a3":"ZWE","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Zimbabwe","adm0_a3":"ZWE","geou_dif":0,"geounit":"Zimbabwe","gu_a3":"ZWE","su_dif":0,"subunit":"Zimbabwe","su_a3":"ZWE","brk_diff":0,"name":"Zimbabwe","name_long":"Zimbabwe","brk_a3":"ZWE","brk_name":"Zimbabwe","brk_group":null,"abbrev":"Zimb.","postal":"ZW","formal_en":"Republic of Zimbabwe","formal_fr":null,"name_ciawf":"Zimbabwe","note_adm0":null,"note_brk":null,"name_sort":"Zimbabwe","name_alt":null,"mapcolor7":1,"mapcolor8":5,"mapcolor9":3,"mapcolor13":9,"pop_est":14645468,"pop_rank":14,"pop_year":2019,"gdp_md":21440,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"5. Low income","fips_10":"ZI","iso_a2":"ZW","iso_a2_eh":"ZW","iso_a3":"ZWE","iso_a3_eh":"ZWE","iso_n3":"716","iso_n3_eh":"716","un_a3":"716","wb_a2":"ZW","wb_a3":"ZWE","woe_id":23425004,"woe_id_eh":23425004,"woe_note":"Exact WOE match as country","adm0_iso":"ZWE","adm0_diff":null,"adm0_tlc":"ZWE","adm0_a3_us":"ZWE","adm0_a3_fr":"ZWE","adm0_a3_ru":"ZWE","adm0_a3_es":"ZWE","adm0_a3_cn":"ZWE","adm0_a3_tw":"ZWE","adm0_a3_in":"ZWE","adm0_a3_np":"ZWE","adm0_a3_pk":"ZWE","adm0_a3_de":"ZWE","adm0_a3_gb":"ZWE","adm0_a3_br":"ZWE","adm0_a3_il":"ZWE","adm0_a3_ps":"ZWE","adm0_a3_sa":"ZWE","adm0_a3_eg":"ZWE","adm0_a3_ma":"ZWE","adm0_a3_pt":"ZWE","adm0_a3_ar":"ZWE","adm0_a3_jp":"ZWE","adm0_a3_ko":"ZWE","adm0_a3_vn":"ZWE","adm0_a3_tr":"ZWE","adm0_a3_id":"ZWE","adm0_a3_pl":"ZWE","adm0_a3_gr":"ZWE","adm0_a3_it":"ZWE","adm0_a3_nl":"ZWE","adm0_a3_se":"ZWE","adm0_a3_bd":"ZWE","adm0_a3_ua":"ZWE","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":8,"long_len":8,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.5,"max_label":8,"label_x":29.925444,"label_y":-18.91164,"ne_id":1159321441,"wikidataid":"Q954","name_ar":"زيمبابوي","name_bn":"জিম্বাবুয়ে","name_de":"Simbabwe","name_en":"Zimbabwe","name_es":"Zimbabue","name_fa":"زیمبابوه","name_fr":"Zimbabwe","name_el":"Ζιμπάμπουε","name_he":"זימבבואה","name_hi":"ज़िम्बाब्वे","name_hu":"Zimbabwe","name_id":"Zimbabwe","name_it":"Zimbabwe","name_ja":"ジンバブエ","name_ko":"짐바브웨","name_nl":"Zimbabwe","name_pl":"Zimbabwe","name_pt":"Zimbábue","name_ru":"Зимбабве","name_sv":"Zimbabwe","name_tr":"Zimbabve","name_uk":"Зімбабве","name_ur":"زمبابوے","name_vi":"Zimbabwe","name_zh":"津巴布韦","name_zht":"辛巴威","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ZWE.geojson"},"geometry":{"type":"Polygon","coordinates":[[[31.19140913262129,-22.2515096981724],[30.65986535006709,-22.151567478119915],[30.322883335091774,-22.271611830333935],[29.839036899542972,-22.102216485281176],[29.43218834810904,-22.091312758067588],[28.794656202924216,-21.63945403410745],[28.021370070108617,-21.485975030200585],[27.72722781750326,-20.851801853114715],[27.724747348753255,-20.49905852629039],[27.296504754350508,-20.391519870691],[26.164790887158485,-19.29308562589494],[25.85039147309473,-18.714412937090536],[25.649163445750162,-18.53602589281899],[25.264225701608012,-17.736539808831417],[26.381935255648926,-17.8460421688579],[26.70677330903564,-17.961228936436484],[27.044427117630732,-17.938026218337434],[27.59824344250276,-17.290830580314008],[28.467906121542683,-16.468400160388846],[28.8258687680285,-16.389748630440614],[28.947463413211267,-16.04305144619444],[29.516834344203147,-15.644677829656388],[30.27425581230511,-15.507786960515213],[30.338954705534544,-15.880839125230246],[31.17306399915768,-15.860943698797874],[31.636498243951195,-16.071990248277885],[31.8520406430406,-16.319417006091378],[32.32823896661023,-16.392074069893752],[32.847638787575846,-16.713398125884616],[32.84986087416439,-17.97905730557718],[32.65488569512715,-18.672089939043495],[32.61199425632489,-19.419382826416275],[32.772707960752626,-19.715592136313298],[32.65974327976258,-20.304290052982317],[32.50869306817344,-20.395292250248307],[32.244988234188014,-21.116488539313693],[31.19140913262129,-22.2515096981724]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Chad","sov_a3":"TCD","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Chad","adm0_a3":"TCD","geou_dif":0,"geounit":"Chad","gu_a3":"TCD","su_dif":0,"subunit":"Chad","su_a3":"TCD","brk_diff":0,"name":"Chad","name_long":"Chad","brk_a3":"TCD","brk_name":"Chad","brk_group":null,"abbrev":"Chad","postal":"TD","formal_en":"Republic of Chad","formal_fr":null,"name_ciawf":"Chad","note_adm0":null,"note_brk":null,"name_sort":"Chad","name_alt":null,"mapcolor7":6,"mapcolor8":1,"mapcolor9":8,"mapcolor13":6,"pop_est":15946876,"pop_rank":14,"pop_year":2019,"gdp_md":11314,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"CD","iso_a2":"TD","iso_a2_eh":"TD","iso_a3":"TCD","iso_a3_eh":"TCD","iso_n3":"148","iso_n3_eh":"148","un_a3":"148","wb_a2":"TD","wb_a3":"TCD","woe_id":23424777,"woe_id_eh":23424777,"woe_note":"Exact WOE match as country","adm0_iso":"TCD","adm0_diff":null,"adm0_tlc":"TCD","adm0_a3_us":"TCD","adm0_a3_fr":"TCD","adm0_a3_ru":"TCD","adm0_a3_es":"TCD","adm0_a3_cn":"TCD","adm0_a3_tw":"TCD","adm0_a3_in":"TCD","adm0_a3_np":"TCD","adm0_a3_pk":"TCD","adm0_a3_de":"TCD","adm0_a3_gb":"TCD","adm0_a3_br":"TCD","adm0_a3_il":"TCD","adm0_a3_ps":"TCD","adm0_a3_sa":"TCD","adm0_a3_eg":"TCD","adm0_a3_ma":"TCD","adm0_a3_pt":"TCD","adm0_a3_ar":"TCD","adm0_a3_jp":"TCD","adm0_a3_ko":"TCD","adm0_a3_vn":"TCD","adm0_a3_tr":"TCD","adm0_a3_id":"TCD","adm0_a3_pl":"TCD","adm0_a3_gr":"TCD","adm0_a3_it":"TCD","adm0_a3_nl":"TCD","adm0_a3_se":"TCD","adm0_a3_bd":"TCD","adm0_a3_ua":"TCD","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Middle Africa","region_wb":"Sub-Saharan Africa","name_len":4,"long_len":4,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":18.645041,"label_y":15.142959,"ne_id":1159321301,"wikidataid":"Q657","name_ar":"تشاد","name_bn":"চাদ","name_de":"Tschad","name_en":"Chad","name_es":"Chad","name_fa":"چاد","name_fr":"Tchad","name_el":"Τσαντ","name_he":"צ'אד","name_hi":"चाड","name_hu":"Csád","name_id":"Chad","name_it":"Ciad","name_ja":"チャド","name_ko":"차드","name_nl":"Tsjaad","name_pl":"Czad","name_pt":"Chade","name_ru":"Чад","name_sv":"Tchad","name_tr":"Çad","name_uk":"Чад","name_ur":"چاڈ","name_vi":"Tchad","name_zh":"乍得","name_zht":"查德","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"TCD.geojson"},"geometry":{"type":"Polygon","coordinates":[[[23.83766000000014,19.580470000000105],[23.886890000000108,15.61084],[23.024590000000103,15.68072],[22.56795000000011,14.944290000000137],[22.30351,14.32682],[22.51202,14.09318],[22.18329,13.78648],[22.29658,13.37232],[22.03759,12.95546],[21.93681,12.588180000000136],[22.28801,12.64605],[22.49762,12.26024],[22.50869,11.67936],[22.87622,11.384610000000123],[22.864165480244225,11.142395127807546],[22.23112918466876,10.97188873946061],[21.723821648859456,10.567055568885976],[21.000868361096167,9.475985215691509],[20.05968549976427,9.012706000194854],[19.09400800952602,9.07484691002584],[18.812009718509273,8.982914536978598],[18.911021762780507,8.630894680206353],[18.38955488452322,8.281303615751824],[17.964929640380888,7.890914008002994],[16.705988396886255,7.508327541529979],[16.456184523187346,7.734773667832968],[16.290561557691888,7.754307359239419],[16.106231723706742,7.497087917506462],[15.279460483469109,7.421924546737969],[15.436091749745742,7.692812404811889],[15.120865512765306,8.382150173369439],[14.97999555833769,8.796104234243472],[14.54446658698177,8.965861314322268],[13.954218377344006,9.549494940626687],[14.171466098699028,10.021378282099931],[14.62720055508106,9.920919297724538],[14.909353875394716,9.992129421422732],[15.467872755605242,9.982336737503545],[14.92356489427496,10.891325181517473],[14.9601518083376,11.555574042197224],[14.89336,12.21905],[14.495787387762846,12.85939626713733],[14.595781284247607,13.33042694747786],[13.95447675950561,13.353448798063766],[13.956698846094127,13.996691189016929],[13.540393507550789,14.367133693901224],[13.97217,15.68437],[15.247731154041844,16.627305813050782],[15.30044111497972,17.927949937405003],[15.685740594147774,19.957180080642388],[15.903246697664315,20.387618923417506],[15.487148064850146,20.730414537025638],[15.47106,21.04845],[15.096887648181848,21.30851878507491],[14.8513,22.862950000000126],[15.86085,23.40972],[19.84926,21.49509],[23.83766000000014,19.580470000000105]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Algeria","sov_a3":"DZA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Algeria","adm0_a3":"DZA","geou_dif":0,"geounit":"Algeria","gu_a3":"DZA","su_dif":0,"subunit":"Algeria","su_a3":"DZA","brk_diff":0,"name":"Algeria","name_long":"Algeria","brk_a3":"DZA","brk_name":"Algeria","brk_group":null,"abbrev":"Alg.","postal":"DZ","formal_en":"People's Democratic Republic of Algeria","formal_fr":null,"name_ciawf":"Algeria","note_adm0":null,"note_brk":null,"name_sort":"Algeria","name_alt":null,"mapcolor7":5,"mapcolor8":1,"mapcolor9":6,"mapcolor13":3,"pop_est":43053054,"pop_rank":15,"pop_year":2019,"gdp_md":171091,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"AG","iso_a2":"DZ","iso_a2_eh":"DZ","iso_a3":"DZA","iso_a3_eh":"DZA","iso_n3":"012","iso_n3_eh":"012","un_a3":"012","wb_a2":"DZ","wb_a3":"DZA","woe_id":23424740,"woe_id_eh":23424740,"woe_note":"Exact WOE match as country","adm0_iso":"DZA","adm0_diff":null,"adm0_tlc":"DZA","adm0_a3_us":"DZA","adm0_a3_fr":"DZA","adm0_a3_ru":"DZA","adm0_a3_es":"DZA","adm0_a3_cn":"DZA","adm0_a3_tw":"DZA","adm0_a3_in":"DZA","adm0_a3_np":"DZA","adm0_a3_pk":"DZA","adm0_a3_de":"DZA","adm0_a3_gb":"DZA","adm0_a3_br":"DZA","adm0_a3_il":"DZA","adm0_a3_ps":"DZA","adm0_a3_sa":"DZA","adm0_a3_eg":"DZA","adm0_a3_ma":"DZA","adm0_a3_pt":"DZA","adm0_a3_ar":"DZA","adm0_a3_jp":"DZA","adm0_a3_ko":"DZA","adm0_a3_vn":"DZA","adm0_a3_tr":"DZA","adm0_a3_id":"DZA","adm0_a3_pl":"DZA","adm0_a3_gr":"DZA","adm0_a3_it":"DZA","adm0_a3_nl":"DZA","adm0_a3_se":"DZA","adm0_a3_bd":"DZA","adm0_a3_ua":"DZA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Northern Africa","region_wb":"Middle East & North Africa","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.5,"max_label":7,"label_x":2.808241,"label_y":27.397406,"ne_id":1159320565,"wikidataid":"Q262","name_ar":"الجزائر","name_bn":"আলজেরিয়া","name_de":"Algerien","name_en":"Algeria","name_es":"Argelia","name_fa":"الجزایر","name_fr":"Algérie","name_el":"Αλγερία","name_he":"אלג'יריה","name_hi":"अल्जीरिया","name_hu":"Algéria","name_id":"Aljazair","name_it":"Algeria","name_ja":"アルジェリア","name_ko":"알제리","name_nl":"Algerije","name_pl":"Algieria","name_pt":"Argélia","name_ru":"Алжир","name_sv":"Algeriet","name_tr":"Cezayir","name_uk":"Алжир","name_ur":"الجزائر","name_vi":"Algérie","name_zh":"阿尔及利亚","name_zht":"阿爾及利亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"DZA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-8.684399786809053,27.395744126896005],[-8.665124477564191,27.589479071558227],[-8.665589565454809,27.656425889592356],[-8.674116176782974,28.84128896739658],[-7.059227667661958,29.5792284205246],[-6.060632290053774,29.731699734001694],[-5.242129278982787,30.00044302013559],[-4.859646165374471,30.501187649043846],[-3.690441046554724,30.896951605751156],[-3.647497931320146,31.637294012980675],[-3.068980271812648,31.724497992473218],[-2.616604783529567,32.09434621838619],[-1.30789913573787,32.2628889023061],[-1.124551153966308,32.65152151135713],[-1.388049282222596,32.86401500094138],[-1.733454555661467,33.91971283623212],[-1.792985805661715,34.527918606091305],[-2.169913702798624,35.16839630791668],[-1.208602871089056,35.7148487411871],[-0.127454392894606,35.888662421200806],[0.503876580415209,36.30127289483528],[1.466918572606545,36.605647081034405],[3.161698846050825,36.78390493422522],[4.81575809084913,36.86503693292346],[5.320120070017794,36.71651886651662],[6.261819695672613,37.11065501560674],[7.330384962603971,37.11838064223437],[7.737078484741005,36.885707505840216],[8.420964389691676,36.94642731378316],[8.217824334352315,36.433176988260286],[8.376367628623768,35.479876003555944],[8.140981479534304,34.65514598239379],[7.524481642292244,34.09737641045146],[7.612641635782182,33.34411489514896],[8.430472853233368,32.74833730725595],[8.439102817426118,32.50628489840082],[9.05560265466815,32.10269196220129],[9.482139926805274,30.307556057246188],[9.805634392952356,29.424638373323376],[9.859997999723447,28.959989732371014],[9.683884718472768,28.1441738957792],[9.756128370816782,27.688258571884205],[9.629056023811074,27.14095347748092],[9.716285841519664,26.512206325785655],[9.319410841518163,26.094324856057455],[9.910692579801776,25.365454616796796],[9.94826134607797,24.936953640232517],[10.303846876678362,24.379313259370917],[10.771363559622927,24.56253205006175],[11.560669386449005,24.097909247325518],[11.999505649471613,23.47166840259645],[8.572893100629784,21.565660712159143],[5.677565952180686,19.601206976799716],[4.267419467800039,19.155265204337],[3.158133172222705,19.057364203360038],[3.1466610042539,19.693578599521445],[2.683588494486429,19.856230170160117],[2.06099083823392,20.142233384679486],[1.823227573259032,20.610809434486043],[-1.550054897457613,22.792665920497384],[-4.923337368174231,24.974574082941],[-8.684399786809053,27.395744126896005]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Mozambique","sov_a3":"MOZ","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Mozambique","adm0_a3":"MOZ","geou_dif":0,"geounit":"Mozambique","gu_a3":"MOZ","su_dif":0,"subunit":"Mozambique","su_a3":"MOZ","brk_diff":0,"name":"Mozambique","name_long":"Mozambique","brk_a3":"MOZ","brk_name":"Mozambique","brk_group":null,"abbrev":"Moz.","postal":"MZ","formal_en":"Republic of Mozambique","formal_fr":null,"name_ciawf":"Mozambique","note_adm0":null,"note_brk":null,"name_sort":"Mozambique","name_alt":null,"mapcolor7":4,"mapcolor8":2,"mapcolor9":1,"mapcolor13":4,"pop_est":30366036,"pop_rank":15,"pop_year":2019,"gdp_md":15291,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"MZ","iso_a2":"MZ","iso_a2_eh":"MZ","iso_a3":"MOZ","iso_a3_eh":"MOZ","iso_n3":"508","iso_n3_eh":"508","un_a3":"508","wb_a2":"MZ","wb_a3":"MOZ","woe_id":23424902,"woe_id_eh":23424902,"woe_note":"Exact WOE match as country","adm0_iso":"MOZ","adm0_diff":null,"adm0_tlc":"MOZ","adm0_a3_us":"MOZ","adm0_a3_fr":"MOZ","adm0_a3_ru":"MOZ","adm0_a3_es":"MOZ","adm0_a3_cn":"MOZ","adm0_a3_tw":"MOZ","adm0_a3_in":"MOZ","adm0_a3_np":"MOZ","adm0_a3_pk":"MOZ","adm0_a3_de":"MOZ","adm0_a3_gb":"MOZ","adm0_a3_br":"MOZ","adm0_a3_il":"MOZ","adm0_a3_ps":"MOZ","adm0_a3_sa":"MOZ","adm0_a3_eg":"MOZ","adm0_a3_ma":"MOZ","adm0_a3_pt":"MOZ","adm0_a3_ar":"MOZ","adm0_a3_jp":"MOZ","adm0_a3_ko":"MOZ","adm0_a3_vn":"MOZ","adm0_a3_tr":"MOZ","adm0_a3_id":"MOZ","adm0_a3_pl":"MOZ","adm0_a3_gr":"MOZ","adm0_a3_it":"MOZ","adm0_a3_nl":"MOZ","adm0_a3_se":"MOZ","adm0_a3_bd":"MOZ","adm0_a3_ua":"MOZ","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":10,"long_len":10,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":37.83789,"label_y":-13.94323,"ne_id":1159321073,"wikidataid":"Q1029","name_ar":"موزمبيق","name_bn":"মোজাম্বিক","name_de":"Mosambik","name_en":"Mozambique","name_es":"Mozambique","name_fa":"موزامبیک","name_fr":"Mozambique","name_el":"Μοζαμβίκη","name_he":"מוזמביק","name_hi":"मोज़ाम्बीक","name_hu":"Mozambik","name_id":"Mozambik","name_it":"Mozambico","name_ja":"モザンビーク","name_ko":"모잠비크","name_nl":"Mozambique","name_pl":"Mozambik","name_pt":"Moçambique","name_ru":"Мозамбик","name_sv":"Moçambique","name_tr":"Mozambik","name_uk":"Мозамбік","name_ur":"موزمبیق","name_vi":"Mozambique","name_zh":"莫桑比克","name_zht":"莫三比克","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MOZ.geojson"},"geometry":{"type":"Polygon","coordinates":[[[34.55998904799935,-11.520020033415925],[35.31239790216904,-11.439146416879147],[36.51408165868426,-11.720938002166735],[36.775150994622805,-11.594537448780805],[37.47129,-11.56876],[37.82764,-11.26879],[38.42755659358775,-11.285202325081656],[39.521,-10.89688],[40.31659,-10.317099999999868],[40.316586229110854,-10.317097752817492],[40.31658857601719,-10.317096042525698],[40.47838748552303,-10.765440769089993],[40.437253045418686,-11.761710707245015],[40.56081139502857,-12.639176527561027],[40.59962039567975,-14.201975192931862],[40.775475294768995,-14.691764418194241],[40.4772506040126,-15.406294447493972],[40.08926395036522,-16.10077402106446],[39.45255862809705,-16.72089120856694],[38.53835086442152,-17.101023044505958],[37.41113284683888,-17.586368096591237],[36.28127933120936,-18.65968759529345],[35.89649661636406,-18.842260430580637],[35.198399692533144,-19.552811374593894],[34.78638349787005,-19.784011732667736],[34.70189253107284,-20.49704314543101],[35.176127150215365,-21.25436126066841],[35.37342776870574,-21.840837090748877],[35.385848253705404,-22.14],[35.562545536369086,-22.09],[35.533934767404304,-23.070787855727758],[35.37177412287238,-23.5353589820317],[35.60747033055563,-23.706563002214683],[35.45874555841962,-24.12260995859655],[35.04073489761066,-24.478350518493805],[34.21582400893547,-24.81631438568266],[33.01321007663901,-25.357573337507738],[32.574632195777866,-25.727318210556092],[32.66036339695009,-26.148584486599447],[32.91595503106569,-26.215867201443466],[32.830120477028885,-26.742191664336197],[32.07166548028107,-26.73382008230491],[31.98577924981197,-26.291779880480227],[31.83777794772806,-25.84333180105135],[31.75240848158188,-25.484283949487413],[31.930588820124253,-24.36941659922254],[31.670397983534656,-23.658969008073864],[31.19140913262129,-22.2515096981724],[32.244988234188014,-21.116488539313693],[32.50869306817344,-20.395292250248307],[32.65974327976258,-20.304290052982317],[32.772707960752626,-19.715592136313298],[32.61199425632489,-19.419382826416275],[32.65488569512715,-18.672089939043495],[32.84986087416439,-17.97905730557718],[32.847638787575846,-16.713398125884616],[32.32823896661023,-16.392074069893752],[31.8520406430406,-16.319417006091378],[31.636498243951195,-16.071990248277885],[31.17306399915768,-15.860943698797874],[30.338954705534544,-15.880839125230246],[30.27425581230511,-15.507786960515213],[30.17948123548183,-14.796099134991529],[33.214024692525214,-13.971860039936153],[33.789700148256685,-14.45183074306307],[34.064825473778626,-14.35995004644812],[34.45963341648854,-14.613009535381423],[34.51766604995231,-15.013708591372612],[34.307291294092096,-15.478641452702597],[34.38129194513405,-16.183559665596043],[35.033810255683534,-16.801299737213093],[35.339062941231646,-16.10744028083011],[35.77190473810836,-15.896858819240727],[35.68684533055594,-14.611045830954332],[35.26795617039801,-13.887834161029566],[34.907151320136165,-13.565424899960568],[34.55998904799935,-13.579997653866876],[34.28000613784198,-12.280025323132506],[34.55998904799935,-11.520020033415925]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"eSwatini","sov_a3":"SWZ","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"eSwatini","adm0_a3":"SWZ","geou_dif":0,"geounit":"eSwatini","gu_a3":"SWZ","su_dif":0,"subunit":"eSwatini","su_a3":"SWZ","brk_diff":0,"name":"eSwatini","name_long":"Kingdom of eSwatini","brk_a3":"SWZ","brk_name":"eSwatini","brk_group":null,"abbrev":"eSw.","postal":"ES","formal_en":"Kingdom of eSwatini","formal_fr":null,"name_ciawf":"eSwatini","note_adm0":null,"note_brk":null,"name_sort":"eSwatini","name_alt":"Swaziland","mapcolor7":3,"mapcolor8":6,"mapcolor9":2,"mapcolor13":5,"pop_est":1148130,"pop_rank":12,"pop_year":2019,"gdp_md":4471,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"WZ","iso_a2":"SZ","iso_a2_eh":"SZ","iso_a3":"SWZ","iso_a3_eh":"SWZ","iso_n3":"748","iso_n3_eh":"748","un_a3":"748","wb_a2":"SZ","wb_a3":"SWZ","woe_id":23424993,"woe_id_eh":23424993,"woe_note":"Exact WOE match as country","adm0_iso":"SWZ","adm0_diff":null,"adm0_tlc":"SWZ","adm0_a3_us":"SWZ","adm0_a3_fr":"SWZ","adm0_a3_ru":"SWZ","adm0_a3_es":"SWZ","adm0_a3_cn":"SWZ","adm0_a3_tw":"SWZ","adm0_a3_in":"SWZ","adm0_a3_np":"SWZ","adm0_a3_pk":"SWZ","adm0_a3_de":"SWZ","adm0_a3_gb":"SWZ","adm0_a3_br":"SWZ","adm0_a3_il":"SWZ","adm0_a3_ps":"SWZ","adm0_a3_sa":"SWZ","adm0_a3_eg":"SWZ","adm0_a3_ma":"SWZ","adm0_a3_pt":"SWZ","adm0_a3_ar":"SWZ","adm0_a3_jp":"SWZ","adm0_a3_ko":"SWZ","adm0_a3_vn":"SWZ","adm0_a3_tr":"SWZ","adm0_a3_id":"SWZ","adm0_a3_pl":"SWZ","adm0_a3_gr":"SWZ","adm0_a3_it":"SWZ","adm0_a3_nl":"SWZ","adm0_a3_se":"SWZ","adm0_a3_bd":"SWZ","adm0_a3_ua":"SWZ","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Southern Africa","region_wb":"Sub-Saharan Africa","name_len":8,"long_len":19,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":31.467264,"label_y":-26.533676,"ne_id":1159321289,"wikidataid":"Q1050","name_ar":"إسواتيني","name_bn":"ইসোয়াতিনি","name_de":"Eswatini","name_en":"Eswatini","name_es":"Suazilandia","name_fa":"اسواتینی","name_fr":"Eswatini","name_el":"Εσουατίνι","name_he":"אסוואטיני","name_hi":"एस्वातीनी","name_hu":"Szváziföld","name_id":"Eswatini","name_it":"eSwatini","name_ja":"エスワティニ","name_ko":"에스와티니","name_nl":"Swaziland","name_pl":"Eswatini","name_pt":"Essuatíni","name_ru":"Эсватини","name_sv":"Swaziland","name_tr":"Esvatini","name_uk":"Есватіні","name_ur":"اسواتینی","name_vi":"Eswatini","name_zh":"斯威士兰","name_zht":"史瓦帝尼","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SWZ.geojson"},"geometry":{"type":"Polygon","coordinates":[[[32.07166548028107,-26.73382008230491],[31.86806033705108,-27.177927341421277],[31.28277306491333,-27.285879408478998],[30.68596194837448,-26.743845310169533],[30.67660851412964,-26.398078301704608],[30.949666782359913,-26.02264902110415],[31.04407962415715,-25.731452325139443],[31.333157586397903,-25.66019052500895],[31.83777794772806,-25.84333180105135],[31.98577924981197,-26.291779880480227],[32.07166548028107,-26.73382008230491]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Burundi","sov_a3":"BDI","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Burundi","adm0_a3":"BDI","geou_dif":0,"geounit":"Burundi","gu_a3":"BDI","su_dif":0,"subunit":"Burundi","su_a3":"BDI","brk_diff":0,"name":"Burundi","name_long":"Burundi","brk_a3":"BDI","brk_name":"Burundi","brk_group":null,"abbrev":"Bur.","postal":"BI","formal_en":"Republic of Burundi","formal_fr":null,"name_ciawf":"Burundi","note_adm0":null,"note_brk":null,"name_sort":"Burundi","name_alt":null,"mapcolor7":2,"mapcolor8":2,"mapcolor9":5,"mapcolor13":8,"pop_est":11530580,"pop_rank":14,"pop_year":2019,"gdp_md":3012,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"BY","iso_a2":"BI","iso_a2_eh":"BI","iso_a3":"BDI","iso_a3_eh":"BDI","iso_n3":"108","iso_n3_eh":"108","un_a3":"108","wb_a2":"BI","wb_a3":"BDI","woe_id":23424774,"woe_id_eh":23424774,"woe_note":"Exact WOE match as country","adm0_iso":"BDI","adm0_diff":null,"adm0_tlc":"BDI","adm0_a3_us":"BDI","adm0_a3_fr":"BDI","adm0_a3_ru":"BDI","adm0_a3_es":"BDI","adm0_a3_cn":"BDI","adm0_a3_tw":"BDI","adm0_a3_in":"BDI","adm0_a3_np":"BDI","adm0_a3_pk":"BDI","adm0_a3_de":"BDI","adm0_a3_gb":"BDI","adm0_a3_br":"BDI","adm0_a3_il":"BDI","adm0_a3_ps":"BDI","adm0_a3_sa":"BDI","adm0_a3_eg":"BDI","adm0_a3_ma":"BDI","adm0_a3_pt":"BDI","adm0_a3_ar":"BDI","adm0_a3_jp":"BDI","adm0_a3_ko":"BDI","adm0_a3_vn":"BDI","adm0_a3_tr":"BDI","adm0_a3_id":"BDI","adm0_a3_pl":"BDI","adm0_a3_gr":"BDI","adm0_a3_it":"BDI","adm0_a3_nl":"BDI","adm0_a3_se":"BDI","adm0_a3_bd":"BDI","adm0_a3_ua":"BDI","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":29.917086,"label_y":-3.332836,"ne_id":1159320387,"wikidataid":"Q967","name_ar":"بوروندي","name_bn":"বুরুন্ডি","name_de":"Burundi","name_en":"Burundi","name_es":"Burundi","name_fa":"بوروندی","name_fr":"Burundi","name_el":"Μπουρούντι","name_he":"בורונדי","name_hi":"बुरुण्डी","name_hu":"Burundi","name_id":"Burundi","name_it":"Burundi","name_ja":"ブルンジ","name_ko":"부룬디","name_nl":"Burundi","name_pl":"Burundi","name_pt":"Burundi","name_ru":"Бурунди","name_sv":"Burundi","name_tr":"Burundi","name_uk":"Бурунді","name_ur":"برونڈی","name_vi":"Burundi","name_zh":"布隆迪","name_zht":"蒲隆地","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BDI.geojson"},"geometry":{"type":"Polygon","coordinates":[[[30.469673645761223,-2.41385475710134],[30.52766,-2.80762],[30.74301,-3.03431],[30.75224,-3.35931],[30.50554,-3.56858],[30.11632,-4.09012],[29.753512404099865,-4.452389418153302],[29.339997592900346,-4.499983412294092],[29.276383904749053,-3.293907159034063],[29.024926385216787,-2.839257907730158],[29.632176141078588,-2.917857761246097],[29.93835900240794,-2.348486830254238],[30.469673645761223,-2.41385475710134]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Rwanda","sov_a3":"RWA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Rwanda","adm0_a3":"RWA","geou_dif":0,"geounit":"Rwanda","gu_a3":"RWA","su_dif":0,"subunit":"Rwanda","su_a3":"RWA","brk_diff":0,"name":"Rwanda","name_long":"Rwanda","brk_a3":"RWA","brk_name":"Rwanda","brk_group":null,"abbrev":"Rwa.","postal":"RW","formal_en":"Republic of Rwanda","formal_fr":null,"name_ciawf":"Rwanda","note_adm0":null,"note_brk":null,"name_sort":"Rwanda","name_alt":null,"mapcolor7":5,"mapcolor8":2,"mapcolor9":3,"mapcolor13":10,"pop_est":12626950,"pop_rank":14,"pop_year":2019,"gdp_md":10354,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"RW","iso_a2":"RW","iso_a2_eh":"RW","iso_a3":"RWA","iso_a3_eh":"RWA","iso_n3":"646","iso_n3_eh":"646","un_a3":"646","wb_a2":"RW","wb_a3":"RWA","woe_id":23424937,"woe_id_eh":23424937,"woe_note":"Exact WOE match as country","adm0_iso":"RWA","adm0_diff":null,"adm0_tlc":"RWA","adm0_a3_us":"RWA","adm0_a3_fr":"RWA","adm0_a3_ru":"RWA","adm0_a3_es":"RWA","adm0_a3_cn":"RWA","adm0_a3_tw":"RWA","adm0_a3_in":"RWA","adm0_a3_np":"RWA","adm0_a3_pk":"RWA","adm0_a3_de":"RWA","adm0_a3_gb":"RWA","adm0_a3_br":"RWA","adm0_a3_il":"RWA","adm0_a3_ps":"RWA","adm0_a3_sa":"RWA","adm0_a3_eg":"RWA","adm0_a3_ma":"RWA","adm0_a3_pt":"RWA","adm0_a3_ar":"RWA","adm0_a3_jp":"RWA","adm0_a3_ko":"RWA","adm0_a3_vn":"RWA","adm0_a3_tr":"RWA","adm0_a3_id":"RWA","adm0_a3_pl":"RWA","adm0_a3_gr":"RWA","adm0_a3_it":"RWA","adm0_a3_nl":"RWA","adm0_a3_se":"RWA","adm0_a3_bd":"RWA","adm0_a3_ua":"RWA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":30.103894,"label_y":-1.897196,"ne_id":1159321219,"wikidataid":"Q1037","name_ar":"رواندا","name_bn":"রুয়ান্ডা","name_de":"Ruanda","name_en":"Rwanda","name_es":"Ruanda","name_fa":"رواندا","name_fr":"Rwanda","name_el":"Ρουάντα","name_he":"רואנדה","name_hi":"रवाण्डा","name_hu":"Ruanda","name_id":"Rwanda","name_it":"Ruanda","name_ja":"ルワンダ","name_ko":"르완다","name_nl":"Rwanda","name_pl":"Rwanda","name_pt":"Ruanda","name_ru":"Руанда","name_sv":"Rwanda","name_tr":"Ruanda","name_uk":"Руанда","name_ur":"روانڈا","name_vi":"Rwanda","name_zh":"卢旺达","name_zht":"盧旺達","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"RWA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[30.419104852019245,-1.134659112150416],[30.816134881317712,-1.698914076345389],[30.75830895358311,-2.287250257988369],[30.46967,-2.41383],[30.469673645761223,-2.41385475710134],[29.93835900240794,-2.348486830254238],[29.632176141078588,-2.917857761246097],[29.024926385216787,-2.839257907730158],[29.117478875451553,-2.292211195488385],[29.254834832483343,-2.215109958508911],[29.291886834436614,-1.620055840667987],[29.579466180140884,-1.341313164885626],[29.821518588996014,-1.443322442229785],[30.419104852019245,-1.134659112150416]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Uganda","sov_a3":"UGA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Uganda","adm0_a3":"UGA","geou_dif":0,"geounit":"Uganda","gu_a3":"UGA","su_dif":0,"subunit":"Uganda","su_a3":"UGA","brk_diff":0,"name":"Uganda","name_long":"Uganda","brk_a3":"UGA","brk_name":"Uganda","brk_group":null,"abbrev":"Uga.","postal":"UG","formal_en":"Republic of Uganda","formal_fr":null,"name_ciawf":"Uganda","note_adm0":null,"note_brk":null,"name_sort":"Uganda","name_alt":null,"mapcolor7":6,"mapcolor8":3,"mapcolor9":6,"mapcolor13":4,"pop_est":44269594,"pop_rank":15,"pop_year":2019,"gdp_md":35165,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"UG","iso_a2":"UG","iso_a2_eh":"UG","iso_a3":"UGA","iso_a3_eh":"UGA","iso_n3":"800","iso_n3_eh":"800","un_a3":"800","wb_a2":"UG","wb_a3":"UGA","woe_id":23424974,"woe_id_eh":23424974,"woe_note":"Exact WOE match as country","adm0_iso":"UGA","adm0_diff":null,"adm0_tlc":"UGA","adm0_a3_us":"UGA","adm0_a3_fr":"UGA","adm0_a3_ru":"UGA","adm0_a3_es":"UGA","adm0_a3_cn":"UGA","adm0_a3_tw":"UGA","adm0_a3_in":"UGA","adm0_a3_np":"UGA","adm0_a3_pk":"UGA","adm0_a3_de":"UGA","adm0_a3_gb":"UGA","adm0_a3_br":"UGA","adm0_a3_il":"UGA","adm0_a3_ps":"UGA","adm0_a3_sa":"UGA","adm0_a3_eg":"UGA","adm0_a3_ma":"UGA","adm0_a3_pt":"UGA","adm0_a3_ar":"UGA","adm0_a3_jp":"UGA","adm0_a3_ko":"UGA","adm0_a3_vn":"UGA","adm0_a3_tr":"UGA","adm0_a3_id":"UGA","adm0_a3_pl":"UGA","adm0_a3_gr":"UGA","adm0_a3_it":"UGA","adm0_a3_nl":"UGA","adm0_a3_se":"UGA","adm0_a3_bd":"UGA","adm0_a3_ua":"UGA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":32.948555,"label_y":1.972589,"ne_id":1159321343,"wikidataid":"Q1036","name_ar":"أوغندا","name_bn":"উগান্ডা","name_de":"Uganda","name_en":"Uganda","name_es":"Uganda","name_fa":"اوگاندا","name_fr":"Ouganda","name_el":"Ουγκάντα","name_he":"אוגנדה","name_hi":"युगाण्डा","name_hu":"Uganda","name_id":"Uganda","name_it":"Uganda","name_ja":"ウガンダ","name_ko":"우간다","name_nl":"Oeganda","name_pl":"Uganda","name_pt":"Uganda","name_ru":"Уганда","name_sv":"Uganda","name_tr":"Uganda","name_uk":"Уганда","name_ur":"یوگنڈا","name_vi":"Uganda","name_zh":"乌干达","name_zht":"烏干達","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"UGA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[33.90371119710453,-0.95],[31.86617,-1.02736],[30.769860000000108,-1.01455],[30.419104852019245,-1.134659112150416],[29.821518588996014,-1.443322442229785],[29.579466180140884,-1.341313164885626],[29.58783776217217,-0.587405694179381],[29.819503208136638,-0.205310153813372],[29.875778842902434,0.597379868976361],[30.086153598762706,1.062312730306289],[30.46850752129029,1.583805446779706],[30.85267011894806,1.849396470543809],[31.174149204235817,2.204465236821264],[30.77334679538004,2.339883327642127],[30.83385989759381,3.509165961110341],[30.833852421715427,3.509171604222463],[31.24556,3.7819],[31.88145,3.55827],[32.68642,3.79232],[33.3900000000001,3.79],[34.005,4.249884947362048],[34.47913,3.5556],[34.59607,3.053740000000118],[35.03599,1.90584],[34.6721,1.17694],[34.18,0.515],[33.893568969666944,0.109813537861896],[33.90371119710453,-0.95]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Lesotho","sov_a3":"LSO","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Lesotho","adm0_a3":"LSO","geou_dif":0,"geounit":"Lesotho","gu_a3":"LSO","su_dif":0,"subunit":"Lesotho","su_a3":"LSO","brk_diff":0,"name":"Lesotho","name_long":"Lesotho","brk_a3":"LSO","brk_name":"Lesotho","brk_group":null,"abbrev":"Les.","postal":"LS","formal_en":"Kingdom of Lesotho","formal_fr":null,"name_ciawf":"Lesotho","note_adm0":null,"note_brk":null,"name_sort":"Lesotho","name_alt":null,"mapcolor7":1,"mapcolor8":5,"mapcolor9":2,"mapcolor13":8,"pop_est":2125268,"pop_rank":12,"pop_year":2019,"gdp_md":2376,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"4. Lower middle income","fips_10":"LT","iso_a2":"LS","iso_a2_eh":"LS","iso_a3":"LSO","iso_a3_eh":"LSO","iso_n3":"426","iso_n3_eh":"426","un_a3":"426","wb_a2":"LS","wb_a3":"LSO","woe_id":23424880,"woe_id_eh":23424880,"woe_note":"Exact WOE match as country","adm0_iso":"LSO","adm0_diff":null,"adm0_tlc":"LSO","adm0_a3_us":"LSO","adm0_a3_fr":"LSO","adm0_a3_ru":"LSO","adm0_a3_es":"LSO","adm0_a3_cn":"LSO","adm0_a3_tw":"LSO","adm0_a3_in":"LSO","adm0_a3_np":"LSO","adm0_a3_pk":"LSO","adm0_a3_de":"LSO","adm0_a3_gb":"LSO","adm0_a3_br":"LSO","adm0_a3_il":"LSO","adm0_a3_ps":"LSO","adm0_a3_sa":"LSO","adm0_a3_eg":"LSO","adm0_a3_ma":"LSO","adm0_a3_pt":"LSO","adm0_a3_ar":"LSO","adm0_a3_jp":"LSO","adm0_a3_ko":"LSO","adm0_a3_vn":"LSO","adm0_a3_tr":"LSO","adm0_a3_id":"LSO","adm0_a3_pl":"LSO","adm0_a3_gr":"LSO","adm0_a3_it":"LSO","adm0_a3_nl":"LSO","adm0_a3_se":"LSO","adm0_a3_bd":"LSO","adm0_a3_ua":"LSO","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Southern Africa","region_wb":"Sub-Saharan Africa","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":28.246639,"label_y":-29.480158,"ne_id":1159321027,"wikidataid":"Q1013","name_ar":"ليسوتو","name_bn":"লেসোথো","name_de":"Lesotho","name_en":"Lesotho","name_es":"Lesoto","name_fa":"لسوتو","name_fr":"Lesotho","name_el":"Λεσότο","name_he":"לסוטו","name_hi":"लेसोथो","name_hu":"Lesotho","name_id":"Lesotho","name_it":"Lesotho","name_ja":"レソト","name_ko":"레소토","name_nl":"Lesotho","name_pl":"Lesotho","name_pt":"Lesoto","name_ru":"Лесото","name_sv":"Lesotho","name_tr":"Lesotho","name_uk":"Лесото","name_ur":"لیسوتھو","name_vi":"Lesotho","name_zh":"莱索托","name_zht":"賴索托","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"LSO.geojson"},"geometry":{"type":"Polygon","coordinates":[[[28.978262566857243,-28.95559661226171],[29.32516645683259,-29.257386976846256],[29.018415154748027,-29.74376555757737],[28.84839969250774,-30.070050551068256],[28.29106937023991,-30.2262167294543],[28.107204624145425,-30.54573211031495],[27.749397006956485,-30.645105889612225],[26.999261915807637,-29.875953871379984],[27.532511020627478,-29.24271087007536],[28.074338413207784,-28.851468601193588],[28.541700066855498,-28.64750172293757],[28.978262566857243,-28.95559661226171]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Cameroon","sov_a3":"CMR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Cameroon","adm0_a3":"CMR","geou_dif":0,"geounit":"Cameroon","gu_a3":"CMR","su_dif":0,"subunit":"Cameroon","su_a3":"CMR","brk_diff":0,"name":"Cameroon","name_long":"Cameroon","brk_a3":"CMR","brk_name":"Cameroon","brk_group":null,"abbrev":"Cam.","postal":"CM","formal_en":"Republic of Cameroon","formal_fr":null,"name_ciawf":"Cameroon","note_adm0":null,"note_brk":null,"name_sort":"Cameroon","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":1,"mapcolor13":3,"pop_est":25876380,"pop_rank":15,"pop_year":2019,"gdp_md":39007,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"CM","iso_a2":"CM","iso_a2_eh":"CM","iso_a3":"CMR","iso_a3_eh":"CMR","iso_n3":"120","iso_n3_eh":"120","un_a3":"120","wb_a2":"CM","wb_a3":"CMR","woe_id":23424785,"woe_id_eh":23424785,"woe_note":"Exact WOE match as country","adm0_iso":"CMR","adm0_diff":null,"adm0_tlc":"CMR","adm0_a3_us":"CMR","adm0_a3_fr":"CMR","adm0_a3_ru":"CMR","adm0_a3_es":"CMR","adm0_a3_cn":"CMR","adm0_a3_tw":"CMR","adm0_a3_in":"CMR","adm0_a3_np":"CMR","adm0_a3_pk":"CMR","adm0_a3_de":"CMR","adm0_a3_gb":"CMR","adm0_a3_br":"CMR","adm0_a3_il":"CMR","adm0_a3_ps":"CMR","adm0_a3_sa":"CMR","adm0_a3_eg":"CMR","adm0_a3_ma":"CMR","adm0_a3_pt":"CMR","adm0_a3_ar":"CMR","adm0_a3_jp":"CMR","adm0_a3_ko":"CMR","adm0_a3_vn":"CMR","adm0_a3_tr":"CMR","adm0_a3_id":"CMR","adm0_a3_pl":"CMR","adm0_a3_gr":"CMR","adm0_a3_it":"CMR","adm0_a3_nl":"CMR","adm0_a3_se":"CMR","adm0_a3_bd":"CMR","adm0_a3_ua":"CMR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Middle Africa","region_wb":"Sub-Saharan Africa","name_len":8,"long_len":8,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":12.473488,"label_y":4.585041,"ne_id":1159320509,"wikidataid":"Q1009","name_ar":"الكاميرون","name_bn":"ক্যামেরুন","name_de":"Kamerun","name_en":"Cameroon","name_es":"Camerún","name_fa":"کامرون","name_fr":"Cameroun","name_el":"Καμερούν","name_he":"קמרון","name_hi":"कैमरुन","name_hu":"Kamerun","name_id":"Kamerun","name_it":"Camerun","name_ja":"カメルーン","name_ko":"카메룬","name_nl":"Kameroen","name_pl":"Kamerun","name_pt":"Camarões","name_ru":"Камерун","name_sv":"Kamerun","name_tr":"Kamerun","name_uk":"Камерун","name_ur":"کیمرون","name_vi":"Cameroon","name_zh":"喀麦隆","name_zht":"喀麥隆","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"CMR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[14.495787387762846,12.85939626713733],[14.89336,12.21905],[14.9601518083376,11.555574042197224],[14.92356489427496,10.891325181517473],[15.467872755605242,9.982336737503545],[14.909353875394716,9.992129421422732],[14.62720055508106,9.920919297724538],[14.171466098699028,10.021378282099931],[13.954218377344006,9.549494940626687],[14.54446658698177,8.965861314322268],[14.97999555833769,8.796104234243472],[15.120865512765306,8.382150173369439],[15.436091749745742,7.692812404811889],[15.279460483469109,7.421924546737969],[14.776545444404576,6.408498033062045],[14.536560092841114,6.22695872642069],[14.459407179429348,5.4517605656103],[14.558935988023507,5.03059764243153],[14.47837243008047,4.732605495620447],[14.950953403389661,4.210389309094921],[15.036219516671252,3.851367295747124],[15.405395948964383,3.33530060466434],[15.862732374747482,3.013537298998983],[15.907380812247652,2.557389431158612],[16.012852410555354,2.267639675298085],[15.940918816805066,1.727672634280296],[15.146341993885244,1.964014797367184],[14.33781253424658,2.227874660649491],[13.075822381246752,2.267097072759015],[12.951333855855609,2.32161570882694],[12.359380323952221,2.19281220133945],[11.75166548019979,2.326757513839993],[11.276449008843713,2.261050930180872],[9.649158155972628,2.283866075037736],[9.795195753629457,3.073404445809117],[9.404366896206,3.734526882335203],[8.948115675501072,3.904128933117136],[8.744923943729418,4.35221527751996],[8.48881554529089,4.495617377129918],[8.500287713259695,4.771982937026849],[8.757532993208628,5.479665839047911],[9.233162876023044,6.444490668153335],[9.522705926154401,6.453482367372117],[10.118276808318257,7.03876963950988],[10.497375115611419,7.055357774275564],[11.058787876030351,6.644426784690594],[11.74577436691851,6.981382961449754],[11.839308709366803,7.397042344589437],[12.063946160539558,7.799808457872302],[12.218872104550599,8.305824082874324],[12.753671502339216,8.717762762888995],[12.955467970438974,9.417771714714704],[13.167599724997103,9.640626328973411],[13.308676385153918,10.160362046748928],[13.572949659894562,10.798565985553566],[14.415378859116684,11.572368882692075],[14.468192172918975,11.904751695193411],[14.577177768622533,12.085360826053503],[14.181336297266794,12.483656927943116],[14.213530714584635,12.802035427293347],[14.495787387762846,12.85939626713733]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Gabon","sov_a3":"GAB","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Gabon","adm0_a3":"GAB","geou_dif":0,"geounit":"Gabon","gu_a3":"GAB","su_dif":0,"subunit":"Gabon","su_a3":"GAB","brk_diff":0,"name":"Gabon","name_long":"Gabon","brk_a3":"GAB","brk_name":"Gabon","brk_group":null,"abbrev":"Gabon","postal":"GA","formal_en":"Gabonese Republic","formal_fr":null,"name_ciawf":"Gabon","note_adm0":null,"note_brk":null,"name_sort":"Gabon","name_alt":null,"mapcolor7":6,"mapcolor8":2,"mapcolor9":5,"mapcolor13":5,"pop_est":2172579,"pop_rank":12,"pop_year":2019,"gdp_md":16874,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"GB","iso_a2":"GA","iso_a2_eh":"GA","iso_a3":"GAB","iso_a3_eh":"GAB","iso_n3":"266","iso_n3_eh":"266","un_a3":"266","wb_a2":"GA","wb_a3":"GAB","woe_id":23424822,"woe_id_eh":23424822,"woe_note":"Exact WOE match as country","adm0_iso":"GAB","adm0_diff":null,"adm0_tlc":"GAB","adm0_a3_us":"GAB","adm0_a3_fr":"GAB","adm0_a3_ru":"GAB","adm0_a3_es":"GAB","adm0_a3_cn":"GAB","adm0_a3_tw":"GAB","adm0_a3_in":"GAB","adm0_a3_np":"GAB","adm0_a3_pk":"GAB","adm0_a3_de":"GAB","adm0_a3_gb":"GAB","adm0_a3_br":"GAB","adm0_a3_il":"GAB","adm0_a3_ps":"GAB","adm0_a3_sa":"GAB","adm0_a3_eg":"GAB","adm0_a3_ma":"GAB","adm0_a3_pt":"GAB","adm0_a3_ar":"GAB","adm0_a3_jp":"GAB","adm0_a3_ko":"GAB","adm0_a3_vn":"GAB","adm0_a3_tr":"GAB","adm0_a3_id":"GAB","adm0_a3_pl":"GAB","adm0_a3_gr":"GAB","adm0_a3_it":"GAB","adm0_a3_nl":"GAB","adm0_a3_se":"GAB","adm0_a3_bd":"GAB","adm0_a3_ua":"GAB","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Middle Africa","region_wb":"Sub-Saharan Africa","name_len":5,"long_len":5,"abbrev_len":5,"tiny":3,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":11.835939,"label_y":-0.437739,"ne_id":1159320693,"wikidataid":"Q1000","name_ar":"الغابون","name_bn":"গ্যাবন","name_de":"Gabun","name_en":"Gabon","name_es":"Gabón","name_fa":"گابن","name_fr":"Gabon","name_el":"Γκαμπόν","name_he":"גבון","name_hi":"गबॉन","name_hu":"Gabon","name_id":"Gabon","name_it":"Gabon","name_ja":"ガボン","name_ko":"가봉","name_nl":"Gabon","name_pl":"Gabon","name_pt":"Gabão","name_ru":"Габон","name_sv":"Gabon","name_tr":"Gabon","name_uk":"Габон","name_ur":"گیبون","name_vi":"Gabon","name_zh":"加蓬","name_zht":"加彭","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"GAB.geojson"},"geometry":{"type":"Polygon","coordinates":[[[11.276449008843713,2.261050930180872],[11.75166548019979,2.326757513839993],[12.359380323952221,2.19281220133945],[12.951333855855609,2.32161570882694],[13.075822381246752,2.267097072759015],[13.003113641012078,1.83089630778332],[13.282631463278818,1.31418366129688],[14.026668735417218,1.395677395021153],[14.276265903386957,1.196929836426619],[13.843320753645656,0.038757635901149],[14.316418491277744,-0.552627455247048],[14.425455763413595,-1.333406670744971],[14.299210239324566,-1.998275648612214],[13.99240726080771,-2.4708049454891],[13.109618767965628,-2.428740329603514],[12.575284458067642,-1.948511244315135],[12.495702752338161,-2.391688327650243],[11.820963575903193,-2.514161472181982],[11.478038771214303,-2.765618991714241],[11.855121697648116,-3.426870619321051],[11.093772820691925,-3.978826592630547],[10.06613528813574,-2.969482517105682],[9.40524539555497,-2.144313246269043],[8.79799563969317,-1.111301364754496],[8.830086704146424,-0.779073581550037],[9.048419630579588,-0.459351494960217],[9.29135053878369,0.268666083167687],[9.492888624721985,1.010119533691494],[9.830284051155644,1.067893784993799],[11.285078973036462,1.057661851400013],[11.276449008843713,2.261050930180872]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Niger","sov_a3":"NER","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Niger","adm0_a3":"NER","geou_dif":0,"geounit":"Niger","gu_a3":"NER","su_dif":0,"subunit":"Niger","su_a3":"NER","brk_diff":0,"name":"Niger","name_long":"Niger","brk_a3":"NER","brk_name":"Niger","brk_group":null,"abbrev":"Niger","postal":"NE","formal_en":"Republic of Niger","formal_fr":null,"name_ciawf":"Niger","note_adm0":null,"note_brk":null,"name_sort":"Niger","name_alt":null,"mapcolor7":4,"mapcolor8":5,"mapcolor9":3,"mapcolor13":13,"pop_est":23310715,"pop_rank":15,"pop_year":2019,"gdp_md":12911,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"NG","iso_a2":"NE","iso_a2_eh":"NE","iso_a3":"NER","iso_a3_eh":"NER","iso_n3":"562","iso_n3_eh":"562","un_a3":"562","wb_a2":"NE","wb_a3":"NER","woe_id":23424906,"woe_id_eh":23424906,"woe_note":"Exact WOE match as country","adm0_iso":"NER","adm0_diff":null,"adm0_tlc":"NER","adm0_a3_us":"NER","adm0_a3_fr":"NER","adm0_a3_ru":"NER","adm0_a3_es":"NER","adm0_a3_cn":"NER","adm0_a3_tw":"NER","adm0_a3_in":"NER","adm0_a3_np":"NER","adm0_a3_pk":"NER","adm0_a3_de":"NER","adm0_a3_gb":"NER","adm0_a3_br":"NER","adm0_a3_il":"NER","adm0_a3_ps":"NER","adm0_a3_sa":"NER","adm0_a3_eg":"NER","adm0_a3_ma":"NER","adm0_a3_pt":"NER","adm0_a3_ar":"NER","adm0_a3_jp":"NER","adm0_a3_ko":"NER","adm0_a3_vn":"NER","adm0_a3_tr":"NER","adm0_a3_id":"NER","adm0_a3_pl":"NER","adm0_a3_gr":"NER","adm0_a3_it":"NER","adm0_a3_nl":"NER","adm0_a3_se":"NER","adm0_a3_bd":"NER","adm0_a3_ua":"NER","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":9.504356,"label_y":17.446195,"ne_id":1159321087,"wikidataid":"Q1032","name_ar":"النيجر","name_bn":"নাইজার","name_de":"Niger","name_en":"Niger","name_es":"Níger","name_fa":"نیجر","name_fr":"Niger","name_el":"Νίγηρας","name_he":"ניז'ר","name_hi":"नाइजर","name_hu":"Niger","name_id":"Niger","name_it":"Niger","name_ja":"ニジェール","name_ko":"니제르","name_nl":"Niger","name_pl":"Niger","name_pt":"Níger","name_ru":"Нигер","name_sv":"Niger","name_tr":"Nijer","name_uk":"Нігер","name_ur":"نائجر","name_vi":"Niger","name_zh":"尼日尔","name_zht":"尼日","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"NER.geojson"},"geometry":{"type":"Polygon","coordinates":[[[14.8513,22.862950000000126],[15.096887648181848,21.30851878507491],[15.47106,21.04845],[15.487148064850146,20.730414537025638],[15.903246697664315,20.387618923417506],[15.685740594147774,19.957180080642388],[15.30044111497972,17.927949937405003],[15.247731154041844,16.627305813050782],[13.97217,15.68437],[13.540393507550789,14.367133693901224],[13.956698846094127,13.996691189016929],[13.95447675950561,13.353448798063766],[14.595781284247607,13.33042694747786],[14.495787387762846,12.85939626713733],[14.213530714584635,12.802035427293347],[14.181336297266794,12.483656927943116],[13.995352817448293,12.461565253138303],[13.318701613018561,13.556356309457826],[13.083987257548813,13.596147162322495],[12.302071160540523,13.037189032437524],[11.527803175511394,13.328980007373588],[10.989593133191534,13.387322699431195],[10.701031935273706,13.246917832894084],[10.114814487354693,13.27725189864941],[9.524928012742947,12.851102199754479],[9.014933302454438,12.826659247280418],[7.804671258178786,13.343526923063747],[7.330746697630019,13.0980380314612],[6.820441928747754,13.115091254117518],[6.445426059605637,13.492768459522678],[5.443058302440136,13.865923977102227],[4.368343540066007,13.747481594289411],[4.107945997747322,13.531215725147831],[3.967282749048849,12.956108710171575],[3.680633579125811,12.552903347214226],[3.611180454125559,11.660167141155968],[2.848643019226586,12.23563589115821],[2.49016360841793,12.233052069543675],[2.154473504249921,11.940150051313339],[2.177107781593776,12.625017808477535],[1.024103224297477,12.851825669806574],[0.993045688490071,13.335749620003824],[0.429927605805517,13.988733018443924],[0.295646396495101,14.444234930880654],[0.374892205414682,14.92890818934613],[1.015783318698482,14.96818227788799],[1.385528191746858,15.323561102759172],[2.749992709981484,15.409524847876696],[3.638258904646477,15.568119818580456],[3.723421665063483,16.184283759012615],[4.270209995143802,16.852227484601215],[4.267419467800039,19.155265204337],[5.677565952180686,19.601206976799716],[8.572893100629784,21.565660712159143],[11.999505649471613,23.47166840259645],[13.581424594790462,23.04050608976928],[14.143870883855243,22.491288967371133],[14.8513,22.862950000000126]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Burkina Faso","sov_a3":"BFA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Burkina Faso","adm0_a3":"BFA","geou_dif":0,"geounit":"Burkina Faso","gu_a3":"BFA","su_dif":0,"subunit":"Burkina Faso","su_a3":"BFA","brk_diff":0,"name":"Burkina Faso","name_long":"Burkina Faso","brk_a3":"BFA","brk_name":"Burkina Faso","brk_group":null,"abbrev":"B.F.","postal":"BF","formal_en":"Burkina Faso","formal_fr":null,"name_ciawf":"Burkina Faso","note_adm0":null,"note_brk":null,"name_sort":"Burkina Faso","name_alt":null,"mapcolor7":2,"mapcolor8":1,"mapcolor9":5,"mapcolor13":11,"pop_est":20321378,"pop_rank":15,"pop_year":2019,"gdp_md":15990,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"UV","iso_a2":"BF","iso_a2_eh":"BF","iso_a3":"BFA","iso_a3_eh":"BFA","iso_n3":"854","iso_n3_eh":"854","un_a3":"854","wb_a2":"BF","wb_a3":"BFA","woe_id":23424978,"woe_id_eh":23424978,"woe_note":"Exact WOE match as country","adm0_iso":"BFA","adm0_diff":null,"adm0_tlc":"BFA","adm0_a3_us":"BFA","adm0_a3_fr":"BFA","adm0_a3_ru":"BFA","adm0_a3_es":"BFA","adm0_a3_cn":"BFA","adm0_a3_tw":"BFA","adm0_a3_in":"BFA","adm0_a3_np":"BFA","adm0_a3_pk":"BFA","adm0_a3_de":"BFA","adm0_a3_gb":"BFA","adm0_a3_br":"BFA","adm0_a3_il":"BFA","adm0_a3_ps":"BFA","adm0_a3_sa":"BFA","adm0_a3_eg":"BFA","adm0_a3_ma":"BFA","adm0_a3_pt":"BFA","adm0_a3_ar":"BFA","adm0_a3_jp":"BFA","adm0_a3_ko":"BFA","adm0_a3_vn":"BFA","adm0_a3_tr":"BFA","adm0_a3_id":"BFA","adm0_a3_pl":"BFA","adm0_a3_gr":"BFA","adm0_a3_it":"BFA","adm0_a3_nl":"BFA","adm0_a3_se":"BFA","adm0_a3_bd":"BFA","adm0_a3_ua":"BFA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":12,"long_len":12,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":-1.36388,"label_y":12.673048,"ne_id":1159320405,"wikidataid":"Q965","name_ar":"بوركينا فاسو","name_bn":"বুর্কিনা ফাসো","name_de":"Burkina Faso","name_en":"Burkina Faso","name_es":"Burkina Faso","name_fa":"بورکینافاسو","name_fr":"Burkina Faso","name_el":"Μπουρκίνα Φάσο","name_he":"בורקינה פאסו","name_hi":"बुर्किना फासो","name_hu":"Burkina Faso","name_id":"Burkina Faso","name_it":"Burkina Faso","name_ja":"ブルキナファソ","name_ko":"부르키나파소","name_nl":"Burkina Faso","name_pl":"Burkina Faso","name_pt":"Burkina Faso","name_ru":"Буркина-Фасо","name_sv":"Burkina Faso","name_tr":"Burkina Faso","name_uk":"Буркіна-Фасо","name_ur":"برکینا فاسو","name_vi":"Burkina Faso","name_zh":"布基纳法索","name_zht":"布基納法索","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BFA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-5.404341599946974,10.370736802609146],[-5.470564947929006,10.951269842976048],[-5.197842576508648,11.37514577885014],[-5.220941941743121,11.713858954307227],[-4.427166103523803,12.542645575404295],[-4.28040503581488,13.228443508349741],[-4.006390753587226,13.472485459848116],[-3.522802700199861,13.337661647998615],[-3.10370683431276,13.541266791228594],[-2.967694464520577,13.79815033615151],[-2.191824510090385,14.246417548067356],[-2.001035122068771,14.559008287000893],[-1.066363491205664,14.973815009007765],[-0.515854458000348,15.116157741755728],[-0.26625729003058,14.924308986872148],[0.374892205414682,14.92890818934613],[0.295646396495101,14.444234930880654],[0.429927605805517,13.988733018443924],[0.993045688490071,13.335749620003824],[1.024103224297477,12.851825669806574],[2.177107781593776,12.625017808477535],[2.154473504249921,11.940150051313339],[1.935985548519881,11.641150214072553],[1.447178175471066,11.547719224488858],[1.243469679376489,11.110510769083461],[0.899563022474069,10.99733938236426],[0.023802524423701,11.018681748900804],[-0.438701544588582,11.098340969278722],[-0.761575893548183,10.936929633015055],[-1.203357713211432,11.009819240762738],[-2.940409308270461,10.962690334512558],[-2.963896246747112,10.395334784380083],[-2.827496303712707,9.642460842319778],[-3.511898972986273,9.90032623945622],[-3.980449184576685,9.8623440617217],[-4.330246954760383,9.610834865757141],[-4.779883592131966,9.821984768101743],[-4.954653286143099,10.152713934769736],[-5.404341599946974,10.370736802609146]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Togo","sov_a3":"TGO","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Togo","adm0_a3":"TGO","geou_dif":0,"geounit":"Togo","gu_a3":"TGO","su_dif":0,"subunit":"Togo","su_a3":"TGO","brk_diff":0,"name":"Togo","name_long":"Togo","brk_a3":"TGO","brk_name":"Togo","brk_group":null,"abbrev":"Togo","postal":"TG","formal_en":"Togolese Republic","formal_fr":"République Togolaise","name_ciawf":"Togo","note_adm0":null,"note_brk":null,"name_sort":"Togo","name_alt":null,"mapcolor7":3,"mapcolor8":1,"mapcolor9":3,"mapcolor13":5,"pop_est":8082366,"pop_rank":13,"pop_year":2019,"gdp_md":5490,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"TO","iso_a2":"TG","iso_a2_eh":"TG","iso_a3":"TGO","iso_a3_eh":"TGO","iso_n3":"768","iso_n3_eh":"768","un_a3":"768","wb_a2":"TG","wb_a3":"TGO","woe_id":23424965,"woe_id_eh":23424965,"woe_note":"Exact WOE match as country","adm0_iso":"TGO","adm0_diff":null,"adm0_tlc":"TGO","adm0_a3_us":"TGO","adm0_a3_fr":"TGO","adm0_a3_ru":"TGO","adm0_a3_es":"TGO","adm0_a3_cn":"TGO","adm0_a3_tw":"TGO","adm0_a3_in":"TGO","adm0_a3_np":"TGO","adm0_a3_pk":"TGO","adm0_a3_de":"TGO","adm0_a3_gb":"TGO","adm0_a3_br":"TGO","adm0_a3_il":"TGO","adm0_a3_ps":"TGO","adm0_a3_sa":"TGO","adm0_a3_eg":"TGO","adm0_a3_ma":"TGO","adm0_a3_pt":"TGO","adm0_a3_ar":"TGO","adm0_a3_jp":"TGO","adm0_a3_ko":"TGO","adm0_a3_vn":"TGO","adm0_a3_tr":"TGO","adm0_a3_id":"TGO","adm0_a3_pl":"TGO","adm0_a3_gr":"TGO","adm0_a3_it":"TGO","adm0_a3_nl":"TGO","adm0_a3_se":"TGO","adm0_a3_bd":"TGO","adm0_a3_ua":"TGO","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":4,"long_len":4,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":1.058113,"label_y":8.80722,"ne_id":1159321303,"wikidataid":"Q945","name_ar":"توغو","name_bn":"টোগো","name_de":"Togo","name_en":"Togo","name_es":"Togo","name_fa":"توگو","name_fr":"Togo","name_el":"Τόγκο","name_he":"טוגו","name_hi":"टोगो","name_hu":"Togo","name_id":"Togo","name_it":"Togo","name_ja":"トーゴ","name_ko":"토고","name_nl":"Togo","name_pl":"Togo","name_pt":"Togo","name_ru":"Того","name_sv":"Togo","name_tr":"Togo","name_uk":"Того","name_ur":"ٹوگو","name_vi":"Togo","name_zh":"多哥","name_zht":"多哥","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"TGO.geojson"},"geometry":{"type":"Polygon","coordinates":[[[0.899563022474069,10.99733938236426],[0.772335646171484,10.470808213742359],[1.077795037448738,10.175606594275024],[1.425060662450136,9.825395412633],[1.46304284018467,9.334624335157088],[1.664477573258381,9.12859039960938],[1.618950636409238,6.832038072126238],[1.865240512712319,6.142157701029731],[1.060121697604927,5.928837388528876],[0.836931186536333,6.279978745952149],[0.570384148774849,6.914358628767189],[0.490957472342245,7.411744289576475],[0.712029249686879,8.31246450442383],[0.461191847342121,8.677222601756014],[0.365900506195885,9.465003973829482],[0.367579990245389,10.19121287682718],[-0.049784715159944,10.706917832883931],[0.023802524423701,11.018681748900804],[0.899563022474069,10.99733938236426]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Ghana","sov_a3":"GHA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Ghana","adm0_a3":"GHA","geou_dif":0,"geounit":"Ghana","gu_a3":"GHA","su_dif":0,"subunit":"Ghana","su_a3":"GHA","brk_diff":0,"name":"Ghana","name_long":"Ghana","brk_a3":"GHA","brk_name":"Ghana","brk_group":null,"abbrev":"Ghana","postal":"GH","formal_en":"Republic of Ghana","formal_fr":null,"name_ciawf":"Ghana","note_adm0":null,"note_brk":null,"name_sort":"Ghana","name_alt":null,"mapcolor7":5,"mapcolor8":3,"mapcolor9":1,"mapcolor13":4,"pop_est":30417856,"pop_rank":15,"pop_year":2019,"gdp_md":66983,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"GH","iso_a2":"GH","iso_a2_eh":"GH","iso_a3":"GHA","iso_a3_eh":"GHA","iso_n3":"288","iso_n3_eh":"288","un_a3":"288","wb_a2":"GH","wb_a3":"GHA","woe_id":23424824,"woe_id_eh":23424824,"woe_note":"Exact WOE match as country","adm0_iso":"GHA","adm0_diff":null,"adm0_tlc":"GHA","adm0_a3_us":"GHA","adm0_a3_fr":"GHA","adm0_a3_ru":"GHA","adm0_a3_es":"GHA","adm0_a3_cn":"GHA","adm0_a3_tw":"GHA","adm0_a3_in":"GHA","adm0_a3_np":"GHA","adm0_a3_pk":"GHA","adm0_a3_de":"GHA","adm0_a3_gb":"GHA","adm0_a3_br":"GHA","adm0_a3_il":"GHA","adm0_a3_ps":"GHA","adm0_a3_sa":"GHA","adm0_a3_eg":"GHA","adm0_a3_ma":"GHA","adm0_a3_pt":"GHA","adm0_a3_ar":"GHA","adm0_a3_jp":"GHA","adm0_a3_ko":"GHA","adm0_a3_vn":"GHA","adm0_a3_tr":"GHA","adm0_a3_id":"GHA","adm0_a3_pl":"GHA","adm0_a3_gr":"GHA","adm0_a3_it":"GHA","adm0_a3_nl":"GHA","adm0_a3_se":"GHA","adm0_a3_bd":"GHA","adm0_a3_ua":"GHA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.7,"max_label":8,"label_x":-1.036941,"label_y":7.717639,"ne_id":1159320793,"wikidataid":"Q117","name_ar":"غانا","name_bn":"ঘানা","name_de":"Ghana","name_en":"Ghana","name_es":"Ghana","name_fa":"غنا","name_fr":"Ghana","name_el":"Γκάνα","name_he":"גאנה","name_hi":"घाना","name_hu":"Ghána","name_id":"Ghana","name_it":"Ghana","name_ja":"ガーナ","name_ko":"가나","name_nl":"Ghana","name_pl":"Ghana","name_pt":"Gana","name_ru":"Гана","name_sv":"Ghana","name_tr":"Gana","name_uk":"Гана","name_ur":"گھانا","name_vi":"Ghana","name_zh":"加纳","name_zht":"迦納","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"GHA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[0.023802524423701,11.018681748900804],[-0.049784715159944,10.706917832883931],[0.367579990245389,10.19121287682718],[0.365900506195885,9.465003973829482],[0.461191847342121,8.677222601756014],[0.712029249686879,8.31246450442383],[0.490957472342245,7.411744289576475],[0.570384148774849,6.914358628767189],[0.836931186536333,6.279978745952149],[1.060121697604927,5.928837388528876],[-0.507637905265938,5.343472601742675],[-1.063624640294194,5.000547797053812],[-1.964706590167594,4.710462144383371],[-2.856125047202397,4.994475816259509],[-2.81070146321784,5.38905121502411],[-3.244370083011262,6.250471503113502],[-2.983584967450327,7.379704901555513],[-2.562189500326241,8.219627793811483],[-2.827496303712707,9.642460842319778],[-2.963896246747112,10.395334784380083],[-2.940409308270461,10.962690334512558],[-1.203357713211432,11.009819240762738],[-0.761575893548183,10.936929633015055],[-0.438701544588582,11.098340969278722],[0.023802524423701,11.018681748900804]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Guinea-Bissau","sov_a3":"GNB","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Guinea-Bissau","adm0_a3":"GNB","geou_dif":0,"geounit":"Guinea-Bissau","gu_a3":"GNB","su_dif":0,"subunit":"Guinea-Bissau","su_a3":"GNB","brk_diff":0,"name":"Guinea-Bissau","name_long":"Guinea-Bissau","brk_a3":"GNB","brk_name":"Guinea-Bissau","brk_group":null,"abbrev":"GnB.","postal":"GW","formal_en":"Republic of Guinea-Bissau","formal_fr":null,"name_ciawf":"Guinea-Bissau","note_adm0":null,"note_brk":null,"name_sort":"Guinea-Bissau","name_alt":null,"mapcolor7":3,"mapcolor8":5,"mapcolor9":3,"mapcolor13":4,"pop_est":1920922,"pop_rank":12,"pop_year":2019,"gdp_md":1339,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"PU","iso_a2":"GW","iso_a2_eh":"GW","iso_a3":"GNB","iso_a3_eh":"GNB","iso_n3":"624","iso_n3_eh":"624","un_a3":"624","wb_a2":"GW","wb_a3":"GNB","woe_id":23424929,"woe_id_eh":23424929,"woe_note":"Exact WOE match as country","adm0_iso":"GNB","adm0_diff":null,"adm0_tlc":"GNB","adm0_a3_us":"GNB","adm0_a3_fr":"GNB","adm0_a3_ru":"GNB","adm0_a3_es":"GNB","adm0_a3_cn":"GNB","adm0_a3_tw":"GNB","adm0_a3_in":"GNB","adm0_a3_np":"GNB","adm0_a3_pk":"GNB","adm0_a3_de":"GNB","adm0_a3_gb":"GNB","adm0_a3_br":"GNB","adm0_a3_il":"GNB","adm0_a3_ps":"GNB","adm0_a3_sa":"GNB","adm0_a3_eg":"GNB","adm0_a3_ma":"GNB","adm0_a3_pt":"GNB","adm0_a3_ar":"GNB","adm0_a3_jp":"GNB","adm0_a3_ko":"GNB","adm0_a3_vn":"GNB","adm0_a3_tr":"GNB","adm0_a3_id":"GNB","adm0_a3_pl":"GNB","adm0_a3_gr":"GNB","adm0_a3_it":"GNB","adm0_a3_nl":"GNB","adm0_a3_se":"GNB","adm0_a3_bd":"GNB","adm0_a3_ua":"GNB","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":13,"long_len":13,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":-14.52413,"label_y":12.163712,"ne_id":1159320799,"wikidataid":"Q1007","name_ar":"غينيا بيساو","name_bn":"গিনি-বিসাউ","name_de":"Guinea-Bissau","name_en":"Guinea-Bissau","name_es":"Guinea-Bisáu","name_fa":"گینه بیسائو","name_fr":"Guinée-Bissau","name_el":"Γουινέα-Μπισσάου","name_he":"גינאה ביסאו","name_hi":"गिनी-बिसाऊ","name_hu":"Bissau-Guinea","name_id":"Guinea-Bissau","name_it":"Guinea-Bissau","name_ja":"ギニアビサウ","name_ko":"기니비사우","name_nl":"Guinee-Bissau","name_pl":"Gwinea Bissau","name_pt":"Guiné-Bissau","name_ru":"Гвинея-Бисау","name_sv":"Guinea-Bissau","name_tr":"Gine-Bissau","name_uk":"Гвінея-Бісау","name_ur":"گنی بساؤ","name_vi":"Guiné-Bissau","name_zh":"几内亚比绍","name_zht":"幾內亞比索","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"GNB.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-16.677451951554573,12.384851589401052],[-16.147716844130585,12.547761542201187],[-15.816574266004254,12.515567124883347],[-15.54847693527401,12.628170070847347],[-13.700476040084325,12.586182969610194],[-13.718743658899513,12.24718557377551],[-13.828271857142125,12.142644151249044],[-13.743160773157413,11.811269029177412],[-13.900799729863776,11.678718980348748],[-14.121406419317779,11.677117010947697],[-14.382191534878729,11.509271958863692],[-14.685687221728898,11.527823798056488],[-15.130311245168173,11.040411688679526],[-15.664180467175527,11.458474025920795],[-16.085214199273565,11.52459402103824],[-16.314786749730203,11.80651479740655],[-16.30894731288123,11.95870189050612],[-16.61383826340328,12.170911159712702],[-16.677451951554573,12.384851589401052]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Egypt","sov_a3":"EGY","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Egypt","adm0_a3":"EGY","geou_dif":0,"geounit":"Egypt","gu_a3":"EGY","su_dif":0,"subunit":"Egypt","su_a3":"EGY","brk_diff":0,"name":"Egypt","name_long":"Egypt","brk_a3":"EGY","brk_name":"Egypt","brk_group":null,"abbrev":"Egypt","postal":"EG","formal_en":"Arab Republic of Egypt","formal_fr":null,"name_ciawf":"Egypt","note_adm0":null,"note_brk":null,"name_sort":"Egypt, Arab Rep.","name_alt":null,"mapcolor7":4,"mapcolor8":6,"mapcolor9":7,"mapcolor13":2,"pop_est":100388073,"pop_rank":17,"pop_year":2019,"gdp_md":303092,"gdp_year":2019,"economy":"5. Emerging region: G20","income_grp":"4. Lower middle income","fips_10":"EG","iso_a2":"EG","iso_a2_eh":"EG","iso_a3":"EGY","iso_a3_eh":"EGY","iso_n3":"818","iso_n3_eh":"818","un_a3":"818","wb_a2":"EG","wb_a3":"EGY","woe_id":23424802,"woe_id_eh":23424802,"woe_note":"Exact WOE match as country","adm0_iso":"EGY","adm0_diff":null,"adm0_tlc":"EGY","adm0_a3_us":"EGY","adm0_a3_fr":"EGY","adm0_a3_ru":"EGY","adm0_a3_es":"EGY","adm0_a3_cn":"EGY","adm0_a3_tw":"EGY","adm0_a3_in":"EGY","adm0_a3_np":"EGY","adm0_a3_pk":"EGY","adm0_a3_de":"EGY","adm0_a3_gb":"EGY","adm0_a3_br":"EGY","adm0_a3_il":"EGY","adm0_a3_ps":"EGY","adm0_a3_sa":"EGY","adm0_a3_eg":"EGY","adm0_a3_ma":"EGY","adm0_a3_pt":"EGY","adm0_a3_ar":"EGY","adm0_a3_jp":"EGY","adm0_a3_ko":"EGY","adm0_a3_vn":"EGY","adm0_a3_tr":"EGY","adm0_a3_id":"EGY","adm0_a3_pl":"EGY","adm0_a3_gr":"EGY","adm0_a3_it":"EGY","adm0_a3_nl":"EGY","adm0_a3_se":"EGY","adm0_a3_bd":"EGY","adm0_a3_ua":"EGY","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Northern Africa","region_wb":"Middle East & North Africa","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":6.7,"label_x":29.445837,"label_y":26.186173,"ne_id":1159320575,"wikidataid":"Q79","name_ar":"مصر","name_bn":"মিশর","name_de":"Ägypten","name_en":"Egypt","name_es":"Egipto","name_fa":"مصر","name_fr":"Égypte","name_el":"Αίγυπτος","name_he":"מצרים","name_hi":"मिस्र","name_hu":"Egyiptom","name_id":"Mesir","name_it":"Egitto","name_ja":"エジプト","name_ko":"이집트","name_nl":"Egypte","name_pl":"Egipt","name_pt":"Egito","name_ru":"Египет","name_sv":"Egypten","name_tr":"Mısır","name_uk":"Єгипет","name_ur":"مصر","name_vi":"Ai Cập","name_zh":"埃及","name_zht":"埃及","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"EGY.geojson"},"geometry":{"type":"Polygon","coordinates":[[[36.86623,22],[32.9,22],[29.02,22],[25,22],[25,25.682499996361],[25,29.23865452953346],[24.70007,30.04419],[24.95762,30.6616],[24.80287,31.08929],[25.16482,31.56915],[26.49533,31.58568],[27.45762,31.32126],[28.45048,31.02577],[28.91353,30.87005],[29.68342,31.18686],[30.09503,31.4734],[30.97693,31.55586],[31.68796,31.4296],[31.96041,30.9336],[32.19247,31.26034],[32.99392,31.02407],[33.7734,30.96746],[34.26543474464621,31.21935730952032],[34.26544,31.21936],[34.823243288783814,29.76108076171822],[34.9226,29.50133],[34.64174,29.09942],[34.42655,28.34399],[34.15451,27.8233],[33.92136,27.6487],[33.58811,27.97136],[33.13676,28.41765],[32.42323,29.85108],[32.32046,29.76043],[32.73482,28.70523],[33.34876,27.69989],[34.10455,26.14227],[34.47387,25.59856],[34.79507,25.03375],[35.69241,23.92671],[35.49372,23.75237],[35.52598,23.10244],[36.69069,22.20485],[36.86623,22]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Mauritania","sov_a3":"MRT","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Mauritania","adm0_a3":"MRT","geou_dif":0,"geounit":"Mauritania","gu_a3":"MRT","su_dif":0,"subunit":"Mauritania","su_a3":"MRT","brk_diff":0,"name":"Mauritania","name_long":"Mauritania","brk_a3":"MRT","brk_name":"Mauritania","brk_group":null,"abbrev":"Mrt.","postal":"MR","formal_en":"Islamic Republic of Mauritania","formal_fr":null,"name_ciawf":"Mauritania","note_adm0":null,"note_brk":null,"name_sort":"Mauritania","name_alt":null,"mapcolor7":3,"mapcolor8":3,"mapcolor9":2,"mapcolor13":1,"pop_est":4525696,"pop_rank":12,"pop_year":2019,"gdp_md":7600,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"MR","iso_a2":"MR","iso_a2_eh":"MR","iso_a3":"MRT","iso_a3_eh":"MRT","iso_n3":"478","iso_n3_eh":"478","un_a3":"478","wb_a2":"MR","wb_a3":"MRT","woe_id":23424896,"woe_id_eh":23424896,"woe_note":"Exact WOE match as country","adm0_iso":"MRT","adm0_diff":null,"adm0_tlc":"MRT","adm0_a3_us":"MRT","adm0_a3_fr":"MRT","adm0_a3_ru":"MRT","adm0_a3_es":"MRT","adm0_a3_cn":"MRT","adm0_a3_tw":"MRT","adm0_a3_in":"MRT","adm0_a3_np":"MRT","adm0_a3_pk":"MRT","adm0_a3_de":"MRT","adm0_a3_gb":"MRT","adm0_a3_br":"MRT","adm0_a3_il":"MRT","adm0_a3_ps":"MRT","adm0_a3_sa":"MRT","adm0_a3_eg":"MRT","adm0_a3_ma":"MRT","adm0_a3_pt":"MRT","adm0_a3_ar":"MRT","adm0_a3_jp":"MRT","adm0_a3_ko":"MRT","adm0_a3_vn":"MRT","adm0_a3_tr":"MRT","adm0_a3_id":"MRT","adm0_a3_pl":"MRT","adm0_a3_gr":"MRT","adm0_a3_it":"MRT","adm0_a3_nl":"MRT","adm0_a3_se":"MRT","adm0_a3_bd":"MRT","adm0_a3_ua":"MRT","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":10,"long_len":10,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":-9.740299,"label_y":19.587062,"ne_id":1159321075,"wikidataid":"Q1025","name_ar":"موريتانيا","name_bn":"মৌরিতানিয়া","name_de":"Mauretanien","name_en":"Mauritania","name_es":"Mauritania","name_fa":"موریتانی","name_fr":"Mauritanie","name_el":"Μαυριτανία","name_he":"מאוריטניה","name_hi":"मॉरीतानिया","name_hu":"Mauritánia","name_id":"Mauritania","name_it":"Mauritania","name_ja":"モーリタニア","name_ko":"모리타니","name_nl":"Mauritanië","name_pl":"Mauretania","name_pt":"Mauritânia","name_ru":"Мавритания","name_sv":"Mauretanien","name_tr":"Moritanya","name_uk":"Мавританія","name_ur":"موریتانیہ","name_vi":"Mauritanie","name_zh":"毛里塔尼亚","name_zht":"茅利塔尼亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MRT.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-17.06342322434257,20.999752102130827],[-16.845193650773993,21.33332347257488],[-12.929101935263532,21.327070624267563],[-13.118754441774712,22.771220201096256],[-12.874221564169575,23.284832261645178],[-11.937224493853321,23.374594224536168],[-11.96941891117116,25.933352769468268],[-8.6872936670174,25.881056219988906],[-8.684399786809053,27.395744126896005],[-4.923337368174231,24.974574082941],[-6.453786586930335,24.956590684503425],[-5.971128709324248,20.64083344164763],[-5.488522508150439,16.325102037007966],[-5.315277268891933,16.20185374599184],[-5.537744309908447,15.501689764869257],[-9.55023840985939,15.486496893775438],[-9.700255092802706,15.264107367407362],[-10.086846482778213,15.330485744686271],[-10.650791388379417,15.132745876521426],[-11.349095017939504,15.411256008358478],[-11.666078253617854,15.388208319556298],[-11.834207526079467,14.79909699142894],[-12.170750291380301,14.616834214735505],[-12.830658331747516,15.303691514542948],[-13.435737677453062,16.03938304286619],[-14.099521450242179,16.304302273010492],[-14.577347581428981,16.59826365810281],[-15.135737270558819,16.587282416240782],[-15.623666144258692,16.369337063049812],[-16.12069007004193,16.455662543193384],[-16.463098110407884,16.13503611903846],[-16.549707810929064,16.673892116761962],[-16.270551723688357,17.166962795474873],[-16.14634741867485,18.108481553616656],[-16.256883307347167,19.096715806550307],[-16.37765112961327,19.593817246981985],[-16.277838100641517,20.0925206568147],[-16.536323614965468,20.567866319251493],[-17.06342322434257,20.999752102130827]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Equatorial Guinea","sov_a3":"GNQ","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Equatorial Guinea","adm0_a3":"GNQ","geou_dif":0,"geounit":"Equatorial Guinea","gu_a3":"GNQ","su_dif":0,"subunit":"Equatorial Guinea","su_a3":"GNQ","brk_diff":0,"name":"Eq. Guinea","name_long":"Equatorial Guinea","brk_a3":"GNQ","brk_name":"Eq. Guinea","brk_group":null,"abbrev":"Eq. G.","postal":"GQ","formal_en":"Republic of Equatorial Guinea","formal_fr":null,"name_ciawf":"Equatorial Guinea","note_adm0":null,"note_brk":null,"name_sort":"Equatorial Guinea","name_alt":null,"mapcolor7":4,"mapcolor8":1,"mapcolor9":4,"mapcolor13":8,"pop_est":1355986,"pop_rank":12,"pop_year":2019,"gdp_md":11026,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"2. High income: nonOECD","fips_10":"EK","iso_a2":"GQ","iso_a2_eh":"GQ","iso_a3":"GNQ","iso_a3_eh":"GNQ","iso_n3":"226","iso_n3_eh":"226","un_a3":"226","wb_a2":"GQ","wb_a3":"GNQ","woe_id":23424804,"woe_id_eh":23424804,"woe_note":"Exact WOE match as country","adm0_iso":"GNQ","adm0_diff":null,"adm0_tlc":"GNQ","adm0_a3_us":"GNQ","adm0_a3_fr":"GNQ","adm0_a3_ru":"GNQ","adm0_a3_es":"GNQ","adm0_a3_cn":"GNQ","adm0_a3_tw":"GNQ","adm0_a3_in":"GNQ","adm0_a3_np":"GNQ","adm0_a3_pk":"GNQ","adm0_a3_de":"GNQ","adm0_a3_gb":"GNQ","adm0_a3_br":"GNQ","adm0_a3_il":"GNQ","adm0_a3_ps":"GNQ","adm0_a3_sa":"GNQ","adm0_a3_eg":"GNQ","adm0_a3_ma":"GNQ","adm0_a3_pt":"GNQ","adm0_a3_ar":"GNQ","adm0_a3_jp":"GNQ","adm0_a3_ko":"GNQ","adm0_a3_vn":"GNQ","adm0_a3_tr":"GNQ","adm0_a3_id":"GNQ","adm0_a3_pl":"GNQ","adm0_a3_gr":"GNQ","adm0_a3_it":"GNQ","adm0_a3_nl":"GNQ","adm0_a3_se":"GNQ","adm0_a3_bd":"GNQ","adm0_a3_ua":"GNQ","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Middle Africa","region_wb":"Sub-Saharan Africa","name_len":10,"long_len":17,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":8.9902,"label_y":2.333,"ne_id":1159320801,"wikidataid":"Q983","name_ar":"غينيا الاستوائية","name_bn":"বিষুবীয় গিনি","name_de":"Äquatorialguinea","name_en":"Equatorial Guinea","name_es":"Guinea Ecuatorial","name_fa":"گینه استوایی","name_fr":"Guinée équatoriale","name_el":"Ισημερινή Γουινέα","name_he":"גינאה המשוונית","name_hi":"भूमध्यरेखीय गिनी","name_hu":"Egyenlítői-Guinea","name_id":"Guinea Khatulistiwa","name_it":"Guinea Equatoriale","name_ja":"赤道ギニア","name_ko":"적도 기니","name_nl":"Equatoriaal-Guinea","name_pl":"Gwinea Równikowa","name_pt":"Guiné Equatorial","name_ru":"Экваториальная Гвинея","name_sv":"Ekvatorialguinea","name_tr":"Ekvator Ginesi","name_uk":"Екваторіальна Гвінея","name_ur":"استوائی گنی","name_vi":"Guinea Xích Đạo","name_zh":"赤道几内亚","name_zht":"赤道幾內亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"GNQ.geojson"},"geometry":{"type":"Polygon","coordinates":[[[9.649158155972628,2.283866075037736],[11.276449008843713,2.261050930180872],[11.285078973036462,1.057661851400013],[9.830284051155644,1.067893784993799],[9.492888624721985,1.010119533691494],[9.305613234096256,1.160911363119183],[9.649158155972628,2.283866075037736]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Gambia","sov_a3":"GMB","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Gambia","adm0_a3":"GMB","geou_dif":0,"geounit":"Gambia","gu_a3":"GMB","su_dif":0,"subunit":"Gambia","su_a3":"GMB","brk_diff":0,"name":"Gambia","name_long":"The Gambia","brk_a3":"GMB","brk_name":"Gambia","brk_group":null,"abbrev":"Gambia","postal":"GM","formal_en":"Republic of the Gambia","formal_fr":null,"name_ciawf":"Gambia, The","note_adm0":null,"note_brk":null,"name_sort":"Gambia, The","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":1,"mapcolor13":8,"pop_est":2347706,"pop_rank":12,"pop_year":2019,"gdp_md":1826,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"GA","iso_a2":"GM","iso_a2_eh":"GM","iso_a3":"GMB","iso_a3_eh":"GMB","iso_n3":"270","iso_n3_eh":"270","un_a3":"270","wb_a2":"GM","wb_a3":"GMB","woe_id":23424821,"woe_id_eh":23424821,"woe_note":"Exact WOE match as country","adm0_iso":"GMB","adm0_diff":null,"adm0_tlc":"GMB","adm0_a3_us":"GMB","adm0_a3_fr":"GMB","adm0_a3_ru":"GMB","adm0_a3_es":"GMB","adm0_a3_cn":"GMB","adm0_a3_tw":"GMB","adm0_a3_in":"GMB","adm0_a3_np":"GMB","adm0_a3_pk":"GMB","adm0_a3_de":"GMB","adm0_a3_gb":"GMB","adm0_a3_br":"GMB","adm0_a3_il":"GMB","adm0_a3_ps":"GMB","adm0_a3_sa":"GMB","adm0_a3_eg":"GMB","adm0_a3_ma":"GMB","adm0_a3_pt":"GMB","adm0_a3_ar":"GMB","adm0_a3_jp":"GMB","adm0_a3_ko":"GMB","adm0_a3_vn":"GMB","adm0_a3_tr":"GMB","adm0_a3_id":"GMB","adm0_a3_pl":"GMB","adm0_a3_gr":"GMB","adm0_a3_it":"GMB","adm0_a3_nl":"GMB","adm0_a3_se":"GMB","adm0_a3_bd":"GMB","adm0_a3_ua":"GMB","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Western Africa","region_wb":"Sub-Saharan Africa","name_len":6,"long_len":10,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":-14.998318,"label_y":13.641721,"ne_id":1159320797,"wikidataid":"Q1005","name_ar":"غامبيا","name_bn":"গাম্বিয়া","name_de":"Gambia","name_en":"The Gambia","name_es":"Gambia","name_fa":"گامبیا","name_fr":"Gambie","name_el":"Γκάμπια","name_he":"גמביה","name_hi":"गाम्बिया","name_hu":"Gambia","name_id":"Gambia","name_it":"Gambia","name_ja":"ガンビア","name_ko":"감비아","name_nl":"Gambia","name_pl":"Gambia","name_pt":"Gâmbia","name_ru":"Гамбия","name_sv":"Gambia","name_tr":"Gambiya","name_uk":"Гамбія","name_ur":"گیمبیا","name_vi":"Gambia","name_zh":"冈比亚","name_zht":"甘比亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"GMB.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-16.71372880702347,13.594958604379855],[-15.624596320039942,13.62358734786956],[-15.39877031092446,13.86036876063092],[-15.08173539881382,13.876491807505985],[-14.687030808968487,13.630356960499784],[-14.376713833055788,13.625680243377374],[-14.046992356817482,13.79406789800045],[-13.844963344772408,13.505041612192002],[-14.277701788784555,13.280585028532244],[-14.712197231494628,13.298206691943777],[-15.141163295949468,13.509511623585238],[-15.511812506562933,13.278569647672867],[-15.691000535534995,13.270353094938457],[-15.931295945692211,13.130284125211332],[-16.841524624081273,13.15139394780256],[-16.71372880702347,13.594958604379855]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Madagascar","sov_a3":"MDG","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Madagascar","adm0_a3":"MDG","geou_dif":0,"geounit":"Madagascar","gu_a3":"MDG","su_dif":0,"subunit":"Madagascar","su_a3":"MDG","brk_diff":0,"name":"Madagascar","name_long":"Madagascar","brk_a3":"MDG","brk_name":"Madagascar","brk_group":null,"abbrev":"Mad.","postal":"MG","formal_en":"Republic of Madagascar","formal_fr":null,"name_ciawf":"Madagascar","note_adm0":null,"note_brk":null,"name_sort":"Madagascar","name_alt":null,"mapcolor7":6,"mapcolor8":5,"mapcolor9":2,"mapcolor13":3,"pop_est":26969307,"pop_rank":15,"pop_year":2019,"gdp_md":14114,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"5. Low income","fips_10":"MA","iso_a2":"MG","iso_a2_eh":"MG","iso_a3":"MDG","iso_a3_eh":"MDG","iso_n3":"450","iso_n3_eh":"450","un_a3":"450","wb_a2":"MG","wb_a3":"MDG","woe_id":23424883,"woe_id_eh":23424883,"woe_note":"Exact WOE match as country","adm0_iso":"MDG","adm0_diff":null,"adm0_tlc":"MDG","adm0_a3_us":"MDG","adm0_a3_fr":"MDG","adm0_a3_ru":"MDG","adm0_a3_es":"MDG","adm0_a3_cn":"MDG","adm0_a3_tw":"MDG","adm0_a3_in":"MDG","adm0_a3_np":"MDG","adm0_a3_pk":"MDG","adm0_a3_de":"MDG","adm0_a3_gb":"MDG","adm0_a3_br":"MDG","adm0_a3_il":"MDG","adm0_a3_ps":"MDG","adm0_a3_sa":"MDG","adm0_a3_eg":"MDG","adm0_a3_ma":"MDG","adm0_a3_pt":"MDG","adm0_a3_ar":"MDG","adm0_a3_jp":"MDG","adm0_a3_ko":"MDG","adm0_a3_vn":"MDG","adm0_a3_tr":"MDG","adm0_a3_id":"MDG","adm0_a3_pl":"MDG","adm0_a3_gr":"MDG","adm0_a3_it":"MDG","adm0_a3_nl":"MDG","adm0_a3_se":"MDG","adm0_a3_bd":"MDG","adm0_a3_ua":"MDG","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Africa","region_un":"Africa","subregion":"Eastern Africa","region_wb":"Sub-Saharan Africa","name_len":10,"long_len":10,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.7,"max_label":7,"label_x":46.704241,"label_y":-18.628288,"ne_id":1159321051,"wikidataid":"Q1019","name_ar":"مدغشقر","name_bn":"মাদাগাস্কার","name_de":"Madagaskar","name_en":"Madagascar","name_es":"Madagascar","name_fa":"ماداگاسکار","name_fr":"Madagascar","name_el":"Μαδαγασκάρη","name_he":"מדגסקר","name_hi":"मेडागास्कर","name_hu":"Madagaszkár","name_id":"Madagaskar","name_it":"Madagascar","name_ja":"マダガスカル","name_ko":"마다가스카르","name_nl":"Madagaskar","name_pl":"Madagaskar","name_pt":"Madagáscar","name_ru":"Мадагаскар","name_sv":"Madagaskar","name_tr":"Madagaskar","name_uk":"Мадагаскар","name_ur":"مڈغاسکر","name_vi":"Madagascar","name_zh":"马达加斯加","name_zht":"馬達加斯加","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MDG.geojson"},"geometry":{"type":"Polygon","coordinates":[[[49.54351891459575,-12.469832858940554],[49.808980747279094,-12.895284925999555],[50.056510857957164,-13.555761407121985],[50.21743126811407,-14.758788750876796],[50.47653689962553,-15.226512139550543],[50.377111443895956,-15.706069431219127],[50.20027469259318,-16.000263360256767],[49.86060550313868,-15.414252618066918],[49.67260664246086,-15.710203545802479],[49.863344354050156,-16.451036879138776],[49.77456424337271,-16.8750420060936],[49.49861209493412,-17.106035658438273],[49.435618523970305,-17.953064060134366],[49.041792433473944,-19.118781019774445],[48.54854088724801,-20.496888116134127],[47.93074913919867,-22.391501153251085],[47.54772342305131,-23.781958916928517],[47.095761346226595,-24.941629733990453],[46.282477654817086,-25.178462823184105],[45.40950768411045,-25.60143442149309],[44.833573846217554,-25.34610116953894],[44.03972049334976,-24.988345228782308],[43.76376834491117,-24.46067717864999],[43.697777540874455,-23.574116306250602],[43.345654331237625,-22.776903985283873],[43.254187046081,-22.057413018484123],[43.43329756040464,-21.33647511158019],[43.893682895692926,-21.16330738697013],[43.896370070172104,-20.830459486578174],[44.37432539243966,-20.07236622485639],[44.46439741392439,-19.435454196859048],[44.23242190936617,-18.961994724200906],[44.042976108584156,-18.33138722094317],[43.96308434426091,-17.409944756746782],[44.31246870298628,-16.850495700754955],[44.4465173683514,-16.216219170804507],[44.94493655780653,-16.1793738745804],[45.50273196796499,-15.97437346767854],[45.87299360533626,-15.793454278224687],[46.31224327981721,-15.780018405828798],[46.882182651564285,-15.210182386946315],[47.70512983581236,-14.594302666891764],[48.005214878131255,-14.091232598530375],[47.869047479042166,-13.663868503476586],[48.29382775248138,-13.784067884987486],[48.84506025573879,-13.089174899958664],[48.86350874206698,-12.48786793381042],[49.194651320193316,-12.04055673589197],[49.54351891459575,-12.469832858940554]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"France","sov_a3":"FR1","adm0_dif":1,"level":2,"type":"Country","tlc":"1","admin":"France","adm0_a3":"FRA","geou_dif":0,"geounit":"France","gu_a3":"FRA","su_dif":0,"subunit":"France","su_a3":"FRA","brk_diff":0,"name":"France","name_long":"France","brk_a3":"FRA","brk_name":"France","brk_group":null,"abbrev":"Fr.","postal":"F","formal_en":"French Republic","formal_fr":null,"name_ciawf":"France","note_adm0":null,"note_brk":null,"name_sort":"France","name_alt":null,"mapcolor7":7,"mapcolor8":5,"mapcolor9":9,"mapcolor13":11,"pop_est":67059887,"pop_rank":16,"pop_year":2019,"gdp_md":2715518,"gdp_year":2019,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","fips_10":"FR","iso_a2":"-99","iso_a2_eh":"FR","iso_a3":"-99","iso_a3_eh":"FRA","iso_n3":"-99","iso_n3_eh":"250","un_a3":"250","wb_a2":"FR","wb_a3":"FRA","woe_id":-90,"woe_id_eh":23424819,"woe_note":"Includes only Metropolitan France (including Corsica)","adm0_iso":"FRA","adm0_diff":null,"adm0_tlc":"FRA","adm0_a3_us":"FRA","adm0_a3_fr":"FRA","adm0_a3_ru":"FRA","adm0_a3_es":"FRA","adm0_a3_cn":"FRA","adm0_a3_tw":"FRA","adm0_a3_in":"FRA","adm0_a3_np":"FRA","adm0_a3_pk":"FRA","adm0_a3_de":"FRA","adm0_a3_gb":"FRA","adm0_a3_br":"FRA","adm0_a3_il":"FRA","adm0_a3_ps":"FRA","adm0_a3_sa":"FRA","adm0_a3_eg":"FRA","adm0_a3_ma":"FRA","adm0_a3_pt":"FRA","adm0_a3_ar":"FRA","adm0_a3_jp":"FRA","adm0_a3_ko":"FRA","adm0_a3_vn":"FRA","adm0_a3_tr":"FRA","adm0_a3_id":"FRA","adm0_a3_pl":"FRA","adm0_a3_gr":"FRA","adm0_a3_it":"FRA","adm0_a3_nl":"FRA","adm0_a3_se":"FRA","adm0_a3_bd":"FRA","adm0_a3_ua":"FRA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":3,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":6.7,"label_x":2.552275,"label_y":46.696113,"ne_id":1159320637,"wikidataid":"Q142","name_ar":"فرنسا","name_bn":"ফ্রান্স","name_de":"Frankreich","name_en":"France","name_es":"Francia","name_fa":"فرانسه","name_fr":"France","name_el":"Γαλλία","name_he":"צרפת","name_hi":"फ़्रान्स","name_hu":"Franciaország","name_id":"Prancis","name_it":"Francia","name_ja":"フランス","name_ko":"프랑스","name_nl":"Frankrijk","name_pl":"Francja","name_pt":"França","name_ru":"Франция","name_sv":"Frankrike","name_tr":"Fransa","name_uk":"Франція","name_ur":"فرانس","name_vi":"Pháp","name_zh":"法国","name_zht":"法國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"FRA.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-51.65779741067889,4.156232408053029],[-52.249337531123956,3.241094468596245],[-52.55642473001842,2.504705308437053],[-52.939657151894956,2.124857692875636],[-53.41846513529531,2.053389187015981],[-53.554839240113544,2.334896551925951],[-53.77852067728892,2.376702785650082],[-54.08806250671725,2.105556545414629],[-54.524754197799716,2.311848863123785],[-54.2697051662232,2.732391669115046],[-54.181726040246275,3.189779771330421],[-54.00693050801901,3.620037746592558],[-54.399542202356514,4.212611395683467],[-54.47863298197923,4.896755682795586],[-53.9580446030709,5.756548163267765],[-53.618452928264844,5.646529038918374],[-52.88214128275409,5.409850979021584],[-51.8233428615259,4.565768133966131],[-51.65779741067889,4.156232408053029]]],[[[6.186320428094177,49.463802802114515],[6.658229607783568,49.20195831969157],[8.099278598674744,49.01778351500333],[7.593676385131062,48.33301911070372],[7.466759067422231,47.62058197691181],[7.192202182655507,47.44976552997102],[6.736571079138059,47.541801255882845],[6.768713820023606,47.2877082383037],[6.037388950229001,46.725778713561866],[6.022609490593538,46.27298981382047],[6.500099724970426,46.42967275652944],[6.843592970414505,45.99114655210061],[6.802355177445605,45.70857982032864],[7.096652459347837,45.33309886329589],[6.749955275101655,45.02851797136758],[7.007562290076635,44.25476675066136],[7.549596388386107,44.12790110938481],[7.435184767291872,43.69384491634922],[6.52924523278304,43.128892320318315],[4.556962517931424,43.399650987311595],[3.100410597352663,43.075200507167054],[2.985998976258458,42.47301504166986],[1.826793247087153,42.34338471126569],[0.701590610363894,42.795734361332606],[0.338046909190581,42.57954600683955],[-1.502770961910528,43.03401439063043],[-1.901351284177764,43.42280202897834],[-1.384225226232985,44.022610378590116],[-1.193797573237418,46.01491771095486],[-2.225724249673846,47.06436269793822],[-2.963276129559603,47.57032664650795],[-4.491554938159481,47.954954332056374],[-4.592349819344776,48.68416046812699],[-3.295813971357802,48.90169240985963],[-1.616510789384961,48.64442129169454],[-1.933494025063311,49.776341864615745],[-0.98946895995536,49.34737580016091],[1.338761020522696,50.12717316344526],[1.6390010921385,50.9466063502975],[2.513573032246143,51.14850617126183],[2.658422071960274,50.796848049515745],[3.123251580425688,50.78036326761455],[3.588184441755658,50.37899241800356],[4.286022983425084,49.907496649772554],[4.799221632515724,49.98537303323637],[5.674051954784829,49.529483547557504],[5.897759230176348,49.44266714130711],[6.186320428094177,49.463802802114515]]],[[[8.746009148807559,42.62812185319392],[9.390000848028876,43.00998484961471],[9.560016310269134,42.15249197037952],[9.229752231491773,41.380006822264455],[8.775723097375362,41.58361196549443],[8.544212680707773,42.25651662858306],[8.746009148807559,42.62812185319392]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Ukraine","sov_a3":"UKR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Ukraine","adm0_a3":"UKR","geou_dif":0,"geounit":"Ukraine","gu_a3":"UKR","su_dif":0,"subunit":"Ukraine","su_a3":"UKR","brk_diff":0,"name":"Ukraine","name_long":"Ukraine","brk_a3":"UKR","brk_name":"Ukraine","brk_group":null,"abbrev":"Ukr.","postal":"UA","formal_en":"Ukraine","formal_fr":null,"name_ciawf":"Ukraine","note_adm0":null,"note_brk":null,"name_sort":"Ukraine","name_alt":null,"mapcolor7":5,"mapcolor8":1,"mapcolor9":6,"mapcolor13":3,"pop_est":44385155,"pop_rank":15,"pop_year":2019,"gdp_md":153781,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"UP","iso_a2":"UA","iso_a2_eh":"UA","iso_a3":"UKR","iso_a3_eh":"UKR","iso_n3":"804","iso_n3_eh":"804","un_a3":"804","wb_a2":"UA","wb_a3":"UKR","woe_id":23424976,"woe_id_eh":23424976,"woe_note":"Exact WOE match as country","adm0_iso":"UKR","adm0_diff":null,"adm0_tlc":"UKR","adm0_a3_us":"UKR","adm0_a3_fr":"UKR","adm0_a3_ru":"UKR","adm0_a3_es":"UKR","adm0_a3_cn":"UKR","adm0_a3_tw":"UKR","adm0_a3_in":"UKR","adm0_a3_np":"UKR","adm0_a3_pk":"UKR","adm0_a3_de":"UKR","adm0_a3_gb":"UKR","adm0_a3_br":"UKR","adm0_a3_il":"UKR","adm0_a3_ps":"UKR","adm0_a3_sa":"UKR","adm0_a3_eg":"UKR","adm0_a3_ma":"UKR","adm0_a3_pt":"UKR","adm0_a3_ar":"UKR","adm0_a3_jp":"UKR","adm0_a3_ko":"UKR","adm0_a3_vn":"UKR","adm0_a3_tr":"UKR","adm0_a3_id":"UKR","adm0_a3_pl":"UKR","adm0_a3_gr":"UKR","adm0_a3_it":"UKR","adm0_a3_nl":"UKR","adm0_a3_se":"UKR","adm0_a3_bd":"UKR","adm0_a3_ua":"UKR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.7,"max_label":7,"label_x":32.140865,"label_y":49.724739,"ne_id":1159321345,"wikidataid":"Q212","name_ar":"أوكرانيا","name_bn":"ইউক্রেন","name_de":"Ukraine","name_en":"Ukraine","name_es":"Ucrania","name_fa":"اوکراین","name_fr":"Ukraine","name_el":"Ουκρανία","name_he":"אוקראינה","name_hi":"युक्रेन","name_hu":"Ukrajna","name_id":"Ukraina","name_it":"Ucraina","name_ja":"ウクライナ","name_ko":"우크라이나","name_nl":"Oekraïne","name_pl":"Ukraina","name_pt":"Ucrânia","name_ru":"Украина","name_sv":"Ukraina","name_tr":"Ukrayna","name_uk":"Україна","name_ur":"یوکرین","name_vi":"Ukraina","name_zh":"乌克兰","name_zht":"烏克蘭","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"UKR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[31.78599244755525,52.1016775699397],[32.15944000000013,52.06125000000014],[32.41205813978769,52.28869497334978],[32.715760532367085,52.23846548116211],[33.75269982273579,52.3350745713318],[34.39173058445709,51.768881740925906],[34.141978387190534,51.566413479206346],[34.22481570815427,51.25599315042888],[35.02218305841791,51.2075723333715],[35.37791,50.77394],[35.356116163887975,50.57719737405904],[36.62616784032542,50.225590928745135],[37.39345950699516,50.38395335550365],[38.01063113785693,49.9156615260747],[38.59498823421342,49.9264619004237],[40.06904000000014,49.60105],[40.080789015469406,49.30742991799934],[39.67465,48.78382000000016],[39.89562000000018,48.23241],[39.738277622238854,47.89893707945197],[38.77057,47.825620000000185],[38.25511233902978,47.54640045835691],[38.223538038899335,47.10218984637595],[37.4251371599899,47.02222056740419],[36.75985477066445,46.69870026304102],[35.82368452326489,46.64596446388714],[34.96234174982385,46.27319651954974],[35.01265897004737,45.73772519982549],[34.861792128174045,45.76818243191957],[34.73201738827845,45.96566573176062],[34.41040172853718,46.005162391728845],[33.69946184910907,46.219572831556434],[33.435988094713366,45.971917370797485],[33.29856733575474,46.08059845639781],[31.744140252415207,46.33334788673733],[31.67530724460255,46.70624502215554],[30.74874881360921,46.583100084004116],[30.377608676888883,46.03241018328572],[29.603289015427436,45.293308010431126],[29.149724969201653,45.464925442072456],[28.67977949393938,45.304030870131704],[28.23355350109904,45.48828318946829],[28.485269402792767,45.5969070501459],[28.65998742037158,45.93998688413164],[28.933717482221596,46.25883047137256],[28.862972446414062,46.43788930926383],[29.07210696789929,46.517677720722496],[29.170653924279804,46.37926239682872],[29.759971958136394,46.34998769793536],[30.024658644335375,46.42393667254504],[29.838210076626297,46.52532583270169],[29.908851759569302,46.67436066343146],[29.559674106573112,46.928582872091326],[29.415135125452736,47.34664520933258],[29.05086795422727,47.5102269557525],[29.12269819511303,47.849095160506465],[28.670891147585166,48.1181485052341],[28.259546746541844,48.15556224221342],[27.522537469195157,48.467119452501116],[26.857823520624805,48.368210761094495],[26.619336785597795,48.22072622333347],[26.19745039236693,48.22088125263035],[25.9459411964024,47.987148749374214],[25.20774336111299,47.89105642352747],[24.866317172960578,47.737525743188314],[24.40205610525038,47.98187775328043],[23.76095828623741,47.985598456405455],[23.142236362406805,48.09634105080695],[22.710531447040495,47.88219391538941],[22.640819939878725,48.150239569687415],[22.085608351334855,48.42226430927179],[22.28084191253356,48.82539215758067],[22.558137648211755,49.085738023467144],[22.776418898212626,49.02739533140962],[22.518450148211603,49.47677358661974],[23.426508416444392,50.30850576435745],[23.92275719574326,50.42488108987874],[24.029985792748903,50.70540660257518],[23.52707075368437,51.57845408793031],[24.00507775238418,51.617443956094405],[24.553106316839518,51.888461005249184],[25.32778771332701,51.91065603291855],[26.337958611768556,51.83228872334797],[27.454066196408405,51.592303371784396],[28.24161502453657,51.57222707783907],[28.61761274589225,51.42771393493484],[28.992835320763533,51.602044379271476],[29.25493818534784,51.36823436136689],[30.157363722460897,51.41613841410147],[30.555117221811457,51.31950348571566],[30.619454380014815,51.822806098022454],[30.927549269338982,52.04235342061439],[31.78599244755525,52.1016775699397]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Belarus","sov_a3":"BLR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Belarus","adm0_a3":"BLR","geou_dif":0,"geounit":"Belarus","gu_a3":"BLR","su_dif":0,"subunit":"Belarus","su_a3":"BLR","brk_diff":0,"name":"Belarus","name_long":"Belarus","brk_a3":"BLR","brk_name":"Belarus","brk_group":null,"abbrev":"Bela.","postal":"BY","formal_en":"Republic of Belarus","formal_fr":null,"name_ciawf":"Belarus","note_adm0":null,"note_brk":null,"name_sort":"Belarus","name_alt":null,"mapcolor7":1,"mapcolor8":1,"mapcolor9":5,"mapcolor13":11,"pop_est":9466856,"pop_rank":13,"pop_year":2019,"gdp_md":63080,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"BO","iso_a2":"BY","iso_a2_eh":"BY","iso_a3":"BLR","iso_a3_eh":"BLR","iso_n3":"112","iso_n3_eh":"112","un_a3":"112","wb_a2":"BY","wb_a3":"BLR","woe_id":23424765,"woe_id_eh":23424765,"woe_note":"Exact WOE match as country","adm0_iso":"BLR","adm0_diff":null,"adm0_tlc":"BLR","adm0_a3_us":"BLR","adm0_a3_fr":"BLR","adm0_a3_ru":"BLR","adm0_a3_es":"BLR","adm0_a3_cn":"BLR","adm0_a3_tw":"BLR","adm0_a3_in":"BLR","adm0_a3_np":"BLR","adm0_a3_pk":"BLR","adm0_a3_de":"BLR","adm0_a3_gb":"BLR","adm0_a3_br":"BLR","adm0_a3_il":"BLR","adm0_a3_ps":"BLR","adm0_a3_sa":"BLR","adm0_a3_eg":"BLR","adm0_a3_ma":"BLR","adm0_a3_pt":"BLR","adm0_a3_ar":"BLR","adm0_a3_jp":"BLR","adm0_a3_ko":"BLR","adm0_a3_vn":"BLR","adm0_a3_tr":"BLR","adm0_a3_id":"BLR","adm0_a3_pl":"BLR","adm0_a3_gr":"BLR","adm0_a3_it":"BLR","adm0_a3_nl":"BLR","adm0_a3_se":"BLR","adm0_a3_bd":"BLR","adm0_a3_ua":"BLR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":28.417701,"label_y":53.821888,"ne_id":1159320427,"wikidataid":"Q184","name_ar":"بيلاروسيا","name_bn":"বেলারুশ","name_de":"Belarus","name_en":"Belarus","name_es":"Bielorrusia","name_fa":"بلاروس","name_fr":"Biélorussie","name_el":"Λευκορωσία","name_he":"בלארוס","name_hi":"बेलारूस","name_hu":"Fehéroroszország","name_id":"Belarus","name_it":"Bielorussia","name_ja":"ベラルーシ","name_ko":"벨라루스","name_nl":"Wit-Rusland","name_pl":"Białoruś","name_pt":"Bielorrússia","name_ru":"Белоруссия","name_sv":"Belarus","name_tr":"Beyaz Rusya","name_uk":"Білорусь","name_ur":"بیلاروس","name_vi":"Belarus","name_zh":"白俄罗斯","name_zht":"白俄羅斯","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BLR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[28.17670942557794,56.16912995057879],[29.229513380660308,55.91834422466636],[29.371571893030673,55.670090643936184],[29.896294386522356,55.78946320253041],[30.87390913262001,55.55097646750341],[30.971835971813135,55.08154775656404],[30.75753380709872,54.81177094178432],[31.38447228366374,54.15705638286238],[31.79142418796224,53.974638576872124],[31.731272820774507,53.79402944601202],[32.405598585751164,53.61804535584204],[32.69364301934604,53.35142080343218],[32.30451948418823,53.13272614197291],[31.49764,53.16743000000014],[31.305200636528014,53.07399587667321],[31.54001834486226,52.74205231384636],[31.78597,52.1016800000001],[31.78599244755525,52.1016775699397],[30.927549269338982,52.04235342061439],[30.619454380014815,51.822806098022454],[30.555117221811457,51.31950348571566],[30.157363722460897,51.41613841410147],[29.25493818534784,51.36823436136689],[28.992835320763533,51.602044379271476],[28.61761274589225,51.42771393493484],[28.24161502453657,51.57222707783907],[27.454066196408405,51.592303371784396],[26.337958611768556,51.83228872334797],[25.32778771332701,51.91065603291855],[24.553106316839518,51.888461005249184],[24.00507775238418,51.617443956094405],[23.52707075368437,51.57845408793031],[23.508002150168693,52.02364655212473],[23.199493849386187,52.48697744405367],[23.79919884613338,52.69109935160657],[23.80493493011778,53.089731350306074],[23.527535841575002,53.470121568406555],[23.48412763844985,53.91249766704114],[24.450683628037037,53.905702216194754],[25.536353794056993,54.28242340760253],[25.7684326514798,54.84696259217509],[26.58827924979039,55.16717560487167],[26.494331495883756,55.615106919977634],[27.10245975109453,55.783313707087686],[28.17670942557794,56.16912995057879]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Lithuania","sov_a3":"LTU","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Lithuania","adm0_a3":"LTU","geou_dif":0,"geounit":"Lithuania","gu_a3":"LTU","su_dif":0,"subunit":"Lithuania","su_a3":"LTU","brk_diff":0,"name":"Lithuania","name_long":"Lithuania","brk_a3":"LTU","brk_name":"Lithuania","brk_group":null,"abbrev":"Lith.","postal":"LT","formal_en":"Republic of Lithuania","formal_fr":null,"name_ciawf":"Lithuania","note_adm0":null,"note_brk":null,"name_sort":"Lithuania","name_alt":null,"mapcolor7":6,"mapcolor8":3,"mapcolor9":3,"mapcolor13":9,"pop_est":2786844,"pop_rank":12,"pop_year":2019,"gdp_md":54627,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"3. Upper middle income","fips_10":"LH","iso_a2":"LT","iso_a2_eh":"LT","iso_a3":"LTU","iso_a3_eh":"LTU","iso_n3":"440","iso_n3_eh":"440","un_a3":"440","wb_a2":"LT","wb_a3":"LTU","woe_id":23424875,"woe_id_eh":23424875,"woe_note":"Exact WOE match as country","adm0_iso":"LTU","adm0_diff":null,"adm0_tlc":"LTU","adm0_a3_us":"LTU","adm0_a3_fr":"LTU","adm0_a3_ru":"LTU","adm0_a3_es":"LTU","adm0_a3_cn":"LTU","adm0_a3_tw":"LTU","adm0_a3_in":"LTU","adm0_a3_np":"LTU","adm0_a3_pk":"LTU","adm0_a3_de":"LTU","adm0_a3_gb":"LTU","adm0_a3_br":"LTU","adm0_a3_il":"LTU","adm0_a3_ps":"LTU","adm0_a3_sa":"LTU","adm0_a3_eg":"LTU","adm0_a3_ma":"LTU","adm0_a3_pt":"LTU","adm0_a3_ar":"LTU","adm0_a3_jp":"LTU","adm0_a3_ko":"LTU","adm0_a3_vn":"LTU","adm0_a3_tr":"LTU","adm0_a3_id":"LTU","adm0_a3_pl":"LTU","adm0_a3_gr":"LTU","adm0_a3_it":"LTU","adm0_a3_nl":"LTU","adm0_a3_se":"LTU","adm0_a3_bd":"LTU","adm0_a3_ua":"LTU","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":9,"long_len":9,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":24.089932,"label_y":55.103703,"ne_id":1159321029,"wikidataid":"Q37","name_ar":"ليتوانيا","name_bn":"লিথুয়ানিয়া","name_de":"Litauen","name_en":"Lithuania","name_es":"Lituania","name_fa":"لیتوانی","name_fr":"Lituanie","name_el":"Λιθουανία","name_he":"ליטא","name_hi":"लिथुआनिया","name_hu":"Litvánia","name_id":"Lituania","name_it":"Lituania","name_ja":"リトアニア","name_ko":"리투아니아","name_nl":"Litouwen","name_pl":"Litwa","name_pt":"Lituânia","name_ru":"Литва","name_sv":"Litauen","name_tr":"Litvanya","name_uk":"Литва","name_ur":"لتھووینیا","name_vi":"Litva","name_zh":"立陶宛","name_zht":"立陶宛","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"LTU.geojson"},"geometry":{"type":"Polygon","coordinates":[[[26.494331495883756,55.615106919977634],[26.58827924979039,55.16717560487167],[25.7684326514798,54.84696259217509],[25.536353794056993,54.28242340760253],[24.450683628037037,53.905702216194754],[23.48412763844985,53.91249766704114],[23.24398725758951,54.22056671814914],[22.731098667092652,54.327536932993326],[22.65105187347254,54.582740993866736],[22.75776370615526,54.85657440858138],[22.315723504330577,55.015298570365864],[21.268448927503467,55.190481675835315],[21.055800408622417,56.031076361711065],[22.201156853939494,56.33780182557949],[23.878263787539964,56.27367137310527],[24.86068444184076,56.37252838807963],[25.000934279080894,56.16453074810484],[25.533046502390334,56.100296942766036],[26.494331495883756,55.615106919977634]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Russia","sov_a3":"RUS","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Russia","adm0_a3":"RUS","geou_dif":0,"geounit":"Russia","gu_a3":"RUS","su_dif":0,"subunit":"Russia","su_a3":"RUS","brk_diff":0,"name":"Russia","name_long":"Russian Federation","brk_a3":"RUS","brk_name":"Russia","brk_group":null,"abbrev":"Rus.","postal":"RUS","formal_en":"Russian Federation","formal_fr":null,"name_ciawf":"Russia","note_adm0":null,"note_brk":null,"name_sort":"Russian Federation","name_alt":null,"mapcolor7":2,"mapcolor8":5,"mapcolor9":7,"mapcolor13":7,"pop_est":144373535,"pop_rank":17,"pop_year":2019,"gdp_md":1699876,"gdp_year":2019,"economy":"3. Emerging region: BRIC","income_grp":"3. Upper middle income","fips_10":"RS","iso_a2":"RU","iso_a2_eh":"RU","iso_a3":"RUS","iso_a3_eh":"RUS","iso_n3":"643","iso_n3_eh":"643","un_a3":"643","wb_a2":"RU","wb_a3":"RUS","woe_id":23424936,"woe_id_eh":23424936,"woe_note":"Exact WOE match as country","adm0_iso":"RUS","adm0_diff":null,"adm0_tlc":"RUS","adm0_a3_us":"RUS","adm0_a3_fr":"RUS","adm0_a3_ru":"RUS","adm0_a3_es":"RUS","adm0_a3_cn":"RUS","adm0_a3_tw":"RUS","adm0_a3_in":"RUS","adm0_a3_np":"RUS","adm0_a3_pk":"RUS","adm0_a3_de":"RUS","adm0_a3_gb":"RUS","adm0_a3_br":"RUS","adm0_a3_il":"RUS","adm0_a3_ps":"RUS","adm0_a3_sa":"RUS","adm0_a3_eg":"RUS","adm0_a3_ma":"RUS","adm0_a3_pt":"RUS","adm0_a3_ar":"RUS","adm0_a3_jp":"RUS","adm0_a3_ko":"RUS","adm0_a3_vn":"RUS","adm0_a3_tr":"RUS","adm0_a3_id":"RUS","adm0_a3_pl":"RUS","adm0_a3_gr":"RUS","adm0_a3_it":"RUS","adm0_a3_nl":"RUS","adm0_a3_se":"RUS","adm0_a3_bd":"RUS","adm0_a3_ua":"RUS","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":18,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":5.2,"label_x":44.686469,"label_y":58.249357,"ne_id":1159321201,"wikidataid":"Q159","name_ar":"روسيا","name_bn":"রাশিয়া","name_de":"Russland","name_en":"Russia","name_es":"Rusia","name_fa":"روسیه","name_fr":"Russie","name_el":"Ρωσία","name_he":"רוסיה","name_hi":"रूस","name_hu":"Oroszország","name_id":"Rusia","name_it":"Russia","name_ja":"ロシア","name_ko":"러시아","name_nl":"Rusland","name_pl":"Rosja","name_pt":"Rússia","name_ru":"Россия","name_sv":"Ryssland","name_tr":"Rusya","name_uk":"Росія","name_ur":"روس","name_vi":"Nga","name_zh":"俄罗斯","name_zht":"俄羅斯","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"RUS.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[178.7253,71.0988],[180,71.51571433642829],[180,70.83219920854673],[178.903425,70.78114],[178.7253,71.0988]]],[[[49.10116000000011,46.399330000000134],[48.64541,45.806290000000104],[47.67591,45.64149000000015],[46.68201,44.6092000000001],[47.59094,43.66016],[47.49252,42.98658000000012],[48.58437000000015,41.80888],[48.58435339611342,41.80886879162067],[47.98728315612598,41.40581920019423],[47.81566572448463,41.15141612402135],[47.37331546406623,41.2197323675112],[46.68607059101661,41.82713715266988],[46.404950799348825,41.860675157227305],[45.7764,42.09244000000018],[45.47027916848572,42.50278066666998],[44.537622918481986,42.71199270280363],[43.931210000000135,42.55496000000011],[43.75599000000011,42.74083],[42.39440000000013,43.2203],[40.922190000000114,43.38215000000014],[40.07696495947977,43.553104153002316],[39.955008579270924,43.43499766699922],[38.68,44.28],[37.53912,44.65721],[36.6754600000001,45.244690000000105],[37.4031700000001,45.40451000000013],[38.23295,46.24087],[37.67372,46.63657],[39.14767000000012,47.044750000000136],[39.1212,47.26336],[38.223538038899335,47.10218984637595],[38.25511233902978,47.54640045835691],[38.77057,47.825620000000185],[39.738277622238854,47.89893707945197],[39.89562000000018,48.23241],[39.67465,48.78382000000016],[40.080789015469406,49.30742991799934],[40.06904000000014,49.60105],[38.59498823421342,49.9264619004237],[38.01063113785693,49.9156615260747],[37.39345950699516,50.38395335550365],[36.62616784032542,50.225590928745135],[35.356116163887975,50.57719737405904],[35.37791,50.77394],[35.02218305841791,51.2075723333715],[34.22481570815427,51.25599315042888],[34.141978387190534,51.566413479206346],[34.39173058445709,51.768881740925906],[33.75269982273579,52.3350745713318],[32.715760532367085,52.23846548116211],[32.41205813978769,52.28869497334978],[32.15944000000013,52.06125000000014],[31.78599244755525,52.1016775699397],[31.78597,52.1016800000001],[31.54001834486226,52.74205231384636],[31.305200636528014,53.07399587667321],[31.49764,53.16743000000014],[32.30451948418823,53.13272614197291],[32.69364301934604,53.35142080343218],[32.405598585751164,53.61804535584204],[31.731272820774507,53.79402944601202],[31.79142418796224,53.974638576872124],[31.38447228366374,54.15705638286238],[30.75753380709872,54.81177094178432],[30.971835971813135,55.08154775656404],[30.87390913262001,55.55097646750341],[29.896294386522356,55.78946320253041],[29.371571893030673,55.670090643936184],[29.229513380660308,55.91834422466636],[28.17670942557794,56.16912995057879],[27.855282016722526,56.75932648378429],[27.77001590344093,57.24425812441123],[27.288184848751513,57.47452830670383],[27.71668582531572,57.79189911562436],[27.42015000000015,58.72457000000014],[28.13169925305175,59.300825100330925],[27.98112,59.47537000000011],[27.981126857000987,59.47537333432527],[29.1177,60.02805000000012],[28.070001921525666,60.50351912796823],[28.07,60.50352],[30.21110721204445,61.780027777749694],[31.139991082490894,62.35769277612441],[31.516092156711125,62.86768748641289],[30.035872430142717,63.55281362573855],[30.44468468600371,64.20445343693909],[29.54442955904699,64.94867157659048],[30.21765,65.80598],[29.054588657352326,66.94428620062206],[29.97742638522061,67.69829702419275],[28.445943637818658,68.36461294216404],[28.591929559043194,69.06477692328666],[29.39955,69.15692000000013],[31.101042202597625,69.55810108805622],[31.10108,69.55811000000011],[32.13272000000018,69.90595000000019],[33.77547,69.30142000000012],[36.51396,69.06342],[40.29234000000014,67.9324],[41.05987,67.45713000000012],[41.1259500000001,66.79158],[40.01583,66.26618000000013],[38.38295,65.9995300000001],[33.91871000000015,66.75961],[33.18444,66.63253],[34.814770000000124,65.90015000000017],[34.87857425307874,65.4362128770482],[34.94391,64.41437000000019],[36.23129,64.10945],[37.01273,63.84983000000011],[37.141970000000185,64.33471],[36.53957903508979,64.76446],[37.17604,65.14322000000016],[39.59345,64.5207900000002],[40.4356,64.76446],[39.76260000000019,65.49682],[42.09309000000013,66.47623],[43.01604,66.41858000000013],[43.94975000000011,66.06908],[44.53226,66.75634000000014],[43.69839,67.35245],[44.18795000000017,67.95051000000012],[43.45282,68.57079],[46.250000000000114,68.25],[46.82134,67.68997],[45.55517,67.56652],[45.56202000000013,67.01005000000015],[46.34915000000012,66.6676700000001],[47.89416000000017,66.8845500000001],[48.13876,67.52238],[50.22766000000013,67.99867000000017],[53.71743000000015,68.85738000000015],[54.47171,68.80815],[53.48582000000016,68.20131],[54.72628,68.09702],[55.44268000000011,68.43866],[57.31702,68.46628],[58.802000000000135,68.88082],[59.94142000000011,68.27844],[61.07784000000021,68.94069],[60.03,69.52],[60.55,69.85],[63.50400000000013,69.54739],[64.888115,69.234835],[68.51216000000016,68.09233000000012],[69.18068000000011,68.61563000000012],[68.16444,69.14436],[68.13522,69.35649000000012],[66.93008000000015,69.45461000000012],[67.25976,69.92873],[66.72492000000017,70.70889000000017],[66.69466,71.02897000000019],[68.54006,71.93450000000018],[69.19636,72.84336000000019],[69.94,73.04],[72.58754,72.77629000000013],[72.79603,72.22006],[71.84811,71.40898],[72.47011,71.09019],[72.79188,70.39114],[72.56470000000013,69.02085],[73.66787,68.4079],[73.2387,67.7404],[71.28,66.3200000000001],[72.42301,66.17267000000021],[72.82077,66.53267],[73.92099000000013,66.78946000000013],[74.18651000000011,67.28429],[75.052,67.76047000000011],[74.46926000000013,68.32899],[74.93584,68.98918],[73.84236,69.07146],[73.60187000000019,69.62763],[74.3998,70.63175],[73.1011,71.4471700000002],[74.89082000000019,72.12119000000013],[74.65926,72.83227],[75.1580100000001,72.85497000000015],[75.68351000000013,72.30056000000013],[75.28898,71.3355600000001],[76.35911,71.15287000000018],[75.90313000000015,71.87401],[77.57665,72.26717],[79.6520200000001,72.32011],[81.5,71.75],[80.61071,72.58285000000012],[80.51109,73.6482],[82.25,73.85000000000014],[84.65526,73.80591000000021],[86.82230000000015,73.93688],[86.00956,74.45967000000019],[87.16682000000014,75.11643],[88.31571,75.14393],[90.26,75.64],[92.90058,75.7733300000001],[93.23421,76.0472],[95.86000000000018,76.1400000000001],[96.67821,75.91548],[98.92254000000014,76.44689],[100.75967000000014,76.43028],[101.03532,76.86189],[101.9908400000001,77.28754000000015],[104.35160000000013,77.69792],[106.06664000000018,77.37389],[104.70500000000015,77.1274],[106.97013,76.97419],[107.24000000000012,76.48],[108.1538000000001,76.72335],[111.0772600000002,76.71],[113.33151,76.22224],[114.13417,75.84764],[113.88539,75.32779000000016],[112.77918,75.03186000000011],[110.15125000000012,74.47673],[109.4,74.18],[110.64,74.04],[112.11919,73.78774000000016],[113.01954000000023,73.97693000000015],[113.52958000000024,73.33505000000014],[113.96881,73.59488],[115.56782,73.75285],[118.77633000000014,73.58772],[119.02,73.12],[123.20066,72.97122],[123.25777000000016,73.73503],[125.38000000000011,73.56],[126.97644,73.56549000000012],[128.59126,73.03871],[129.05157,72.39872],[128.46,71.98],[129.71599000000015,71.19304000000011],[131.28858000000025,70.78699000000012],[132.25350000000014,71.83630000000011],[133.85766000000024,71.3864200000001],[135.56193,71.65525000000014],[137.49755,71.34763],[138.23409000000015,71.62803],[139.86983,71.48783000000014],[139.14791,72.41619000000014],[140.46817,72.84941000000015],[149.5,72.2],[150.3511800000001,71.60643],[152.9689000000002,70.84222],[157.00688,71.03141],[158.99779,70.86672],[159.83031000000017,70.45324],[159.70866,69.72198],[160.9405300000003,69.4372800000001],[162.27907,69.64204],[164.05248,69.66823],[165.94037000000014,69.47199],[167.83567,69.58269000000013],[169.5776300000001,68.6938],[170.8168800000002,69.01363],[170.0082000000001,69.65276],[170.4534500000002,70.09703],[173.64391000000012,69.81743],[175.7240300000002,69.87725000000017],[178.6,69.4],[180,68.96363636363651],[180,64.97970870219848],[179.99281,64.97433],[178.70720000000028,64.53493],[177.41128,64.60821],[178.3130000000001,64.07593],[178.90825000000018,63.25197],[179.37034,62.98262000000011],[179.48636,62.56894],[179.22825,62.304100000000176],[177.3643,62.5219],[174.56929000000025,61.76915],[173.68013,61.65261],[172.15,60.95],[170.6985,60.33618000000013],[170.33085000000028,59.88177],[168.90046,60.57355],[166.29498000000024,59.78855000000016],[165.84000000000015,60.16],[164.87674,59.7316],[163.53929,59.86871],[163.21711000000016,59.21101],[162.01733,58.24328],[162.05297,57.83912],[163.19191,57.615030000000104],[163.05794000000014,56.159240000000125],[162.12958000000015,56.12219],[161.70146,55.285680000000184],[162.11749,54.85514],[160.36877000000027,54.34433],[160.02173000000016,53.20257],[158.5309400000001,52.958680000000186],[158.23118,51.94269],[156.78979000000027,51.01105],[156.42,51.7],[155.99182,53.15895],[155.43366,55.38103000000012],[155.9144200000003,56.767920000000174],[156.75815,57.3647],[156.81035,57.83204],[158.3643300000001,58.05575],[160.15064,59.31477],[161.87204,60.343],[163.66969,61.1409000000001],[164.47355,62.55061],[163.25842000000011,62.46627000000012],[162.65791,61.6425],[160.12148,60.54423],[159.30232,61.7739600000001],[156.72068,61.43442],[154.21806000000026,59.75818000000015],[155.04375,59.14495],[152.81185,58.88385],[151.2657300000002,58.78089],[151.33815,59.50396],[149.78371,59.655730000000176],[148.54481,59.16448],[145.48722,59.33637],[142.19782,59.03998000000013],[138.95848000000024,57.08805],[135.12619,54.72959],[136.70171,54.603550000000155],[137.19342,53.97732],[138.1647,53.7550100000002],[138.80463,54.25455],[139.90151,54.18968000000012],[141.34531,53.08957000000015],[141.37923,52.23877],[140.59742000000017,51.2396700000001],[140.51308,50.045530000000156],[140.0619300000002,48.44671000000011],[138.5547200000002,46.99965],[138.21971,46.30795],[136.86232,45.14350000000013],[135.51535000000013,43.989],[134.86939000000018,43.39821],[133.53687000000025,42.81147],[132.90627,42.79849000000013],[132.27807000000018,43.28456000000011],[130.93587000000014,42.55274],[130.78000485358513,42.22001036108258],[130.78000366004676,42.220007813203225],[130.78,42.22000000000014],[130.77999231657833,42.22000960427719],[130.6400000000001,42.395],[130.63999970690955,42.39502427522179],[130.63386640840974,42.90301463477053],[131.1446879416149,42.92998973242689],[131.28855512911548,44.11151968034828],[131.02519000000018,44.96796],[131.8834542176595,45.32116160743652],[133.09712000000013,45.14409],[133.76964399631288,46.116926988299014],[134.1123500000001,47.21248],[134.50081,47.57845],[135.02631147678665,48.478229885443874],[133.37359581922794,48.18344167743487],[132.50669,47.78896],[130.9872600000001,47.79013],[130.58229332898242,48.72968740497614],[129.39781782442043,49.44060008401544],[127.65740000000028,49.760270000000105],[127.28745568248485,50.73979726826548],[126.93915652883766,51.35389415140592],[126.56439904185697,51.7842554795327],[125.94634891164617,52.79279857035698],[125.06821129771038,53.16104482686886],[123.57147,53.4588],[122.24574791879283,53.431725979213695],[121.00308475147017,53.25140106873119],[120.17708865771681,52.75388621684124],[120.72578901579197,52.516226304730935],[120.7382,51.96411],[120.18208000000016,51.64355000000012],[119.27939,50.58292],[119.2884607280258,50.142882798862004],[117.8792444194264,49.510983384796965],[116.67880089728612,49.888531399121405],[115.48569542853136,49.80517731383475],[114.96210981655018,50.140247300815126],[114.36245649623527,50.24830272073741],[112.89773969935436,49.54356537535699],[111.58123091028662,49.37796824807769],[110.66201053267878,49.13012807880585],[109.40244917199664,49.292960516957635],[108.47516727095129,49.28254771585074],[107.86817589725095,49.793705145865815],[106.8888041524553,50.27429596618032],[105.88659142458675,50.406019192092224],[104.62158,50.27532000000019],[103.67654544476022,50.089966132195116],[102.25589,50.51056000000011],[102.06521,51.25991],[100.88948042196262,51.51685578063832],[99.98173221232354,51.63400625264399],[98.86149051310034,52.04736603454669],[97.82573978067431,51.01099518493318],[98.23176150919156,50.422400621128745],[97.25976000000014,49.72605],[95.8140200000002,49.97746000000012],[94.81594933469873,50.01343333597085],[94.14756635943559,50.48053660745717],[93.10421,50.49529],[92.23471154171968,50.80217072204172],[90.71366743364068,50.33181183532109],[88.80556684769552,49.47052073831242],[87.75126427607671,49.297197984405486],[87.35997033076265,49.21498078062912],[86.82935672398963,49.82667470966817],[85.54126997268247,49.69285858824816],[85.11555952346203,50.11730296487764],[84.41637739455308,50.311399644565824],[83.93511478061885,50.88924551045358],[83.38300377801238,51.069182847693924],[81.94598554883993,50.81219594990637],[80.56844689323549,51.38833649352847],[80.03555952344169,50.86475088154725],[77.80091556184425,53.404414984747575],[76.52517947785475,54.17700348572714],[76.89110029491343,54.49052440044193],[74.38482000000016,53.54685000000012],[73.42567874542044,53.489810289109755],[73.5085160663844,54.0356167669766],[72.22415001820218,54.376655381886735],[71.18013105660941,54.13328522400826],[70.86526655465514,55.169733588270105],[69.06816694527288,55.38525014914353],[68.16910037625883,54.97039175070432],[65.66687,54.60125000000011],[65.17853356309593,54.35422781027211],[61.43660000000017,54.00625],[60.978066440683165,53.66499339457914],[61.699986199800605,52.97999644633427],[60.73999311711458,52.71998647725775],[60.92726850774028,52.44754832621504],[59.967533807215545,51.9604204372157],[61.58800337102417,51.272658799843214],[61.337424350840934,50.79907013610426],[59.93280724471549,50.842194118851864],[59.642282342370606,50.545442206415714],[58.36332,51.06364],[56.77798000000013,51.04355],[55.71694,50.62171000000018],[54.532878452376224,51.02623973245932],[52.32872358583097,51.718652248738124],[50.76664839051216,51.6927623561599],[48.70238162618102,50.60512848571284],[48.57784142435753,49.87475962991567],[47.54948042174931,50.454698391311126],[46.75159630716274,49.35600576435377],[47.04367150247651,49.152038886097614],[46.46644575377627,48.39415233010493],[47.31524000000013,47.7158500000001],[48.05725,47.74377],[48.694733514201744,47.07562816017793],[48.59325000000018,46.56104],[49.10116000000011,46.399330000000134]]],[[[93.77766,81.0246],[95.940895,81.2504],[97.88385,80.746975],[100.186655,79.780135],[99.93976,78.88094],[97.75794,78.7562],[94.97259,79.044745],[93.31288,79.4265],[92.5454,80.14379],[91.18107,80.34146],[93.77766,81.0246]]],[[[102.837815,79.28129],[105.37243,78.71334],[105.07547,78.30689],[99.43814,77.921],[101.2649,79.23399],[102.08635,79.34641],[102.837815,79.28129]]],[[[138.831075,76.13676],[141.471615,76.09289],[145.086285,75.562625],[144.3,74.82],[140.61381,74.84768],[138.95544,74.61148],[136.97439,75.26167],[137.51176,75.94917],[138.831075,76.13676]]],[[[148.22223,75.345845],[150.73167,75.08406],[149.575925,74.68892],[147.977465,74.778355],[146.11919,75.17298],[146.358485,75.49682],[148.22223,75.345845]]],[[[139.86312,73.36983],[140.81171,73.76506],[142.06207,73.85758],[143.48283,73.47525],[143.60385,73.21244],[142.08763,73.20544],[140.038155,73.31692],[139.86312,73.36983]]],[[[44.84695804218114,80.58980988231714],[46.79913862487123,80.77191762971368],[48.31847741068461,80.78400991486998],[48.52280602396667,80.51456899690017],[49.097189568890855,80.7539859077084],[50.03976769389462,80.91888540315178],[51.522932977103665,80.69972565380193],[51.13618655783128,80.54728017854093],[49.79368452332071,80.4154277615482],[48.89441124857755,80.33956675894375],[48.75493655782177,80.17546824820089],[47.58611901224418,80.01018117951533],[46.50282596210963,80.2472468126543],[47.07245527526294,80.55942414012951],[44.84695804218114,80.58980988231714]]],[[[22.731098667092652,54.327536932993326],[20.892244500418627,54.31252492941253],[19.660640089606403,54.42608388937393],[19.888481479581287,54.86616038677151],[21.268448927503467,55.190481675835315],[22.315723504330577,55.015298570365864],[22.75776370615526,54.85657440858138],[22.65105187347254,54.582740993866736],[22.731098667092652,54.327536932993326]]],[[[53.50828982932515,73.7498139513002],[55.90245893740766,74.62748647734536],[55.631932814359686,75.08141225859718],[57.86864383324885,75.60939036732326],[61.170044386647476,76.25188345000812],[64.49836836127017,76.43905548776927],[66.21097700385513,76.80978221303117],[68.1570597675348,76.93969676381293],[68.85221113472508,76.5448113064546],[68.1805725442276,76.23364166940907],[64.63732628770302,75.73775462513625],[61.58350752141476,75.26088450794684],[58.47708214705335,74.30905630156285],[56.98678551618803,73.33304352486623],[55.419335971910925,72.37126760526603],[55.62283776227633,71.54059479439032],[57.535692579992315,70.72046397570212],[56.94497928246388,70.63274323188666],[53.67737511578417,70.76265778266846],[53.412016635965394,71.20666168892022],[51.601894565645665,71.47475901965045],[51.455753615124216,72.01488108996513],[52.47827518088354,72.22944163684097],[52.44416873557088,72.77473135038481],[54.42761355979758,73.6275475124976],[53.50828982932515,73.7498139513002]]],[[[142.91461551327654,53.704577541714784],[143.2608476096321,52.74076040303906],[143.23526777564763,51.75666026468876],[143.64800744036285,50.747600409541505],[144.6541475770856,48.97639069273754],[143.1739278505172,49.306551418650315],[142.55866824765013,47.86157501890495],[143.53349246640403,46.83672801369252],[143.50527713437265,46.137907619809525],[142.74770063697383,46.74076487892651],[142.09203006405454,45.966755276058834],[141.906925083585,46.80592886004656],[142.01844282447087,47.78013296161296],[141.90444461483503,48.85918854429957],[142.1358000022057,49.61516307229739],[142.17998335181528,50.9523424342819],[141.59407596249002,51.9354348822025],[141.6825460145737,53.301966457728795],[142.60693403541075,53.762145087287934],[142.20974897681543,54.225475979216874],[142.65478641171302,54.36588084575389],[142.91461551327654,53.704577541714784]]],[[[-174.92825,67.20589],[-175.01425,66.58435],[-174.33983,66.33556],[-174.57182,67.06219],[-171.85731,66.91308],[-169.89958,65.97724],[-170.89107,65.54139],[-172.53025,65.43791],[-172.555,64.46079],[-172.95533,64.25269],[-173.89184,64.2826],[-174.65392,64.63125],[-175.98353,64.92288],[-176.20716,65.35667],[-177.22266,65.52024],[-178.35993,65.39052],[-178.90332,65.74044],[-178.68611,66.11211],[-179.88377,65.87456],[-179.43268,65.40411],[-180,64.9797087021984],[-180,68.96363636363635],[-177.55,68.2],[-174.92825,67.20589]]],[[[-178.69378,70.89302],[-180,70.83219920854673],[-180,71.51571433642827],[-179.871875,71.55762],[-179.02433,71.55553],[-177.577945,71.26948],[-177.663575,71.13277],[-178.69378,70.89302]]],[[[33.435988094713366,45.971917370797485],[33.69946184910907,46.219572831556434],[34.41040172853718,46.005162391728845],[34.73201738827845,45.96566573176062],[34.861792128174045,45.76818243191957],[35.01265897004737,45.73772519982549],[35.02078779474607,45.65121898048466],[35.51000857925311,45.40999339454612],[36.52999799983019,45.46998973243717],[36.334712762199274,45.11321564389402],[35.239999220528205,44.93999624285175],[33.882511020652885,44.361478583344194],[33.32642093276013,44.564877020844904],[33.546924269349404,45.03477081967486],[32.4541744321055,45.327466132176085],[32.63080447767919,45.51918569597899],[33.58816206231842,45.85156850848023],[33.435988094713366,45.971917370797485]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Czechia","sov_a3":"CZE","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Czechia","adm0_a3":"CZE","geou_dif":0,"geounit":"Czechia","gu_a3":"CZE","su_dif":0,"subunit":"Czechia","su_a3":"CZE","brk_diff":0,"name":"Czechia","name_long":"Czech Republic","brk_a3":"CZE","brk_name":"Czechia","brk_group":null,"abbrev":"Cz.","postal":"CZ","formal_en":"Czech Republic","formal_fr":"la République tchèque","name_ciawf":"Czechia","note_adm0":null,"note_brk":null,"name_sort":"Czechia","name_alt":"Česko","mapcolor7":1,"mapcolor8":1,"mapcolor9":2,"mapcolor13":6,"pop_est":10669709,"pop_rank":14,"pop_year":2019,"gdp_md":250680,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"EZ","iso_a2":"CZ","iso_a2_eh":"CZ","iso_a3":"CZE","iso_a3_eh":"CZE","iso_n3":"203","iso_n3_eh":"203","un_a3":"203","wb_a2":"CZ","wb_a3":"CZE","woe_id":23424810,"woe_id_eh":23424810,"woe_note":"Exact WOE match as country","adm0_iso":"CZE","adm0_diff":null,"adm0_tlc":"CZE","adm0_a3_us":"CZE","adm0_a3_fr":"CZE","adm0_a3_ru":"CZE","adm0_a3_es":"CZE","adm0_a3_cn":"CZE","adm0_a3_tw":"CZE","adm0_a3_in":"CZE","adm0_a3_np":"CZE","adm0_a3_pk":"CZE","adm0_a3_de":"CZE","adm0_a3_gb":"CZE","adm0_a3_br":"CZE","adm0_a3_il":"CZE","adm0_a3_ps":"CZE","adm0_a3_sa":"CZE","adm0_a3_eg":"CZE","adm0_a3_ma":"CZE","adm0_a3_pt":"CZE","adm0_a3_ar":"CZE","adm0_a3_jp":"CZE","adm0_a3_ko":"CZE","adm0_a3_vn":"CZE","adm0_a3_tr":"CZE","adm0_a3_id":"CZE","adm0_a3_pl":"CZE","adm0_a3_gr":"CZE","adm0_a3_it":"CZE","adm0_a3_nl":"CZE","adm0_a3_se":"CZE","adm0_a3_bd":"CZE","adm0_a3_ua":"CZE","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":14,"abbrev_len":3,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":15.377555,"label_y":49.882364,"ne_id":1159320535,"wikidataid":"Q213","name_ar":"التشيك","name_bn":"চেক প্রজাতন্ত্র","name_de":"Tschechien","name_en":"Czech Republic","name_es":"República Checa","name_fa":"جمهوری چک","name_fr":"Tchéquie","name_el":"Τσεχία","name_he":"צ'כיה","name_hi":"चेक गणराज्य","name_hu":"Csehország","name_id":"Republik Ceko","name_it":"Repubblica Ceca","name_ja":"チェコ","name_ko":"체코","name_nl":"Tsjechië","name_pl":"Czechy","name_pt":"Chéquia","name_ru":"Чехия","name_sv":"Tjeckien","name_tr":"Çek Cumhuriyeti","name_uk":"Чехія","name_ur":"چیک جمہوریہ","name_vi":"Cộng hòa Séc","name_zh":"捷克","name_zht":"捷克共和國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"CZE.geojson"},"geometry":{"type":"Polygon","coordinates":[[[15.01699588385867,51.10667409932158],[15.490972120839729,50.78472992614321],[16.23862674323857,50.69773265237984],[16.176253289462267,50.42260732685791],[16.719475945714436,50.21574656839354],[16.86876915860566,50.47397370055603],[17.55456709155112,50.36214590107642],[17.64944502123899,50.049038397819956],[18.392913852622172,49.98862864847075],[18.853144158613617,49.49622976337764],[18.554971144289482,49.495015367218784],[18.399993523846177,49.31500051533004],[18.170498488037964,49.271514797556435],[18.104972771891852,49.04398346617531],[17.913511590250465,48.996492824899086],[17.88648481616181,48.90347524677371],[17.545006951577108,48.80001902932537],[17.101984897538898,48.816968899117114],[16.960288120194576,48.5969823268506],[16.499282667718774,48.78580801044511],[16.02964725105022,48.73389903420793],[15.253415561593982,49.03907420510758],[14.901447381254057,48.964401760445824],[14.338897739324722,48.55530528420721],[13.595945672264437,48.87717194273715],[13.031328973043431,49.30706818297324],[12.521024204161193,49.547415269562734],[12.415190870827445,49.96912079528057],[12.240111118222558,50.266337795607285],[12.966836785543194,50.484076443069085],[13.338131951560285,50.73323436136435],[14.056227654688172,50.9269176295943],[14.307013380600637,51.117267767941414],[14.570718214586066,51.002339382524276],[15.01699588385867,51.10667409932158]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Germany","sov_a3":"DEU","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Germany","adm0_a3":"DEU","geou_dif":0,"geounit":"Germany","gu_a3":"DEU","su_dif":0,"subunit":"Germany","su_a3":"DEU","brk_diff":0,"name":"Germany","name_long":"Germany","brk_a3":"DEU","brk_name":"Germany","brk_group":null,"abbrev":"Ger.","postal":"D","formal_en":"Federal Republic of Germany","formal_fr":null,"name_ciawf":"Germany","note_adm0":null,"note_brk":null,"name_sort":"Germany","name_alt":null,"mapcolor7":2,"mapcolor8":5,"mapcolor9":5,"mapcolor13":1,"pop_est":83132799,"pop_rank":16,"pop_year":2019,"gdp_md":3861123,"gdp_year":2019,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","fips_10":"GM","iso_a2":"DE","iso_a2_eh":"DE","iso_a3":"DEU","iso_a3_eh":"DEU","iso_n3":"276","iso_n3_eh":"276","un_a3":"276","wb_a2":"DE","wb_a3":"DEU","woe_id":23424829,"woe_id_eh":23424829,"woe_note":"Exact WOE match as country","adm0_iso":"DEU","adm0_diff":null,"adm0_tlc":"DEU","adm0_a3_us":"DEU","adm0_a3_fr":"DEU","adm0_a3_ru":"DEU","adm0_a3_es":"DEU","adm0_a3_cn":"DEU","adm0_a3_tw":"DEU","adm0_a3_in":"DEU","adm0_a3_np":"DEU","adm0_a3_pk":"DEU","adm0_a3_de":"DEU","adm0_a3_gb":"DEU","adm0_a3_br":"DEU","adm0_a3_il":"DEU","adm0_a3_ps":"DEU","adm0_a3_sa":"DEU","adm0_a3_eg":"DEU","adm0_a3_ma":"DEU","adm0_a3_pt":"DEU","adm0_a3_ar":"DEU","adm0_a3_jp":"DEU","adm0_a3_ko":"DEU","adm0_a3_vn":"DEU","adm0_a3_tr":"DEU","adm0_a3_id":"DEU","adm0_a3_pl":"DEU","adm0_a3_gr":"DEU","adm0_a3_it":"DEU","adm0_a3_nl":"DEU","adm0_a3_se":"DEU","adm0_a3_bd":"DEU","adm0_a3_ua":"DEU","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":6.7,"label_x":9.678348,"label_y":50.961733,"ne_id":1159320539,"wikidataid":"Q183","name_ar":"ألمانيا","name_bn":"জার্মানি","name_de":"Deutschland","name_en":"Germany","name_es":"Alemania","name_fa":"آلمان","name_fr":"Allemagne","name_el":"Γερμανία","name_he":"גרמניה","name_hi":"जर्मनी","name_hu":"Németország","name_id":"Jerman","name_it":"Germania","name_ja":"ドイツ","name_ko":"독일","name_nl":"Duitsland","name_pl":"Niemcy","name_pt":"Alemanha","name_ru":"Германия","name_sv":"Tyskland","name_tr":"Almanya","name_uk":"Німеччина","name_ur":"جرمنی","name_vi":"Đức","name_zh":"德国","name_zht":"德國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"DEU.geojson"},"geometry":{"type":"Polygon","coordinates":[[[14.119686313542559,53.75702912049104],[14.353315463934138,53.24817129171297],[14.074521111719434,52.98126251892535],[14.437599725002201,52.62485016540839],[14.685026482815687,52.0899474147552],[14.607098422919535,51.74518809671997],[15.01699588385867,51.10667409932158],[14.570718214586066,51.002339382524276],[14.307013380600637,51.117267767941414],[14.056227654688172,50.9269176295943],[13.338131951560285,50.73323436136435],[12.966836785543194,50.484076443069085],[12.240111118222558,50.266337795607285],[12.415190870827445,49.96912079528057],[12.521024204161193,49.547415269562734],[13.031328973043431,49.30706818297324],[13.595945672264437,48.87717194273715],[13.243357374737,48.416114813829054],[12.884102817443875,48.28914581968786],[13.02585127122049,47.63758352313583],[12.932626987365948,47.467645575544],[12.620759718484493,47.67238760028441],[12.141357456112788,47.703083401065776],[11.426414015354737,47.523766181012974],[10.544504021861599,47.5663992376538],[10.402083774465211,47.30248769793916],[9.89606814946319,47.580196845075704],[9.59422610844635,47.52505809182027],[8.522611932009767,47.83082754169129],[8.317301466514095,47.61357982033627],[7.466759067422231,47.62058197691181],[7.593676385131062,48.33301911070372],[8.099278598674744,49.01778351500333],[6.658229607783568,49.20195831969157],[6.186320428094177,49.463802802114515],[6.242751092156993,49.90222565367873],[6.043073357781111,50.128051662794235],[6.15665815595878,50.80372101501058],[5.988658074577813,51.851615709025054],[6.589396599970826,51.852029120483394],[6.842869500362383,52.22844025329755],[7.092053256873896,53.144043280644894],[6.905139601274129,53.48216217713065],[7.100424838905269,53.69393219666267],[7.936239454793963,53.74829580343379],[8.121706170289485,53.52779246684429],[8.800734490604668,54.020785630908904],[8.57211795414537,54.39564647075406],[8.526229282270208,54.96274363872516],[9.282048780971138,54.830865383516176],[9.921906365609118,54.98310415304803],[9.9395797054529,54.596641954153256],[10.950112338920519,54.363607082733154],[10.93946699386845,54.00869334575259],[11.956252475643282,54.19648550070116],[12.518440382546714,54.470370591847995],[13.647467075259499,54.0755109727059],[14.119686313542559,53.75702912049104]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Estonia","sov_a3":"EST","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Estonia","adm0_a3":"EST","geou_dif":0,"geounit":"Estonia","gu_a3":"EST","su_dif":0,"subunit":"Estonia","su_a3":"EST","brk_diff":0,"name":"Estonia","name_long":"Estonia","brk_a3":"EST","brk_name":"Estonia","brk_group":null,"abbrev":"Est.","postal":"EST","formal_en":"Republic of Estonia","formal_fr":null,"name_ciawf":"Estonia","note_adm0":null,"note_brk":null,"name_sort":"Estonia","name_alt":null,"mapcolor7":3,"mapcolor8":2,"mapcolor9":1,"mapcolor13":10,"pop_est":1326590,"pop_rank":12,"pop_year":2019,"gdp_md":31471,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"EN","iso_a2":"EE","iso_a2_eh":"EE","iso_a3":"EST","iso_a3_eh":"EST","iso_n3":"233","iso_n3_eh":"233","un_a3":"233","wb_a2":"EE","wb_a3":"EST","woe_id":23424805,"woe_id_eh":23424805,"woe_note":"Exact WOE match as country","adm0_iso":"EST","adm0_diff":null,"adm0_tlc":"EST","adm0_a3_us":"EST","adm0_a3_fr":"EST","adm0_a3_ru":"EST","adm0_a3_es":"EST","adm0_a3_cn":"EST","adm0_a3_tw":"EST","adm0_a3_in":"EST","adm0_a3_np":"EST","adm0_a3_pk":"EST","adm0_a3_de":"EST","adm0_a3_gb":"EST","adm0_a3_br":"EST","adm0_a3_il":"EST","adm0_a3_ps":"EST","adm0_a3_sa":"EST","adm0_a3_eg":"EST","adm0_a3_ma":"EST","adm0_a3_pt":"EST","adm0_a3_ar":"EST","adm0_a3_jp":"EST","adm0_a3_ko":"EST","adm0_a3_vn":"EST","adm0_a3_tr":"EST","adm0_a3_id":"EST","adm0_a3_pl":"EST","adm0_a3_gr":"EST","adm0_a3_it":"EST","adm0_a3_nl":"EST","adm0_a3_se":"EST","adm0_a3_bd":"EST","adm0_a3_ua":"EST","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":25.867126,"label_y":58.724865,"ne_id":1159320615,"wikidataid":"Q191","name_ar":"إستونيا","name_bn":"এস্তোনিয়া","name_de":"Estland","name_en":"Estonia","name_es":"Estonia","name_fa":"استونی","name_fr":"Estonie","name_el":"Εσθονία","name_he":"אסטוניה","name_hi":"एस्टोनिया","name_hu":"Észtország","name_id":"Estonia","name_it":"Estonia","name_ja":"エストニア","name_ko":"에스토니아","name_nl":"Estland","name_pl":"Estonia","name_pt":"Estónia","name_ru":"Эстония","name_sv":"Estland","name_tr":"Estonya","name_uk":"Естонія","name_ur":"استونیا","name_vi":"Estonia","name_zh":"爱沙尼亚","name_zht":"愛沙尼亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"EST.geojson"},"geometry":{"type":"Polygon","coordinates":[[[27.981126857000987,59.47537333432527],[27.98112,59.47537000000011],[28.13169925305175,59.300825100330925],[27.42015000000015,58.72457000000014],[27.71668582531572,57.79189911562436],[27.288184848751513,57.47452830670383],[26.463532342237787,57.47638865826633],[25.60280968598437,57.84752879498657],[25.16459354014927,57.97015696881519],[24.312862583114622,57.79342357037697],[24.42892785004216,58.38341339785329],[24.061198357853186,58.25737457949341],[23.426560092876684,58.612753404364625],[23.339795363058645,59.187240302153384],[24.604214308376186,59.46585378685502],[25.86418908051664,59.61109039981133],[26.949135776484525,59.445803331125774],[27.981114129353244,59.475388088612874],[27.981126857000987,59.47537333432527]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Latvia","sov_a3":"LVA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Latvia","adm0_a3":"LVA","geou_dif":0,"geounit":"Latvia","gu_a3":"LVA","su_dif":0,"subunit":"Latvia","su_a3":"LVA","brk_diff":0,"name":"Latvia","name_long":"Latvia","brk_a3":"LVA","brk_name":"Latvia","brk_group":null,"abbrev":"Lat.","postal":"LV","formal_en":"Republic of Latvia","formal_fr":null,"name_ciawf":"Latvia","note_adm0":null,"note_brk":null,"name_sort":"Latvia","name_alt":null,"mapcolor7":4,"mapcolor8":7,"mapcolor9":6,"mapcolor13":13,"pop_est":1912789,"pop_rank":12,"pop_year":2019,"gdp_md":34102,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"3. Upper middle income","fips_10":"LG","iso_a2":"LV","iso_a2_eh":"LV","iso_a3":"LVA","iso_a3_eh":"LVA","iso_n3":"428","iso_n3_eh":"428","un_a3":"428","wb_a2":"LV","wb_a3":"LVA","woe_id":23424874,"woe_id_eh":23424874,"woe_note":"Exact WOE match as country","adm0_iso":"LVA","adm0_diff":null,"adm0_tlc":"LVA","adm0_a3_us":"LVA","adm0_a3_fr":"LVA","adm0_a3_ru":"LVA","adm0_a3_es":"LVA","adm0_a3_cn":"LVA","adm0_a3_tw":"LVA","adm0_a3_in":"LVA","adm0_a3_np":"LVA","adm0_a3_pk":"LVA","adm0_a3_de":"LVA","adm0_a3_gb":"LVA","adm0_a3_br":"LVA","adm0_a3_il":"LVA","adm0_a3_ps":"LVA","adm0_a3_sa":"LVA","adm0_a3_eg":"LVA","adm0_a3_ma":"LVA","adm0_a3_pt":"LVA","adm0_a3_ar":"LVA","adm0_a3_jp":"LVA","adm0_a3_ko":"LVA","adm0_a3_vn":"LVA","adm0_a3_tr":"LVA","adm0_a3_id":"LVA","adm0_a3_pl":"LVA","adm0_a3_gr":"LVA","adm0_a3_it":"LVA","adm0_a3_nl":"LVA","adm0_a3_se":"LVA","adm0_a3_bd":"LVA","adm0_a3_ua":"LVA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":25.458723,"label_y":57.066872,"ne_id":1159321033,"wikidataid":"Q211","name_ar":"لاتفيا","name_bn":"লাতভিয়া","name_de":"Lettland","name_en":"Latvia","name_es":"Letonia","name_fa":"لتونی","name_fr":"Lettonie","name_el":"Λετονία","name_he":"לטביה","name_hi":"लातविया","name_hu":"Lettország","name_id":"Latvia","name_it":"Lettonia","name_ja":"ラトビア","name_ko":"라트비아","name_nl":"Letland","name_pl":"Łotwa","name_pt":"Letónia","name_ru":"Латвия","name_sv":"Lettland","name_tr":"Letonya","name_uk":"Латвія","name_ur":"لٹویا","name_vi":"Latvia","name_zh":"拉脱维亚","name_zht":"拉脫維亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"LVA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[27.288184848751513,57.47452830670383],[27.77001590344093,57.24425812441123],[27.855282016722526,56.75932648378429],[28.17670942557794,56.16912995057879],[27.10245975109453,55.783313707087686],[26.494331495883756,55.615106919977634],[25.533046502390334,56.100296942766036],[25.000934279080894,56.16453074810484],[24.86068444184076,56.37252838807963],[23.878263787539964,56.27367137310527],[22.201156853939494,56.33780182557949],[21.055800408622417,56.031076361711065],[21.090423618257972,56.78387278912294],[21.581866489353672,57.411870632549935],[22.52434126149288,57.75337433535076],[23.318452996522097,57.00623647727487],[24.12072960785343,57.02569265403277],[24.312862583114622,57.79342357037697],[25.16459354014927,57.97015696881519],[25.60280968598437,57.84752879498657],[26.463532342237787,57.47638865826633],[27.288184848751513,57.47452830670383]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Norway","sov_a3":"NOR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":null,"admin":"Norway","adm0_a3":"NOR","geou_dif":0,"geounit":"Norway","gu_a3":"NOR","su_dif":0,"subunit":"Norway","su_a3":"NOR","brk_diff":0,"name":"Norway","name_long":"Norway","brk_a3":"NOR","brk_name":"Norway","brk_group":null,"abbrev":"Nor.","postal":"N","formal_en":"Kingdom of Norway","formal_fr":null,"name_ciawf":"Norway","note_adm0":null,"note_brk":null,"name_sort":"Norway","name_alt":null,"mapcolor7":5,"mapcolor8":3,"mapcolor9":8,"mapcolor13":12,"pop_est":5347896,"pop_rank":13,"pop_year":2019,"gdp_md":403336,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"-99","iso_a2":"-99","iso_a2_eh":"NO","iso_a3":"-99","iso_a3_eh":"NOR","iso_n3":"-99","iso_n3_eh":"578","un_a3":"-99","wb_a2":"-99","wb_a3":"-99","woe_id":-90,"woe_id_eh":23424910,"woe_note":"Does not include Svalbard, Jan Mayen, or Bouvet Islands (28289410).","adm0_iso":"NOR","adm0_diff":null,"adm0_tlc":"NOR","adm0_a3_us":"NOR","adm0_a3_fr":"NOR","adm0_a3_ru":"NOR","adm0_a3_es":"NOR","adm0_a3_cn":"NOR","adm0_a3_tw":"NOR","adm0_a3_in":"NOR","adm0_a3_np":"NOR","adm0_a3_pk":"NOR","adm0_a3_de":"NOR","adm0_a3_gb":"NOR","adm0_a3_br":"NOR","adm0_a3_il":"NOR","adm0_a3_ps":"NOR","adm0_a3_sa":"NOR","adm0_a3_eg":"NOR","adm0_a3_ma":"NOR","adm0_a3_pt":"NOR","adm0_a3_ar":"NOR","adm0_a3_jp":"NOR","adm0_a3_ko":"NOR","adm0_a3_vn":"NOR","adm0_a3_tr":"NOR","adm0_a3_id":"NOR","adm0_a3_pl":"NOR","adm0_a3_gr":"NOR","adm0_a3_it":"NOR","adm0_a3_nl":"NOR","adm0_a3_se":"NOR","adm0_a3_bd":"NOR","adm0_a3_ua":"NOR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":7,"label_x":9.679975,"label_y":61.357092,"ne_id":1159321109,"wikidataid":"Q20","name_ar":"النرويج","name_bn":"নরওয়ে","name_de":"Norwegen","name_en":"Norway","name_es":"Noruega","name_fa":"نروژ","name_fr":"Norvège","name_el":"Νορβηγία","name_he":"נורווגיה","name_hi":"नॉर्वे","name_hu":"Norvégia","name_id":"Norwegia","name_it":"Norvegia","name_ja":"ノルウェー","name_ko":"노르웨이","name_nl":"Noorwegen","name_pl":"Norwegia","name_pt":"Noruega","name_ru":"Норвегия","name_sv":"Norge","name_tr":"Norveç","name_uk":"Норвегія","name_ur":"ناروے","name_vi":"Na Uy","name_zh":"挪威","name_zht":"挪威","fclass_iso":"Unrecognized","tlc_diff":null,"fclass_tlc":"Unrecognized","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"NOR.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[15.14282,79.67431],[15.52255,80.01608],[16.99085,80.05086],[18.25183,79.70175],[21.54383,78.95611],[19.02737,78.5626],[18.47172,77.82669],[17.59441,77.63796],[17.1182,76.80941],[15.91315,76.77045],[13.76259,77.38035],[14.66956,77.73565],[13.1706,78.02493],[11.22231,78.8693],[10.44453,79.65239],[13.17077,80.01046],[13.71852,79.66039],[15.14282,79.67431]]],[[[31.101042202597625,69.55810108805622],[29.39955,69.15692000000013],[28.591929559043194,69.06477692328666],[29.015572950971972,69.76649119737799],[27.732292107867863,70.16419302029625],[26.179622023226244,69.82529897732614],[25.689212680776365,69.09211375596904],[24.735679152126725,68.64955678982146],[23.66204959483076,68.89124746365054],[22.356237827247412,68.84174144151491],[21.244936150810673,69.37044302029308],[20.645592889089528,69.10624726020087],[20.025268995857886,69.0651386583127],[19.878559604581255,68.40719432237258],[17.993868442464333,68.56739126247736],[17.729181756265348,68.01055186631628],[16.768878614985482,68.0139366726314],[16.108712192456778,67.30245555283689],[15.108411492583002,66.19386688909547],[13.55568973150909,64.78702769638151],[13.919905226302204,64.44542064071608],[13.571916131248713,64.04911408146971],[12.579935336973934,64.06621898055833],[11.930569288794231,63.12831757267698],[11.992064243221563,61.80036245385655],[12.631146681375185,61.293571682370136],[12.3003658382749,60.11793284773003],[11.468271925511146,59.43239329694604],[11.027368605196868,58.85614940045936],[10.356556837616067,59.469807033925356],[8.382000359743586,58.313288479233215],[7.048748406613271,58.078884182357285],[5.665835402050419,58.5881554225937],[5.308234490590678,59.663231919993834],[4.992078077828978,61.97099803328432],[5.912900424837886,62.614472968182724],[8.553411085655739,63.45400828719648],[10.527709181366758,64.4860383164975],[12.358346795306373,65.87972585719318],[14.761145867581604,67.81064158799516],[16.435927361728943,68.56320547146173],[19.18402835457846,69.81744415961778],[21.378416375420585,70.2551693793461],[23.023742303161526,70.2020718451662],[24.546543409938465,71.03049673123722],[26.37004967622181,70.98626170519539],[28.165547316202943,71.18547435168055],[31.293418409965454,70.4537877468599],[30.005435011522792,70.18625885688489],[31.101042202597625,69.55810108805622]]],[[[27.407505730913446,80.05640574820042],[25.92465050629815,79.51783397085451],[23.024465773213617,79.40001170522903],[20.075188429451828,79.56682322866722],[19.897266473070914,79.84236196564747],[18.462263624757867,79.85988027619443],[17.368015170977458,80.31889618602698],[20.45599205901064,80.59815562613225],[21.907944777115404,80.35767934846204],[22.91925255706738,80.65714427359343],[25.447625359811866,80.40734039989452],[27.407505730913446,80.05640574820042]]],[[[24.72412,77.85385],[22.49032,77.44493],[20.72601,77.67704],[21.41611,77.93504],[20.8119,78.25463],[22.88426,78.45494],[23.28134,78.07954],[24.72412,77.85385]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Sweden","sov_a3":"SWE","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Sweden","adm0_a3":"SWE","geou_dif":0,"geounit":"Sweden","gu_a3":"SWE","su_dif":0,"subunit":"Sweden","su_a3":"SWE","brk_diff":0,"name":"Sweden","name_long":"Sweden","brk_a3":"SWE","brk_name":"Sweden","brk_group":null,"abbrev":"Swe.","postal":"S","formal_en":"Kingdom of Sweden","formal_fr":null,"name_ciawf":"Sweden","note_adm0":null,"note_brk":null,"name_sort":"Sweden","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":2,"mapcolor13":4,"pop_est":10285453,"pop_rank":14,"pop_year":2019,"gdp_md":530883,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"SW","iso_a2":"SE","iso_a2_eh":"SE","iso_a3":"SWE","iso_a3_eh":"SWE","iso_n3":"752","iso_n3_eh":"752","un_a3":"752","wb_a2":"SE","wb_a3":"SWE","woe_id":23424954,"woe_id_eh":23424954,"woe_note":"Exact WOE match as country","adm0_iso":"SWE","adm0_diff":null,"adm0_tlc":"SWE","adm0_a3_us":"SWE","adm0_a3_fr":"SWE","adm0_a3_ru":"SWE","adm0_a3_es":"SWE","adm0_a3_cn":"SWE","adm0_a3_tw":"SWE","adm0_a3_in":"SWE","adm0_a3_np":"SWE","adm0_a3_pk":"SWE","adm0_a3_de":"SWE","adm0_a3_gb":"SWE","adm0_a3_br":"SWE","adm0_a3_il":"SWE","adm0_a3_ps":"SWE","adm0_a3_sa":"SWE","adm0_a3_eg":"SWE","adm0_a3_ma":"SWE","adm0_a3_pt":"SWE","adm0_a3_ar":"SWE","adm0_a3_jp":"SWE","adm0_a3_ko":"SWE","adm0_a3_vn":"SWE","adm0_a3_tr":"SWE","adm0_a3_id":"SWE","adm0_a3_pl":"SWE","adm0_a3_gr":"SWE","adm0_a3_it":"SWE","adm0_a3_nl":"SWE","adm0_a3_se":"SWE","adm0_a3_bd":"SWE","adm0_a3_ua":"SWE","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2,"max_label":7,"label_x":19.01705,"label_y":65.85918,"ne_id":1159321287,"wikidataid":"Q34","name_ar":"السويد","name_bn":"সুইডেন","name_de":"Schweden","name_en":"Sweden","name_es":"Suecia","name_fa":"سوئد","name_fr":"Suède","name_el":"Σουηδία","name_he":"שוודיה","name_hi":"स्वीडन","name_hu":"Svédország","name_id":"Swedia","name_it":"Svezia","name_ja":"スウェーデン","name_ko":"스웨덴","name_nl":"Zweden","name_pl":"Szwecja","name_pt":"Suécia","name_ru":"Швеция","name_sv":"Sverige","name_tr":"İsveç","name_uk":"Швеція","name_ur":"سویڈن","name_vi":"Thụy Điển","name_zh":"瑞典","name_zht":"瑞典","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SWE.geojson"},"geometry":{"type":"Polygon","coordinates":[[[11.027368605196868,58.85614940045936],[11.468271925511146,59.43239329694604],[12.3003658382749,60.11793284773003],[12.631146681375185,61.293571682370136],[11.992064243221563,61.80036245385655],[11.930569288794231,63.12831757267698],[12.579935336973934,64.06621898055833],[13.571916131248713,64.04911408146971],[13.919905226302204,64.44542064071608],[13.55568973150909,64.78702769638151],[15.108411492583002,66.19386688909547],[16.108712192456778,67.30245555283689],[16.768878614985482,68.0139366726314],[17.729181756265348,68.01055186631628],[17.993868442464333,68.56739126247736],[19.878559604581255,68.40719432237258],[20.025268995857886,69.0651386583127],[20.645592889089528,69.10624726020087],[21.978534783626117,68.6168456081807],[23.53947309743444,67.93600861273525],[23.565879754335583,66.39605093043743],[23.903378533633802,66.00692739527962],[22.18317345550193,65.72374054632017],[21.21351687997722,65.02600535751527],[21.369631381930958,64.41358795842429],[19.77887576669022,63.60955434839504],[17.84777916837521,62.74940013289681],[17.119554884518124,61.34116567651097],[17.83134606290639,60.63658336042741],[18.78772179533209,60.081914374422595],[17.86922488777634,58.9537661810587],[16.829185011470088,58.71982697207339],[16.447709588291474,57.041118069071885],[15.879785597403783,56.10430186626866],[14.666681349352075,56.200885118222175],[14.100721062891465,55.40778107362265],[12.942910597392057,55.36173737245058],[12.625100538797028,56.30708018658197],[11.787942335668674,57.44181712506307],[11.027368605196868,58.85614940045936]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Finland","sov_a3":"FI1","adm0_dif":1,"level":2,"type":"Country","tlc":"1","admin":"Finland","adm0_a3":"FIN","geou_dif":0,"geounit":"Finland","gu_a3":"FIN","su_dif":0,"subunit":"Finland","su_a3":"FIN","brk_diff":0,"name":"Finland","name_long":"Finland","brk_a3":"FIN","brk_name":"Finland","brk_group":null,"abbrev":"Fin.","postal":"FIN","formal_en":"Republic of Finland","formal_fr":null,"name_ciawf":"Finland","note_adm0":null,"note_brk":null,"name_sort":"Finland","name_alt":null,"mapcolor7":4,"mapcolor8":1,"mapcolor9":4,"mapcolor13":6,"pop_est":5520314,"pop_rank":13,"pop_year":2019,"gdp_md":269296,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"FI","iso_a2":"FI","iso_a2_eh":"FI","iso_a3":"FIN","iso_a3_eh":"FIN","iso_n3":"246","iso_n3_eh":"246","un_a3":"246","wb_a2":"FI","wb_a3":"FIN","woe_id":23424812,"woe_id_eh":23424812,"woe_note":"Exact WOE match as country","adm0_iso":"FIN","adm0_diff":null,"adm0_tlc":"FIN","adm0_a3_us":"FIN","adm0_a3_fr":"FIN","adm0_a3_ru":"FIN","adm0_a3_es":"FIN","adm0_a3_cn":"FIN","adm0_a3_tw":"FIN","adm0_a3_in":"FIN","adm0_a3_np":"FIN","adm0_a3_pk":"FIN","adm0_a3_de":"FIN","adm0_a3_gb":"FIN","adm0_a3_br":"FIN","adm0_a3_il":"FIN","adm0_a3_ps":"FIN","adm0_a3_sa":"FIN","adm0_a3_eg":"FIN","adm0_a3_ma":"FIN","adm0_a3_pt":"FIN","adm0_a3_ar":"FIN","adm0_a3_jp":"FIN","adm0_a3_ko":"FIN","adm0_a3_vn":"FIN","adm0_a3_tr":"FIN","adm0_a3_id":"FIN","adm0_a3_pl":"FIN","adm0_a3_gr":"FIN","adm0_a3_it":"FIN","adm0_a3_nl":"FIN","adm0_a3_se":"FIN","adm0_a3_bd":"FIN","adm0_a3_ua":"FIN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":27.276449,"label_y":63.252361,"ne_id":1159320623,"wikidataid":"Q33","name_ar":"فنلندا","name_bn":"ফিনল্যান্ড","name_de":"Finnland","name_en":"Finland","name_es":"Finlandia","name_fa":"فنلاند","name_fr":"Finlande","name_el":"Φινλανδία","name_he":"פינלנד","name_hi":"फ़िनलैण्ड","name_hu":"Finnország","name_id":"Finlandia","name_it":"Finlandia","name_ja":"フィンランド","name_ko":"핀란드","name_nl":"Finland","name_pl":"Finlandia","name_pt":"Finlândia","name_ru":"Финляндия","name_sv":"Finland","name_tr":"Finlandiya","name_uk":"Фінляндія","name_ur":"فن لینڈ","name_vi":"Phần Lan","name_zh":"芬兰","name_zht":"芬蘭","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"FIN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[28.591929559043194,69.06477692328666],[28.445943637818658,68.36461294216404],[29.97742638522061,67.69829702419275],[29.054588657352326,66.94428620062206],[30.21765,65.80598],[29.54442955904699,64.94867157659048],[30.44468468600371,64.20445343693909],[30.035872430142717,63.55281362573855],[31.516092156711125,62.86768748641289],[31.139991082490894,62.35769277612441],[30.21110721204445,61.780027777749694],[28.07,60.50352],[28.070001921525666,60.50351912796823],[28.069997592895277,60.50351654727584],[26.255172967236973,60.4239606797625],[24.496623976344523,60.05731639265166],[22.869694858499457,59.846373196036225],[22.290763787533592,60.39192129174154],[21.322244093519316,60.720169989659524],[21.544866163832694,61.70532949487179],[21.05921105315369,62.60739329695874],[21.536029493910803,63.18973501245587],[22.442744174903993,63.81781037053129],[24.730511508897536,64.90234365504084],[25.398067661243942,65.11142650009374],[25.294043003040404,65.53434642197045],[23.903378533633802,66.00692739527962],[23.565879754335583,66.39605093043743],[23.53947309743444,67.93600861273525],[21.978534783626117,68.6168456081807],[20.645592889089528,69.10624726020087],[21.244936150810673,69.37044302029308],[22.356237827247412,68.84174144151491],[23.66204959483076,68.89124746365054],[24.735679152126725,68.64955678982146],[25.689212680776365,69.09211375596904],[26.179622023226244,69.82529897732614],[27.732292107867863,70.16419302029625],[29.015572950971972,69.76649119737799],[28.591929559043194,69.06477692328666]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Luxembourg","sov_a3":"LUX","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Luxembourg","adm0_a3":"LUX","geou_dif":0,"geounit":"Luxembourg","gu_a3":"LUX","su_dif":0,"subunit":"Luxembourg","su_a3":"LUX","brk_diff":0,"name":"Luxembourg","name_long":"Luxembourg","brk_a3":"LUX","brk_name":"Luxembourg","brk_group":null,"abbrev":"Lux.","postal":"L","formal_en":"Grand Duchy of Luxembourg","formal_fr":null,"name_ciawf":"Luxembourg","note_adm0":null,"note_brk":null,"name_sort":"Luxembourg","name_alt":null,"mapcolor7":1,"mapcolor8":7,"mapcolor9":3,"mapcolor13":7,"pop_est":619896,"pop_rank":11,"pop_year":2019,"gdp_md":71104,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"LU","iso_a2":"LU","iso_a2_eh":"LU","iso_a3":"LUX","iso_a3_eh":"LUX","iso_n3":"442","iso_n3_eh":"442","un_a3":"442","wb_a2":"LU","wb_a3":"LUX","woe_id":23424881,"woe_id_eh":23424881,"woe_note":"Exact WOE match as country","adm0_iso":"LUX","adm0_diff":null,"adm0_tlc":"LUX","adm0_a3_us":"LUX","adm0_a3_fr":"LUX","adm0_a3_ru":"LUX","adm0_a3_es":"LUX","adm0_a3_cn":"LUX","adm0_a3_tw":"LUX","adm0_a3_in":"LUX","adm0_a3_np":"LUX","adm0_a3_pk":"LUX","adm0_a3_de":"LUX","adm0_a3_gb":"LUX","adm0_a3_br":"LUX","adm0_a3_il":"LUX","adm0_a3_ps":"LUX","adm0_a3_sa":"LUX","adm0_a3_eg":"LUX","adm0_a3_ma":"LUX","adm0_a3_pt":"LUX","adm0_a3_ar":"LUX","adm0_a3_jp":"LUX","adm0_a3_ko":"LUX","adm0_a3_vn":"LUX","adm0_a3_tr":"LUX","adm0_a3_id":"LUX","adm0_a3_pl":"LUX","adm0_a3_gr":"LUX","adm0_a3_it":"LUX","adm0_a3_nl":"LUX","adm0_a3_se":"LUX","adm0_a3_bd":"LUX","adm0_a3_ua":"LUX","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":10,"long_len":10,"abbrev_len":4,"tiny":5,"homepart":1,"min_zoom":0,"min_label":5.7,"max_label":10,"label_x":6.07762,"label_y":49.733732,"ne_id":1159321031,"wikidataid":"Q32","name_ar":"لوكسمبورغ","name_bn":"লুক্সেমবুর্গ","name_de":"Luxemburg","name_en":"Luxembourg","name_es":"Luxemburgo","name_fa":"لوکزامبورگ","name_fr":"Luxembourg","name_el":"Λουξεμβούργο","name_he":"לוקסמבורג","name_hi":"लक्ज़मबर्ग","name_hu":"Luxemburg","name_id":"Luksemburg","name_it":"Lussemburgo","name_ja":"ルクセンブルク","name_ko":"룩셈부르크","name_nl":"Luxemburg","name_pl":"Luksemburg","name_pt":"Luxemburgo","name_ru":"Люксембург","name_sv":"Luxemburg","name_tr":"Lüksemburg","name_uk":"Люксембург","name_ur":"لکسمبرگ","name_vi":"Luxembourg","name_zh":"卢森堡","name_zht":"盧森堡","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"LUX.geojson"},"geometry":{"type":"Polygon","coordinates":[[[6.043073357781111,50.128051662794235],[6.242751092156993,49.90222565367873],[6.186320428094177,49.463802802114515],[5.897759230176348,49.44266714130711],[5.674051954784829,49.529483547557504],[5.782417433300907,50.09032786722122],[6.043073357781111,50.128051662794235]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Belgium","sov_a3":"BEL","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Belgium","adm0_a3":"BEL","geou_dif":0,"geounit":"Belgium","gu_a3":"BEL","su_dif":0,"subunit":"Belgium","su_a3":"BEL","brk_diff":0,"name":"Belgium","name_long":"Belgium","brk_a3":"BEL","brk_name":"Belgium","brk_group":null,"abbrev":"Belg.","postal":"B","formal_en":"Kingdom of Belgium","formal_fr":null,"name_ciawf":"Belgium","note_adm0":null,"note_brk":null,"name_sort":"Belgium","name_alt":null,"mapcolor7":3,"mapcolor8":2,"mapcolor9":1,"mapcolor13":8,"pop_est":11484055,"pop_rank":14,"pop_year":2019,"gdp_md":533097,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"BE","iso_a2":"BE","iso_a2_eh":"BE","iso_a3":"BEL","iso_a3_eh":"BEL","iso_n3":"056","iso_n3_eh":"056","un_a3":"056","wb_a2":"BE","wb_a3":"BEL","woe_id":23424757,"woe_id_eh":23424757,"woe_note":"Exact WOE match as country","adm0_iso":"BEL","adm0_diff":null,"adm0_tlc":"BEL","adm0_a3_us":"BEL","adm0_a3_fr":"BEL","adm0_a3_ru":"BEL","adm0_a3_es":"BEL","adm0_a3_cn":"BEL","adm0_a3_tw":"BEL","adm0_a3_in":"BEL","adm0_a3_np":"BEL","adm0_a3_pk":"BEL","adm0_a3_de":"BEL","adm0_a3_gb":"BEL","adm0_a3_br":"BEL","adm0_a3_il":"BEL","adm0_a3_ps":"BEL","adm0_a3_sa":"BEL","adm0_a3_eg":"BEL","adm0_a3_ma":"BEL","adm0_a3_pt":"BEL","adm0_a3_ar":"BEL","adm0_a3_jp":"BEL","adm0_a3_ko":"BEL","adm0_a3_vn":"BEL","adm0_a3_tr":"BEL","adm0_a3_id":"BEL","adm0_a3_pl":"BEL","adm0_a3_gr":"BEL","adm0_a3_it":"BEL","adm0_a3_nl":"BEL","adm0_a3_se":"BEL","adm0_a3_bd":"BEL","adm0_a3_ua":"BEL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":4.800448,"label_y":50.785392,"ne_id":1159320389,"wikidataid":"Q31","name_ar":"بلجيكا","name_bn":"বেলজিয়াম","name_de":"Belgien","name_en":"Belgium","name_es":"Bélgica","name_fa":"بلژیک","name_fr":"Belgique","name_el":"Βέλγιο","name_he":"בלגיה","name_hi":"बेल्जियम","name_hu":"Belgium","name_id":"Belgia","name_it":"Belgio","name_ja":"ベルギー","name_ko":"벨기에","name_nl":"België","name_pl":"Belgia","name_pt":"Bélgica","name_ru":"Бельгия","name_sv":"Belgien","name_tr":"Belçika","name_uk":"Бельгія","name_ur":"بلجئیم","name_vi":"Bỉ","name_zh":"比利时","name_zht":"比利時","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BEL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[6.15665815595878,50.80372101501058],[6.043073357781111,50.128051662794235],[5.782417433300907,50.09032786722122],[5.674051954784829,49.529483547557504],[4.799221632515724,49.98537303323637],[4.286022983425084,49.907496649772554],[3.588184441755658,50.37899241800356],[3.123251580425688,50.78036326761455],[2.658422071960274,50.796848049515745],[2.513573032246143,51.14850617126183],[3.314971144228537,51.345780951536085],[3.31501148496416,51.34577662473805],[3.314971144228537,51.34575511331991],[4.047071160507528,51.26725861266857],[4.973991326526914,51.47502370869813],[5.606975945670001,51.03729848896978],[6.15665815595878,50.80372101501058]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"North Macedonia","sov_a3":"MKD","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"North Macedonia","adm0_a3":"MKD","geou_dif":0,"geounit":"North Macedonia","gu_a3":"MKD","su_dif":0,"subunit":"North Macedonia","su_a3":"MKD","brk_diff":0,"name":"North Macedonia","name_long":"North Macedonia","brk_a3":"MKD","brk_name":"North Macedonia","brk_group":null,"abbrev":"N. Mac.","postal":"NM","formal_en":"Republic of North Macedonia","formal_fr":null,"name_ciawf":"North Macedonia","note_adm0":null,"note_brk":null,"name_sort":"North Macedonia","name_alt":null,"mapcolor7":5,"mapcolor8":3,"mapcolor9":7,"mapcolor13":3,"pop_est":2083459,"pop_rank":12,"pop_year":2019,"gdp_md":12547,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"MK","iso_a2":"MK","iso_a2_eh":"MK","iso_a3":"MKD","iso_a3_eh":"MKD","iso_n3":"807","iso_n3_eh":"807","un_a3":"807","wb_a2":"MK","wb_a3":"MKD","woe_id":23424890,"woe_id_eh":23424890,"woe_note":"Exact WOE match as country","adm0_iso":"MKD","adm0_diff":null,"adm0_tlc":"MKD","adm0_a3_us":"MKD","adm0_a3_fr":"MKD","adm0_a3_ru":"MKD","adm0_a3_es":"MKD","adm0_a3_cn":"MKD","adm0_a3_tw":"MKD","adm0_a3_in":"MKD","adm0_a3_np":"MKD","adm0_a3_pk":"MKD","adm0_a3_de":"MKD","adm0_a3_gb":"MKD","adm0_a3_br":"MKD","adm0_a3_il":"MKD","adm0_a3_ps":"MKD","adm0_a3_sa":"MKD","adm0_a3_eg":"MKD","adm0_a3_ma":"MKD","adm0_a3_pt":"MKD","adm0_a3_ar":"MKD","adm0_a3_jp":"MKD","adm0_a3_ko":"MKD","adm0_a3_vn":"MKD","adm0_a3_tr":"MKD","adm0_a3_id":"MKD","adm0_a3_pl":"MKD","adm0_a3_gr":"MKD","adm0_a3_it":"MKD","adm0_a3_nl":"MKD","adm0_a3_se":"MKD","adm0_a3_bd":"MKD","adm0_a3_ua":"MKD","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":15,"long_len":15,"abbrev_len":7,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":21.555839,"label_y":41.558223,"ne_id":1159321061,"wikidataid":"Q221","name_ar":"مقدونيا الشمالية","name_bn":"উত্তর মেসিডোনিয়া","name_de":"Nordmazedonien","name_en":"North Macedonia","name_es":"Macedonia del Norte","name_fa":"مقدونیه شمالی","name_fr":"Macédoine du Nord","name_el":"Βόρεια Μακεδονία","name_he":"מקדוניה הצפונית","name_hi":"उत्तर मैसिडोनिया","name_hu":"Észak-Macedónia","name_id":"Republik Makedonia Utara","name_it":"Macedonia del Nord","name_ja":"北マケドニア","name_ko":"북마케도니아","name_nl":"Noord-Macedonië","name_pl":"Macedonia Północna","name_pt":"Macedónia do Norte","name_ru":"Северная Македония","name_sv":"Nordmakedonien","name_tr":"Kuzey Makedonya","name_uk":"Північна Македонія","name_ur":"شمالی مقدونیہ","name_vi":"Bắc Macedonia","name_zh":"北马其顿","name_zht":"北馬其頓","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MKD.geojson"},"geometry":{"type":"Polygon","coordinates":[[[22.380525750424592,42.32025950781509],[22.881373732197346,41.999297186850356],[22.952377150166452,41.33799388281115],[22.76177,41.3048],[22.597308383889015,41.130487168943205],[22.05537763844427,41.14986583105269],[21.674160597426976,40.931274522457954],[21.0200403174764,40.84272695572588],[20.605181919037364,41.086226304685226],[20.463175083099202,41.51508901627534],[20.59024743010491,41.855404161133606],[20.590246546680227,41.855408919283626],[20.71731000000011,41.84711],[20.76216,42.05186],[21.35270000000014,42.2068],[21.57663598940212,42.24522439706186],[21.917080000000112,42.30364],[22.380525750424592,42.32025950781509]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Albania","sov_a3":"ALB","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Albania","adm0_a3":"ALB","geou_dif":0,"geounit":"Albania","gu_a3":"ALB","su_dif":0,"subunit":"Albania","su_a3":"ALB","brk_diff":0,"name":"Albania","name_long":"Albania","brk_a3":"ALB","brk_name":"Albania","brk_group":null,"abbrev":"Alb.","postal":"AL","formal_en":"Republic of Albania","formal_fr":null,"name_ciawf":"Albania","note_adm0":null,"note_brk":null,"name_sort":"Albania","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":1,"mapcolor13":6,"pop_est":2854191,"pop_rank":12,"pop_year":2019,"gdp_md":15279,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"AL","iso_a2":"AL","iso_a2_eh":"AL","iso_a3":"ALB","iso_a3_eh":"ALB","iso_n3":"008","iso_n3_eh":"008","un_a3":"008","wb_a2":"AL","wb_a3":"ALB","woe_id":23424742,"woe_id_eh":23424742,"woe_note":"Exact WOE match as country","adm0_iso":"ALB","adm0_diff":null,"adm0_tlc":"ALB","adm0_a3_us":"ALB","adm0_a3_fr":"ALB","adm0_a3_ru":"ALB","adm0_a3_es":"ALB","adm0_a3_cn":"ALB","adm0_a3_tw":"ALB","adm0_a3_in":"ALB","adm0_a3_np":"ALB","adm0_a3_pk":"ALB","adm0_a3_de":"ALB","adm0_a3_gb":"ALB","adm0_a3_br":"ALB","adm0_a3_il":"ALB","adm0_a3_ps":"ALB","adm0_a3_sa":"ALB","adm0_a3_eg":"ALB","adm0_a3_ma":"ALB","adm0_a3_pt":"ALB","adm0_a3_ar":"ALB","adm0_a3_jp":"ALB","adm0_a3_ko":"ALB","adm0_a3_vn":"ALB","adm0_a3_tr":"ALB","adm0_a3_id":"ALB","adm0_a3_pl":"ALB","adm0_a3_gr":"ALB","adm0_a3_it":"ALB","adm0_a3_nl":"ALB","adm0_a3_se":"ALB","adm0_a3_bd":"ALB","adm0_a3_ua":"ALB","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":20.11384,"label_y":40.654855,"ne_id":1159320325,"wikidataid":"Q222","name_ar":"ألبانيا","name_bn":"আলবেনিয়া","name_de":"Albanien","name_en":"Albania","name_es":"Albania","name_fa":"آلبانی","name_fr":"Albanie","name_el":"Αλβανία","name_he":"אלבניה","name_hi":"अल्बानिया","name_hu":"Albánia","name_id":"Albania","name_it":"Albania","name_ja":"アルバニア","name_ko":"알바니아","name_nl":"Albanië","name_pl":"Albania","name_pt":"Albânia","name_ru":"Албания","name_sv":"Albanien","name_tr":"Arnavutluk","name_uk":"Албанія","name_ur":"البانیا","name_vi":"Albania","name_zh":"阿尔巴尼亚","name_zht":"阿爾巴尼亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ALB.geojson"},"geometry":{"type":"Polygon","coordinates":[[[21.0200403174764,40.84272695572588],[20.999989861747224,40.58000397395398],[20.674996779063633,40.43499990494303],[20.615000441172754,40.11000682225938],[20.15001590341052,39.62499766698397],[19.980000441170148,39.69499339452341],[19.960001661873207,39.91500580500605],[19.406081984136733,40.250773423822466],[19.319058872157143,40.72723012955356],[19.40354983895429,41.40956574153546],[19.540027296637106,41.71998607031276],[19.37176883309496,41.877547512370654],[19.37176816334725,41.877550679783496],[19.304486118250793,42.19574514420782],[19.73805138517963,42.68824738216557],[19.801613396898688,42.50009349219084],[20.0707,42.58863],[20.283754510181893,42.32025950781508],[20.52295,42.21787],[20.590246546680227,41.855408919283626],[20.59024743010491,41.855404161133606],[20.463175083099202,41.51508901627534],[20.605181919037364,41.086226304685226],[21.0200403174764,40.84272695572588]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Kosovo","sov_a3":"KOS","adm0_dif":0,"level":2,"type":"Disputed","tlc":"1","admin":"Kosovo","adm0_a3":"KOS","geou_dif":0,"geounit":"Kosovo","gu_a3":"KOS","su_dif":0,"subunit":"Kosovo","su_a3":"KOS","brk_diff":0,"name":"Kosovo","name_long":"Kosovo","brk_a3":"KOS","brk_name":"Kosovo","brk_group":null,"abbrev":"Kos.","postal":"KO","formal_en":"Republic of Kosovo","formal_fr":null,"name_ciawf":"Kosovo","note_adm0":null,"note_brk":null,"name_sort":"Kosovo","name_alt":null,"mapcolor7":2,"mapcolor8":2,"mapcolor9":3,"mapcolor13":11,"pop_est":1794248,"pop_rank":12,"pop_year":2019,"gdp_md":7926,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"KV","iso_a2":"-99","iso_a2_eh":"XK","iso_a3":"-99","iso_a3_eh":"-99","iso_n3":"-99","iso_n3_eh":"-99","un_a3":"-099","wb_a2":"KV","wb_a3":"KSV","woe_id":-90,"woe_id_eh":29389201,"woe_note":"Subunit of Serbia in WOE still; should include 29389201, 29389207, 29389218, 29389209 and 29389214.","adm0_iso":"SRB","adm0_diff":"1","adm0_tlc":"KOS","adm0_a3_us":"KOS","adm0_a3_fr":"KOS","adm0_a3_ru":"SRB","adm0_a3_es":"SRB","adm0_a3_cn":"SRB","adm0_a3_tw":"KOS","adm0_a3_in":"SRB","adm0_a3_np":"SRB","adm0_a3_pk":"KOS","adm0_a3_de":"KOS","adm0_a3_gb":"SRB","adm0_a3_br":"KOS","adm0_a3_il":"KOS","adm0_a3_ps":"SRB","adm0_a3_sa":"KOS","adm0_a3_eg":"KOS","adm0_a3_ma":"SRB","adm0_a3_pt":"KOS","adm0_a3_ar":"SRB","adm0_a3_jp":"KOS","adm0_a3_ko":"KOS","adm0_a3_vn":"SRB","adm0_a3_tr":"KOS","adm0_a3_id":"SRB","adm0_a3_pl":"KOS","adm0_a3_gr":"SRB","adm0_a3_it":"KOS","adm0_a3_nl":"KOS","adm0_a3_se":"KOS","adm0_a3_bd":"KOS","adm0_a3_ua":"SRB","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":20.860719,"label_y":42.593587,"ne_id":1159321007,"wikidataid":"Q1246","name_ar":"كوسوفو","name_bn":"কসোভো","name_de":"Kosovo","name_en":"Kosovo","name_es":"Kosovo","name_fa":"کوزووو","name_fr":"Kosovo","name_el":"Κοσσυφοπέδιο","name_he":"קוסובו","name_hi":"कोसोवो गणराज्य","name_hu":"Koszovó","name_id":"Kosovo","name_it":"Kosovo","name_ja":"コソボ共和国","name_ko":"코소보","name_nl":"Kosovo","name_pl":"Kosowo","name_pt":"Kosovo","name_ru":"Республика Косово","name_sv":"Kosovo","name_tr":"Kosova","name_uk":"Косово","name_ur":"کوسووہ","name_vi":"Kosovo","name_zh":"科索沃","name_zht":"科索沃","fclass_iso":"Unrecognized","tlc_diff":"1","fclass_tlc":"Admin-0 country","fclass_us":"Admin-0 country","fclass_fr":"Admin-0 country","fclass_ru":"Admin-1 region","fclass_es":"Unrecognized","fclass_cn":"Unrecognized","fclass_tw":"Admin-0 country","fclass_in":"Admin-1 region","fclass_np":"Unrecognized","fclass_pk":"Admin-0 country","fclass_de":"Admin-0 country","fclass_gb":"Admin-0 country","fclass_br":"Unrecognized","fclass_il":"Admin-0 country","fclass_ps":"Unrecognized","fclass_sa":"Admin-0 country","fclass_eg":"Admin-0 country","fclass_ma":"Unrecognized","fclass_pt":"Admin-0 country","fclass_ar":"Unrecognized","fclass_jp":"Admin-0 country","fclass_ko":"Admin-0 country","fclass_vn":"Unrecognized","fclass_tr":"Admin-0 country","fclass_id":"Unrecognized","fclass_pl":"Admin-0 country","fclass_gr":"Unrecognized","fclass_it":"Admin-0 country","fclass_nl":"Admin-0 country","fclass_se":"Admin-0 country","fclass_bd":"Admin-0 country","fclass_ua":"Unrecognized","filename":"kosovo.geojson"},"geometry":{"type":"Polygon","coordinates":[[[20.590246546680227,41.855408919283626],[20.52295,42.21787],[20.283754510181893,42.32025950781508],[20.0707,42.58863],[20.25758,42.81275000000011],[20.49679,42.88469],[20.63508,43.21671],[20.81448,43.27205],[20.95651,43.13094],[21.143395,43.06868500000013],[21.27421,42.90959],[21.43866,42.86255],[21.63302,42.67717],[21.77505,42.6827],[21.66292,42.43922],[21.54332,42.3202500000001],[21.57663598940212,42.24522439706186],[21.35270000000014,42.2068],[20.76216,42.05186],[20.71731000000011,41.84711],[20.590246546680227,41.855408919283626]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Spain","sov_a3":"ESP","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Spain","adm0_a3":"ESP","geou_dif":0,"geounit":"Spain","gu_a3":"ESP","su_dif":0,"subunit":"Spain","su_a3":"ESP","brk_diff":0,"name":"Spain","name_long":"Spain","brk_a3":"ESP","brk_name":"Spain","brk_group":null,"abbrev":"Sp.","postal":"E","formal_en":"Kingdom of Spain","formal_fr":null,"name_ciawf":"Spain","note_adm0":null,"note_brk":null,"name_sort":"Spain","name_alt":null,"mapcolor7":4,"mapcolor8":5,"mapcolor9":5,"mapcolor13":5,"pop_est":47076781,"pop_rank":15,"pop_year":2019,"gdp_md":1393490,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"SP","iso_a2":"ES","iso_a2_eh":"ES","iso_a3":"ESP","iso_a3_eh":"ESP","iso_n3":"724","iso_n3_eh":"724","un_a3":"724","wb_a2":"ES","wb_a3":"ESP","woe_id":23424950,"woe_id_eh":23424950,"woe_note":"Exact WOE match as country","adm0_iso":"ESP","adm0_diff":null,"adm0_tlc":"ESP","adm0_a3_us":"ESP","adm0_a3_fr":"ESP","adm0_a3_ru":"ESP","adm0_a3_es":"ESP","adm0_a3_cn":"ESP","adm0_a3_tw":"ESP","adm0_a3_in":"ESP","adm0_a3_np":"ESP","adm0_a3_pk":"ESP","adm0_a3_de":"ESP","adm0_a3_gb":"ESP","adm0_a3_br":"ESP","adm0_a3_il":"ESP","adm0_a3_ps":"ESP","adm0_a3_sa":"ESP","adm0_a3_eg":"ESP","adm0_a3_ma":"ESP","adm0_a3_pt":"ESP","adm0_a3_ar":"ESP","adm0_a3_jp":"ESP","adm0_a3_ko":"ESP","adm0_a3_vn":"ESP","adm0_a3_tr":"ESP","adm0_a3_id":"ESP","adm0_a3_pl":"ESP","adm0_a3_gr":"ESP","adm0_a3_it":"ESP","adm0_a3_nl":"ESP","adm0_a3_se":"ESP","adm0_a3_bd":"ESP","adm0_a3_ua":"ESP","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":5,"long_len":5,"abbrev_len":3,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2,"max_label":7,"label_x":-3.464718,"label_y":40.090953,"ne_id":1159320587,"wikidataid":"Q29","name_ar":"إسبانيا","name_bn":"স্পেন","name_de":"Spanien","name_en":"Spain","name_es":"España","name_fa":"اسپانیا","name_fr":"Espagne","name_el":"Ισπανία","name_he":"ספרד","name_hi":"स्पेन","name_hu":"Spanyolország","name_id":"Spanyol","name_it":"Spagna","name_ja":"スペイン","name_ko":"스페인","name_nl":"Spanje","name_pl":"Hiszpania","name_pt":"Espanha","name_ru":"Испания","name_sv":"Spanien","name_tr":"İspanya","name_uk":"Іспанія","name_ur":"ہسپانیہ","name_vi":"Tây Ban Nha","name_zh":"西班牙","name_zht":"西班牙","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ESP.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-7.453725551778092,37.09778758396607],[-7.537105475281024,37.42890432387624],[-7.166507941099865,37.803894354802225],[-7.029281175148796,38.07576406508977],[-7.374092169616318,38.37305858006492],[-7.098036668313128,39.03007274022379],[-7.498632371439726,39.62957103124181],[-7.066591559263529,39.711891587882775],[-7.026413133156595,40.184524237624245],[-6.864019944679385,40.33087189387483],[-6.851126674822552,41.11108266861753],[-6.389087693700915,41.381815497394655],[-6.668605515967656,41.883386949219584],[-7.251308966490824,41.91834605566505],[-7.422512986673795,41.79207469335984],[-8.013174607769912,41.790886135417125],[-8.263856980817792,42.28046865495034],[-8.67194576662672,42.13468943945496],[-9.034817674180246,41.880570583659676],[-8.984433152695672,42.59277517350627],[-9.392883673530648,43.0266246608127],[-7.97818966310831,43.74833771420099],[-6.754491746436756,43.567909450853925],[-5.411886359061597,43.57423981380968],[-4.347842779955783,43.40344920508504],[-3.517531704106091,43.4559007838613],[-1.901351284177764,43.42280202897834],[-1.502770961910528,43.03401439063043],[0.338046909190581,42.57954600683955],[0.701590610363894,42.795734361332606],[1.826793247087153,42.34338471126569],[2.985998976258458,42.47301504166986],[3.039484083680549,41.892120266276905],[2.091841668312185,41.226088568683096],[0.810524529635188,41.01473196060934],[0.721331007499401,40.678318386389236],[0.106691521819869,40.12393362076202],[-0.278711310212941,39.30997813573272],[0.111290724293838,38.73851430923304],[-0.467123582349103,38.29236583104115],[-0.683389451490598,37.642353827457825],[-1.438382127274849,37.44306366632422],[-2.146452602538119,36.67414419203729],[-3.415780808923387,36.65889964451118],[-4.368900926114719,36.677839056946155],[-4.995219285492212,36.32470815687964],[-5.377159796561457,35.946850083961465],[-5.866432257500904,36.02981659600606],[-6.236693894872175,36.367677110330334],[-6.520190802425404,36.94291331638732],[-7.453725551778092,37.09778758396607]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Denmark","sov_a3":"DN1","adm0_dif":1,"level":2,"type":"Country","tlc":"1","admin":"Denmark","adm0_a3":"DNK","geou_dif":0,"geounit":"Denmark","gu_a3":"DNK","su_dif":0,"subunit":"Denmark","su_a3":"DNK","brk_diff":0,"name":"Denmark","name_long":"Denmark","brk_a3":"DNK","brk_name":"Denmark","brk_group":null,"abbrev":"Den.","postal":"DK","formal_en":"Kingdom of Denmark","formal_fr":null,"name_ciawf":"Denmark","note_adm0":null,"note_brk":null,"name_sort":"Denmark","name_alt":null,"mapcolor7":4,"mapcolor8":1,"mapcolor9":3,"mapcolor13":12,"pop_est":5818553,"pop_rank":13,"pop_year":2019,"gdp_md":350104,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"DA","iso_a2":"DK","iso_a2_eh":"DK","iso_a3":"DNK","iso_a3_eh":"DNK","iso_n3":"208","iso_n3_eh":"208","un_a3":"208","wb_a2":"DK","wb_a3":"DNK","woe_id":23424796,"woe_id_eh":23424796,"woe_note":"Exact WOE match as country","adm0_iso":"DNK","adm0_diff":null,"adm0_tlc":"DNK","adm0_a3_us":"DNK","adm0_a3_fr":"DNK","adm0_a3_ru":"DNK","adm0_a3_es":"DNK","adm0_a3_cn":"DNK","adm0_a3_tw":"DNK","adm0_a3_in":"DNK","adm0_a3_np":"DNK","adm0_a3_pk":"DNK","adm0_a3_de":"DNK","adm0_a3_gb":"DNK","adm0_a3_br":"DNK","adm0_a3_il":"DNK","adm0_a3_ps":"DNK","adm0_a3_sa":"DNK","adm0_a3_eg":"DNK","adm0_a3_ma":"DNK","adm0_a3_pt":"DNK","adm0_a3_ar":"DNK","adm0_a3_jp":"DNK","adm0_a3_ko":"DNK","adm0_a3_vn":"DNK","adm0_a3_tr":"DNK","adm0_a3_id":"DNK","adm0_a3_pl":"DNK","adm0_a3_gr":"DNK","adm0_a3_it":"DNK","adm0_a3_nl":"DNK","adm0_a3_se":"DNK","adm0_a3_bd":"DNK","adm0_a3_ua":"DNK","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":9.018163,"label_y":55.966965,"ne_id":1159320547,"wikidataid":"Q35","name_ar":"الدنمارك","name_bn":"ডেনমার্ক","name_de":"Dänemark","name_en":"Denmark","name_es":"Dinamarca","name_fa":"دانمارک","name_fr":"Danemark","name_el":"Δανία","name_he":"דנמרק","name_hi":"डेनमार्क","name_hu":"Dánia","name_id":"Denmark","name_it":"Danimarca","name_ja":"デンマーク","name_ko":"덴마크","name_nl":"Denemarken","name_pl":"Dania","name_pt":"Dinamarca","name_ru":"Дания","name_sv":"Danmark","name_tr":"Danimarka","name_uk":"Данія","name_ur":"ڈنمارک","name_vi":"Đan Mạch","name_zh":"丹麦","name_zht":"丹麥","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"DNK.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[9.921906365609118,54.98310415304803],[9.282048780971138,54.830865383516176],[8.526229282270208,54.96274363872516],[8.120310906617533,55.5177226833236],[8.08997684086222,56.54001170513759],[8.256581658571207,56.80996938743033],[8.543437534223415,57.11000275331695],[9.424469028367554,57.1720661484995],[9.775558709358535,57.44794078228966],[10.580005730846125,57.73001658795485],[10.546105991262664,57.21573273378612],[10.250000034230226,56.89001618105044],[10.369992710011957,56.60998159446079],[10.912181837618306,56.458621324277885],[10.667803989310016,56.08138336854721],[10.369992710011957,56.19000722922473],[9.649984978889279,55.469999498102055],[9.921906365609118,54.98310415304803]]],[[[12.370904168353292,56.111407375708794],[12.690006137755603,55.60999095318074],[12.089991082414684,54.80001455343792],[11.043543328504226,55.36486379660424],[10.903913608451603,55.77995473898872],[12.370904168353292,56.111407375708794]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Romania","sov_a3":"ROU","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Romania","adm0_a3":"ROU","geou_dif":0,"geounit":"Romania","gu_a3":"ROU","su_dif":0,"subunit":"Romania","su_a3":"ROU","brk_diff":0,"name":"Romania","name_long":"Romania","brk_a3":"ROU","brk_name":"Romania","brk_group":null,"abbrev":"Rom.","postal":"RO","formal_en":"Romania","formal_fr":null,"name_ciawf":"Romania","note_adm0":null,"note_brk":null,"name_sort":"Romania","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":3,"mapcolor13":13,"pop_est":19356544,"pop_rank":14,"pop_year":2019,"gdp_md":250077,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"3. Upper middle income","fips_10":"RO","iso_a2":"RO","iso_a2_eh":"RO","iso_a3":"ROU","iso_a3_eh":"ROU","iso_n3":"642","iso_n3_eh":"642","un_a3":"642","wb_a2":"RO","wb_a3":"ROM","woe_id":23424933,"woe_id_eh":23424933,"woe_note":"Exact WOE match as country","adm0_iso":"ROU","adm0_diff":null,"adm0_tlc":"ROU","adm0_a3_us":"ROU","adm0_a3_fr":"ROU","adm0_a3_ru":"ROU","adm0_a3_es":"ROU","adm0_a3_cn":"ROU","adm0_a3_tw":"ROU","adm0_a3_in":"ROU","adm0_a3_np":"ROU","adm0_a3_pk":"ROU","adm0_a3_de":"ROU","adm0_a3_gb":"ROU","adm0_a3_br":"ROU","adm0_a3_il":"ROU","adm0_a3_ps":"ROU","adm0_a3_sa":"ROU","adm0_a3_eg":"ROU","adm0_a3_ma":"ROU","adm0_a3_pt":"ROU","adm0_a3_ar":"ROU","adm0_a3_jp":"ROU","adm0_a3_ko":"ROU","adm0_a3_vn":"ROU","adm0_a3_tr":"ROU","adm0_a3_id":"ROU","adm0_a3_pl":"ROU","adm0_a3_gr":"ROU","adm0_a3_it":"ROU","adm0_a3_nl":"ROU","adm0_a3_se":"ROU","adm0_a3_bd":"ROU","adm0_a3_ua":"ROU","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":24.972624,"label_y":45.733237,"ne_id":1159321199,"wikidataid":"Q218","name_ar":"رومانيا","name_bn":"রোমানিয়া","name_de":"Rumänien","name_en":"Romania","name_es":"Rumania","name_fa":"رومانی","name_fr":"Roumanie","name_el":"Ρουμανία","name_he":"רומניה","name_hi":"रोमानिया","name_hu":"Románia","name_id":"Rumania","name_it":"Romania","name_ja":"ルーマニア","name_ko":"루마니아","name_nl":"Roemenië","name_pl":"Rumunia","name_pt":"Roménia","name_ru":"Румыния","name_sv":"Rumänien","name_tr":"Romanya","name_uk":"Румунія","name_ur":"رومانیہ","name_vi":"Romania","name_zh":"罗马尼亚","name_zht":"羅馬尼亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ROU.geojson"},"geometry":{"type":"Polygon","coordinates":[[[28.23355350109904,45.48828318946829],[28.67977949393938,45.304030870131704],[29.149724969201653,45.464925442072456],[29.603289015427436,45.293308010431126],[29.62654340995877,45.0353909368624],[29.141611769331835,44.820210272799045],[28.8378577003202,44.913873806328056],[28.558081495891997,43.70746165625813],[27.970107049275075,43.81246816667522],[27.242399529740908,44.175986029632405],[26.065158725699746,43.94349376075127],[25.569271681426926,43.68844472917472],[24.100679152124172,43.74105133724785],[23.332302280376325,43.897010809904714],[22.944832391051847,43.82378530534713],[22.65714969248299,44.23492300066128],[22.4740084164406,44.40922760678177],[22.705725538837356,44.57800283464702],[22.459022251075936,44.7025171982543],[22.14508792490281,44.47842234962059],[21.56202273935361,44.7689472519655],[21.48352623870221,45.18117015235788],[20.874312778413355,45.416375433934235],[20.762174920339987,45.734573065771485],[20.220192498462836,46.127468980486555],[21.02195234547125,46.3160879583519],[21.626514926853872,46.99423777931816],[22.099767693782837,47.6724392767167],[22.710531447040495,47.88219391538941],[23.142236362406805,48.09634105080695],[23.76095828623741,47.985598456405455],[24.40205610525038,47.98187775328043],[24.866317172960578,47.737525743188314],[25.20774336111299,47.89105642352747],[25.9459411964024,47.987148749374214],[26.19745039236693,48.22088125263035],[26.619336785597795,48.22072622333347],[26.924176059687568,48.123264472030996],[27.233872918412743,47.82677094175638],[27.551166212684848,47.40511709247083],[28.128030226359044,46.810476386088254],[28.160017937947714,46.37156260841722],[28.0544429867754,45.944586086605625],[28.23355350109904,45.48828318946829]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Hungary","sov_a3":"HUN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Hungary","adm0_a3":"HUN","geou_dif":0,"geounit":"Hungary","gu_a3":"HUN","su_dif":0,"subunit":"Hungary","su_a3":"HUN","brk_diff":0,"name":"Hungary","name_long":"Hungary","brk_a3":"HUN","brk_name":"Hungary","brk_group":null,"abbrev":"Hun.","postal":"HU","formal_en":"Republic of Hungary","formal_fr":null,"name_ciawf":"Hungary","note_adm0":null,"note_brk":null,"name_sort":"Hungary","name_alt":null,"mapcolor7":4,"mapcolor8":6,"mapcolor9":1,"mapcolor13":5,"pop_est":9769949,"pop_rank":13,"pop_year":2019,"gdp_md":163469,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"HU","iso_a2":"HU","iso_a2_eh":"HU","iso_a3":"HUN","iso_a3_eh":"HUN","iso_n3":"348","iso_n3_eh":"348","un_a3":"348","wb_a2":"HU","wb_a3":"HUN","woe_id":23424844,"woe_id_eh":23424844,"woe_note":"Exact WOE match as country","adm0_iso":"HUN","adm0_diff":null,"adm0_tlc":"HUN","adm0_a3_us":"HUN","adm0_a3_fr":"HUN","adm0_a3_ru":"HUN","adm0_a3_es":"HUN","adm0_a3_cn":"HUN","adm0_a3_tw":"HUN","adm0_a3_in":"HUN","adm0_a3_np":"HUN","adm0_a3_pk":"HUN","adm0_a3_de":"HUN","adm0_a3_gb":"HUN","adm0_a3_br":"HUN","adm0_a3_il":"HUN","adm0_a3_ps":"HUN","adm0_a3_sa":"HUN","adm0_a3_eg":"HUN","adm0_a3_ma":"HUN","adm0_a3_pt":"HUN","adm0_a3_ar":"HUN","adm0_a3_jp":"HUN","adm0_a3_ko":"HUN","adm0_a3_vn":"HUN","adm0_a3_tr":"HUN","adm0_a3_id":"HUN","adm0_a3_pl":"HUN","adm0_a3_gr":"HUN","adm0_a3_it":"HUN","adm0_a3_nl":"HUN","adm0_a3_se":"HUN","adm0_a3_bd":"HUN","adm0_a3_ua":"HUN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":19.447867,"label_y":47.086841,"ne_id":1159320841,"wikidataid":"Q28","name_ar":"المجر","name_bn":"হাঙ্গেরি","name_de":"Ungarn","name_en":"Hungary","name_es":"Hungría","name_fa":"مجارستان","name_fr":"Hongrie","name_el":"Ουγγαρία","name_he":"הונגריה","name_hi":"हंगरी","name_hu":"Magyarország","name_id":"Hongaria","name_it":"Ungheria","name_ja":"ハンガリー","name_ko":"헝가리","name_nl":"Hongarije","name_pl":"Węgry","name_pt":"Hungria","name_ru":"Венгрия","name_sv":"Ungern","name_tr":"Macaristan","name_uk":"Угорщина","name_ur":"ہنگری","name_vi":"Hungary","name_zh":"匈牙利","name_zht":"匈牙利","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"HUN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[22.085608351334855,48.42226430927179],[22.640819939878725,48.150239569687415],[22.710531447040495,47.88219391538941],[22.099767693782837,47.6724392767167],[21.626514926853872,46.99423777931816],[21.02195234547125,46.3160879583519],[20.220192498462836,46.127468980486555],[19.596044549241583,46.17172984474454],[18.82983808764996,45.90887767189193],[18.829824792873946,45.908872358025285],[18.45606245288286,45.75948110613615],[17.630066359129557,45.95176911069419],[16.8825150895953,46.38063182228444],[16.564808383864857,46.50375092221983],[16.370504998447416,46.841327216166505],[16.202298211337364,46.85238597267696],[16.534267612380376,47.49617096616912],[16.340584344150415,47.71290192320123],[16.90375410326726,47.71486562762833],[16.979666782304037,48.123497015976305],[17.48847293464982,47.867466132186216],[17.857132602620027,47.75842886005037],[18.696512892336926,47.880953681014404],[18.77702477384767,48.081768296900634],[19.17436486173989,48.11137889260387],[19.661363559658497,48.26661489520866],[19.769470656013112,48.202691148463614],[20.239054396249347,48.32756724709692],[20.473562045989866,48.562850043321816],[20.801293979584926,48.623854071642384],[21.872236362401736,48.31997081155002],[22.085608351334855,48.42226430927179]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Slovakia","sov_a3":"SVK","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Slovakia","adm0_a3":"SVK","geou_dif":0,"geounit":"Slovakia","gu_a3":"SVK","su_dif":0,"subunit":"Slovakia","su_a3":"SVK","brk_diff":0,"name":"Slovakia","name_long":"Slovakia","brk_a3":"SVK","brk_name":"Slovakia","brk_group":null,"abbrev":"Svk.","postal":"SK","formal_en":"Slovak Republic","formal_fr":null,"name_ciawf":"Slovakia","note_adm0":null,"note_brk":null,"name_sort":"Slovak Republic","name_alt":null,"mapcolor7":2,"mapcolor8":4,"mapcolor9":4,"mapcolor13":9,"pop_est":5454073,"pop_rank":13,"pop_year":2019,"gdp_md":105079,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"LO","iso_a2":"SK","iso_a2_eh":"SK","iso_a3":"SVK","iso_a3_eh":"SVK","iso_n3":"703","iso_n3_eh":"703","un_a3":"703","wb_a2":"SK","wb_a3":"SVK","woe_id":23424877,"woe_id_eh":23424877,"woe_note":"Exact WOE match as country","adm0_iso":"SVK","adm0_diff":null,"adm0_tlc":"SVK","adm0_a3_us":"SVK","adm0_a3_fr":"SVK","adm0_a3_ru":"SVK","adm0_a3_es":"SVK","adm0_a3_cn":"SVK","adm0_a3_tw":"SVK","adm0_a3_in":"SVK","adm0_a3_np":"SVK","adm0_a3_pk":"SVK","adm0_a3_de":"SVK","adm0_a3_gb":"SVK","adm0_a3_br":"SVK","adm0_a3_il":"SVK","adm0_a3_ps":"SVK","adm0_a3_sa":"SVK","adm0_a3_eg":"SVK","adm0_a3_ma":"SVK","adm0_a3_pt":"SVK","adm0_a3_ar":"SVK","adm0_a3_jp":"SVK","adm0_a3_ko":"SVK","adm0_a3_vn":"SVK","adm0_a3_tr":"SVK","adm0_a3_id":"SVK","adm0_a3_pl":"SVK","adm0_a3_gr":"SVK","adm0_a3_it":"SVK","adm0_a3_nl":"SVK","adm0_a3_se":"SVK","adm0_a3_bd":"SVK","adm0_a3_ua":"SVK","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":8,"long_len":8,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":19.049868,"label_y":48.734044,"ne_id":1159321283,"wikidataid":"Q214","name_ar":"سلوفاكيا","name_bn":"স্লোভাকিয়া","name_de":"Slowakei","name_en":"Slovakia","name_es":"Eslovaquia","name_fa":"اسلواکی","name_fr":"Slovaquie","name_el":"Σλοβακία","name_he":"סלובקיה","name_hi":"स्लोवाकिया","name_hu":"Szlovákia","name_id":"Slowakia","name_it":"Slovacchia","name_ja":"スロバキア","name_ko":"슬로바키아","name_nl":"Slowakije","name_pl":"Słowacja","name_pt":"Eslováquia","name_ru":"Словакия","name_sv":"Slovakien","name_tr":"Slovakya","name_uk":"Словаччина","name_ur":"سلوواکیہ","name_vi":"Slovakia","name_zh":"斯洛伐克","name_zht":"斯洛伐克","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SVK.geojson"},"geometry":{"type":"Polygon","coordinates":[[[22.558137648211755,49.085738023467144],[22.28084191253356,48.82539215758067],[22.085608351334855,48.42226430927179],[21.872236362401736,48.31997081155002],[20.801293979584926,48.623854071642384],[20.473562045989866,48.562850043321816],[20.239054396249347,48.32756724709692],[19.769470656013112,48.202691148463614],[19.661363559658497,48.26661489520866],[19.17436486173989,48.11137889260387],[18.77702477384767,48.081768296900634],[18.696512892336926,47.880953681014404],[17.857132602620027,47.75842886005037],[17.48847293464982,47.867466132186216],[16.979666782304037,48.123497015976305],[16.879982944413,48.47001333270947],[16.960288120194576,48.5969823268506],[17.101984897538898,48.816968899117114],[17.545006951577108,48.80001902932537],[17.88648481616181,48.90347524677371],[17.913511590250465,48.996492824899086],[18.104972771891852,49.04398346617531],[18.170498488037964,49.271514797556435],[18.399993523846177,49.31500051533004],[18.554971144289482,49.495015367218784],[18.853144158613617,49.49622976337764],[18.90957482267632,49.435845852244576],[19.320712517990472,49.571574001659194],[19.825022820726872,49.21712535256923],[20.415839471119853,49.43145335549977],[20.887955356538413,49.32877228453583],[21.607808058364213,49.47010732685409],[22.558137648211755,49.085738023467144]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Poland","sov_a3":"POL","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Poland","adm0_a3":"POL","geou_dif":0,"geounit":"Poland","gu_a3":"POL","su_dif":0,"subunit":"Poland","su_a3":"POL","brk_diff":0,"name":"Poland","name_long":"Poland","brk_a3":"POL","brk_name":"Poland","brk_group":null,"abbrev":"Pol.","postal":"PL","formal_en":"Republic of Poland","formal_fr":null,"name_ciawf":"Poland","note_adm0":null,"note_brk":null,"name_sort":"Poland","name_alt":null,"mapcolor7":3,"mapcolor8":7,"mapcolor9":1,"mapcolor13":2,"pop_est":37970874,"pop_rank":15,"pop_year":2019,"gdp_md":595858,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"PL","iso_a2":"PL","iso_a2_eh":"PL","iso_a3":"POL","iso_a3_eh":"POL","iso_n3":"616","iso_n3_eh":"616","un_a3":"616","wb_a2":"PL","wb_a3":"POL","woe_id":23424923,"woe_id_eh":23424923,"woe_note":"Exact WOE match as country","adm0_iso":"POL","adm0_diff":null,"adm0_tlc":"POL","adm0_a3_us":"POL","adm0_a3_fr":"POL","adm0_a3_ru":"POL","adm0_a3_es":"POL","adm0_a3_cn":"POL","adm0_a3_tw":"POL","adm0_a3_in":"POL","adm0_a3_np":"POL","adm0_a3_pk":"POL","adm0_a3_de":"POL","adm0_a3_gb":"POL","adm0_a3_br":"POL","adm0_a3_il":"POL","adm0_a3_ps":"POL","adm0_a3_sa":"POL","adm0_a3_eg":"POL","adm0_a3_ma":"POL","adm0_a3_pt":"POL","adm0_a3_ar":"POL","adm0_a3_jp":"POL","adm0_a3_ko":"POL","adm0_a3_vn":"POL","adm0_a3_tr":"POL","adm0_a3_id":"POL","adm0_a3_pl":"POL","adm0_a3_gr":"POL","adm0_a3_it":"POL","adm0_a3_nl":"POL","adm0_a3_se":"POL","adm0_a3_bd":"POL","adm0_a3_ua":"POL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.5,"max_label":7,"label_x":19.490468,"label_y":51.990316,"ne_id":1159321179,"wikidataid":"Q36","name_ar":"بولندا","name_bn":"পোল্যান্ড","name_de":"Polen","name_en":"Poland","name_es":"Polonia","name_fa":"لهستان","name_fr":"Pologne","name_el":"Πολωνία","name_he":"פולין","name_hi":"पोलैंड","name_hu":"Lengyelország","name_id":"Polandia","name_it":"Polonia","name_ja":"ポーランド","name_ko":"폴란드","name_nl":"Polen","name_pl":"Polska","name_pt":"Polónia","name_ru":"Польша","name_sv":"Polen","name_tr":"Polonya","name_uk":"Польща","name_ur":"پولینڈ","name_vi":"Ba Lan","name_zh":"波兰","name_zht":"波蘭","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"POL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[23.48412763844985,53.91249766704114],[23.527535841575002,53.470121568406555],[23.80493493011778,53.089731350306074],[23.79919884613338,52.69109935160657],[23.199493849386187,52.48697744405367],[23.508002150168693,52.02364655212473],[23.52707075368437,51.57845408793031],[24.029985792748903,50.70540660257518],[23.92275719574326,50.42488108987874],[23.426508416444392,50.30850576435745],[22.518450148211603,49.47677358661974],[22.776418898212626,49.02739533140962],[22.558137648211755,49.085738023467144],[21.607808058364213,49.47010732685409],[20.887955356538413,49.32877228453583],[20.415839471119853,49.43145335549977],[19.825022820726872,49.21712535256923],[19.320712517990472,49.571574001659194],[18.90957482267632,49.435845852244576],[18.853144158613617,49.49622976337764],[18.392913852622172,49.98862864847075],[17.64944502123899,50.049038397819956],[17.55456709155112,50.36214590107642],[16.86876915860566,50.47397370055603],[16.719475945714436,50.21574656839354],[16.176253289462267,50.42260732685791],[16.23862674323857,50.69773265237984],[15.490972120839729,50.78472992614321],[15.01699588385867,51.10667409932158],[14.607098422919535,51.74518809671997],[14.685026482815687,52.0899474147552],[14.437599725002201,52.62485016540839],[14.074521111719434,52.98126251892535],[14.353315463934138,53.24817129171297],[14.119686313542559,53.75702912049104],[14.802900424873458,54.05070628520575],[16.36347700365573,54.513158677785725],[17.622831658608675,54.85153595643291],[18.62085859546164,54.68260569927078],[18.696254510175464,54.43871877706929],[19.660640089606403,54.42608388937393],[20.892244500418627,54.31252492941253],[22.731098667092652,54.327536932993326],[23.24398725758951,54.22056671814914],[23.48412763844985,53.91249766704114]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Ireland","sov_a3":"IRL","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Ireland","adm0_a3":"IRL","geou_dif":0,"geounit":"Ireland","gu_a3":"IRL","su_dif":0,"subunit":"Ireland","su_a3":"IRL","brk_diff":0,"name":"Ireland","name_long":"Ireland","brk_a3":"IRL","brk_name":"Ireland","brk_group":null,"abbrev":"Ire.","postal":"IRL","formal_en":"Ireland","formal_fr":null,"name_ciawf":"Ireland","note_adm0":null,"note_brk":null,"name_sort":"Ireland","name_alt":null,"mapcolor7":2,"mapcolor8":3,"mapcolor9":2,"mapcolor13":2,"pop_est":4941444,"pop_rank":12,"pop_year":2019,"gdp_md":388698,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"EI","iso_a2":"IE","iso_a2_eh":"IE","iso_a3":"IRL","iso_a3_eh":"IRL","iso_n3":"372","iso_n3_eh":"372","un_a3":"372","wb_a2":"IE","wb_a3":"IRL","woe_id":23424803,"woe_id_eh":23424803,"woe_note":"Exact WOE match as country","adm0_iso":"IRL","adm0_diff":null,"adm0_tlc":"IRL","adm0_a3_us":"IRL","adm0_a3_fr":"IRL","adm0_a3_ru":"IRL","adm0_a3_es":"IRL","adm0_a3_cn":"IRL","adm0_a3_tw":"IRL","adm0_a3_in":"IRL","adm0_a3_np":"IRL","adm0_a3_pk":"IRL","adm0_a3_de":"IRL","adm0_a3_gb":"IRL","adm0_a3_br":"IRL","adm0_a3_il":"IRL","adm0_a3_ps":"IRL","adm0_a3_sa":"IRL","adm0_a3_eg":"IRL","adm0_a3_ma":"IRL","adm0_a3_pt":"IRL","adm0_a3_ar":"IRL","adm0_a3_jp":"IRL","adm0_a3_ko":"IRL","adm0_a3_vn":"IRL","adm0_a3_tr":"IRL","adm0_a3_id":"IRL","adm0_a3_pl":"IRL","adm0_a3_gr":"IRL","adm0_a3_it":"IRL","adm0_a3_nl":"IRL","adm0_a3_se":"IRL","adm0_a3_bd":"IRL","adm0_a3_ua":"IRL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":-7.798588,"label_y":53.078726,"ne_id":1159320877,"wikidataid":"Q27","name_ar":"جمهورية أيرلندا","name_bn":"প্রজাতন্ত্রী আয়ারল্যান্ড","name_de":"Irland","name_en":"Ireland","name_es":"Irlanda","name_fa":"ایرلند","name_fr":"Irlande","name_el":"Δημοκρατία της Ιρλανδίας","name_he":"אירלנד","name_hi":"आयरलैण्ड","name_hu":"Írország","name_id":"Republik Irlandia","name_it":"Irlanda","name_ja":"アイルランド","name_ko":"아일랜드","name_nl":"Ierland","name_pl":"Irlandia","name_pt":"República da Irlanda","name_ru":"Ирландия","name_sv":"Irland","name_tr":"İrlanda","name_uk":"Ірландія","name_ur":"جمہوریہ آئرلینڈ","name_vi":"Cộng hòa Ireland","name_zh":"爱尔兰","name_zht":"愛爾蘭","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"IRL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-6.197884894220991,53.867565009163364],[-6.032985398777611,53.15316417094435],[-6.788856573910849,52.260117906292336],[-8.56161658368356,51.669301255899356],[-9.977085740590269,51.82045482035308],[-9.166282517930782,52.86462881124268],[-9.688524542672454,53.8813626165853],[-8.327987433292009,54.66451894796863],[-7.572167934591064,55.13162221945487],[-7.366030646178785,54.59584096945272],[-7.572167934591064,54.059956366586],[-6.953730231138067,54.073702297575636],[-6.197884894220991,53.867565009163364]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"United Kingdom","sov_a3":"GB1","adm0_dif":1,"level":2,"type":"Country","tlc":"1","admin":"United Kingdom","adm0_a3":"GBR","geou_dif":0,"geounit":"United Kingdom","gu_a3":"GBR","su_dif":0,"subunit":"United Kingdom","su_a3":"GBR","brk_diff":0,"name":"United Kingdom","name_long":"United Kingdom","brk_a3":"GBR","brk_name":"United Kingdom","brk_group":null,"abbrev":"U.K.","postal":"GB","formal_en":"United Kingdom of Great Britain and Northern Ireland","formal_fr":null,"name_ciawf":"United Kingdom","note_adm0":null,"note_brk":null,"name_sort":"United Kingdom","name_alt":null,"mapcolor7":6,"mapcolor8":6,"mapcolor9":6,"mapcolor13":3,"pop_est":66834405,"pop_rank":16,"pop_year":2019,"gdp_md":2829108,"gdp_year":2019,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","fips_10":"UK","iso_a2":"GB","iso_a2_eh":"GB","iso_a3":"GBR","iso_a3_eh":"GBR","iso_n3":"826","iso_n3_eh":"826","un_a3":"826","wb_a2":"GB","wb_a3":"GBR","woe_id":-90,"woe_id_eh":23424975,"woe_note":"Eh ID includes Channel Islands and Isle of Man. UK constituent countries of England (24554868), Wales (12578049), Scotland (12578048), and Northern Ireland (20070563).","adm0_iso":"GBR","adm0_diff":null,"adm0_tlc":"GBR","adm0_a3_us":"GBR","adm0_a3_fr":"GBR","adm0_a3_ru":"GBR","adm0_a3_es":"GBR","adm0_a3_cn":"GBR","adm0_a3_tw":"GBR","adm0_a3_in":"GBR","adm0_a3_np":"GBR","adm0_a3_pk":"GBR","adm0_a3_de":"GBR","adm0_a3_gb":"GBR","adm0_a3_br":"GBR","adm0_a3_il":"GBR","adm0_a3_ps":"GBR","adm0_a3_sa":"GBR","adm0_a3_eg":"GBR","adm0_a3_ma":"GBR","adm0_a3_pt":"GBR","adm0_a3_ar":"GBR","adm0_a3_jp":"GBR","adm0_a3_ko":"GBR","adm0_a3_vn":"GBR","adm0_a3_tr":"GBR","adm0_a3_id":"GBR","adm0_a3_pl":"GBR","adm0_a3_gr":"GBR","adm0_a3_it":"GBR","adm0_a3_nl":"GBR","adm0_a3_se":"GBR","adm0_a3_bd":"GBR","adm0_a3_ua":"GBR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":14,"long_len":14,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":6.7,"label_x":-2.116346,"label_y":54.402739,"ne_id":1159320713,"wikidataid":"Q145","name_ar":"المملكة المتحدة","name_bn":"যুক্তরাজ্য","name_de":"Vereinigtes Königreich","name_en":"United Kingdom","name_es":"Reino Unido","name_fa":"بریتانیا","name_fr":"Royaume-Uni","name_el":"Ηνωμένο Βασίλειο","name_he":"הממלכה המאוחדת","name_hi":"यूनाइटेड किंगडम","name_hu":"Egyesült Királyság","name_id":"Britania Raya","name_it":"Regno Unito","name_ja":"イギリス","name_ko":"영국","name_nl":"Verenigd Koninkrijk","name_pl":"Wielka Brytania","name_pt":"Reino Unido","name_ru":"Великобритания","name_sv":"Storbritannien","name_tr":"Birleşik Krallık","name_uk":"Велика Британія","name_ur":"مملکت متحدہ","name_vi":"Vương quốc Liên hiệp Anh và Bắc Ireland","name_zh":"英国","name_zht":"英國","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"GBR.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-6.197884894220991,53.867565009163364],[-6.953730231138067,54.073702297575636],[-7.572167934591064,54.059956366586],[-7.366030646178785,54.59584096945272],[-7.572167934591064,55.13162221945487],[-6.733847011736145,55.17286001242378],[-5.661948614921968,54.55460317648381],[-6.197884894220991,53.867565009163364]]],[[[-3.093830673788716,53.404547400669685],[-3.092079637047107,53.40444082296358],[-2.945008510744344,53.98499970154671],[-3.614700825433033,54.600936773292574],[-3.630005458989331,54.615012925833014],[-4.844169073903061,54.790971177786844],[-5.082526617849283,55.06160065369937],[-4.7191121077567,55.50847260194348],[-5.047980922862109,55.78398550070756],[-5.586397670911197,55.31114614523682],[-5.644998745130238,56.27501496034483],[-6.149980841486411,56.785009670633485],[-5.786824713555291,57.81884837506465],[-5.009998745127632,58.63001333275008],[-4.211494513353557,58.55084503847911],[-3.005004848635281,58.63500010846633],[-4.073828497728073,57.55302480735526],[-3.055001796877718,57.69001902936094],[-1.959280564776918,57.68479970969952],[-2.219988165689358,56.87001740175356],[-3.119003058271176,55.973793036515474],[-2.085009324543023,55.9099984808513],[-2.005675679673857,55.804902850350175],[-1.11499101399221,54.624986477265395],[-0.4304849918542,54.46437612570219],[0.184981316742039,53.32501414653103],[0.469976840831805,52.929999498092],[1.681530795914682,52.739520168664],[1.559987827164321,52.09999848083601],[1.050561557630942,51.806760565795685],[1.449865349950244,51.28942780212191],[0.550333693045502,50.765738837275876],[-0.787517462558696,50.77498891865622],[-2.489997524414434,50.50001862243124],[-2.956273972984093,50.696879991247044],[-3.617448085942385,50.22835561787275],[-4.542507900399244,50.341837063185665],[-5.245023159191135,49.95999990498109],[-5.776566941745273,50.15967763935686],[-4.309989793301895,51.21000112568919],[-3.414850633142123,51.42600861266925],[-3.422719467108379,51.42684816740609],[-4.98436723471093,51.593466091511004],[-5.267295701508942,51.991400458374585],[-4.222346564134909,52.301355699261364],[-4.77001339356417,52.840004991255626],[-4.579999152026971,53.49500377055517],[-3.093830673788716,53.404547400669685]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Greece","sov_a3":"GRC","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Greece","adm0_a3":"GRC","geou_dif":0,"geounit":"Greece","gu_a3":"GRC","su_dif":0,"subunit":"Greece","su_a3":"GRC","brk_diff":0,"name":"Greece","name_long":"Greece","brk_a3":"GRC","brk_name":"Greece","brk_group":null,"abbrev":"Greece","postal":"GR","formal_en":"Hellenic Republic","formal_fr":null,"name_ciawf":"Greece","note_adm0":null,"note_brk":null,"name_sort":"Greece","name_alt":null,"mapcolor7":2,"mapcolor8":2,"mapcolor9":2,"mapcolor13":9,"pop_est":10716322,"pop_rank":14,"pop_year":2019,"gdp_md":209852,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"GR","iso_a2":"GR","iso_a2_eh":"GR","iso_a3":"GRC","iso_a3_eh":"GRC","iso_n3":"300","iso_n3_eh":"300","un_a3":"300","wb_a2":"GR","wb_a3":"GRC","woe_id":23424833,"woe_id_eh":23424833,"woe_note":"Exact WOE match as country","adm0_iso":"GRC","adm0_diff":null,"adm0_tlc":"GRC","adm0_a3_us":"GRC","adm0_a3_fr":"GRC","adm0_a3_ru":"GRC","adm0_a3_es":"GRC","adm0_a3_cn":"GRC","adm0_a3_tw":"GRC","adm0_a3_in":"GRC","adm0_a3_np":"GRC","adm0_a3_pk":"GRC","adm0_a3_de":"GRC","adm0_a3_gb":"GRC","adm0_a3_br":"GRC","adm0_a3_il":"GRC","adm0_a3_ps":"GRC","adm0_a3_sa":"GRC","adm0_a3_eg":"GRC","adm0_a3_ma":"GRC","adm0_a3_pt":"GRC","adm0_a3_ar":"GRC","adm0_a3_jp":"GRC","adm0_a3_ko":"GRC","adm0_a3_vn":"GRC","adm0_a3_tr":"GRC","adm0_a3_id":"GRC","adm0_a3_pl":"GRC","adm0_a3_gr":"GRC","adm0_a3_it":"GRC","adm0_a3_nl":"GRC","adm0_a3_se":"GRC","adm0_a3_bd":"GRC","adm0_a3_ua":"GRC","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.7,"max_label":8,"label_x":21.72568,"label_y":39.492763,"ne_id":1159320811,"wikidataid":"Q41","name_ar":"اليونان","name_bn":"গ্রিস","name_de":"Griechenland","name_en":"Greece","name_es":"Grecia","name_fa":"یونان","name_fr":"Grèce","name_el":"Ελλάδα","name_he":"יוון","name_hi":"यूनान","name_hu":"Görögország","name_id":"Yunani","name_it":"Grecia","name_ja":"ギリシャ","name_ko":"그리스","name_nl":"Griekenland","name_pl":"Grecja","name_pt":"Grécia","name_ru":"Греция","name_sv":"Grekland","name_tr":"Yunanistan","name_uk":"Греція","name_ur":"یونان","name_vi":"Hy Lạp","name_zh":"希腊","name_zht":"希臘","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"GRC.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[26.290002882601698,35.29999034274793],[26.16499759288766,35.00499542900977],[24.724982130642303,34.91998769788964],[24.735007358506916,35.08499054619759],[23.51497846852808,35.27999156345098],[23.699980096133004,35.70500438083549],[24.246665073348705,35.368022365860185],[25.02501549652891,35.42499563246197],[25.769207797964185,35.35401805270908],[25.745023227651586,35.1799976669662],[26.290002882601698,35.29999034274793]]],[[[22.952377150166452,41.33799388281115],[23.692073601992348,41.309080918943856],[24.492644891057978,41.58389618587205],[25.197201368925448,41.23448598893053],[26.106138136507127,41.32889883072784],[26.1170418637208,41.82690460872456],[26.60419559093623,41.562114569661105],[26.294602085075667,40.93626129817413],[26.05694217296534,40.82412344010076],[25.44767703624416,40.85254547786144],[24.92584842296094,40.947061672523205],[23.71481123220076,40.687129218095095],[24.40799889496401,40.12499298762407],[23.899967889102584,39.96200552017552],[23.342999301860743,39.96099782974579],[22.813987664488934,40.476005153966526],[22.626298862404724,40.25656118423916],[22.84974775563478,39.659310818025745],[23.35002729665257,39.190011298167235],[22.973099399515547,38.97090322524963],[23.530016310324925,38.51000112563844],[24.025024855248887,38.21999298761642],[24.040011020613576,37.655014553369426],[23.115002882589124,37.920011298162194],[23.409971958111043,37.40999074965737],[22.77497195810861,37.30501007745653],[23.15422529469862,36.422505804992056],[22.490028110451078,36.4100001083774],[21.67002648284364,36.8449864771942],[21.29501061370155,37.64498932550464],[21.120034213961333,38.31032339126273],[20.730032179454554,38.769985256498785],[20.217712029712857,39.34023468683961],[20.15001590341052,39.62499766698397],[20.615000441172754,40.11000682225938],[20.674996779063633,40.43499990494303],[20.999989861747224,40.58000397395398],[21.0200403174764,40.84272695572588],[21.674160597426976,40.931274522457954],[22.05537763844427,41.14986583105269],[22.597308383889015,41.130487168943205],[22.76177,41.3048],[22.952377150166452,41.33799388281115]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Austria","sov_a3":"AUT","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Austria","adm0_a3":"AUT","geou_dif":0,"geounit":"Austria","gu_a3":"AUT","su_dif":0,"subunit":"Austria","su_a3":"AUT","brk_diff":0,"name":"Austria","name_long":"Austria","brk_a3":"AUT","brk_name":"Austria","brk_group":null,"abbrev":"Aust.","postal":"A","formal_en":"Republic of Austria","formal_fr":null,"name_ciawf":"Austria","note_adm0":null,"note_brk":null,"name_sort":"Austria","name_alt":null,"mapcolor7":3,"mapcolor8":1,"mapcolor9":3,"mapcolor13":4,"pop_est":8877067,"pop_rank":13,"pop_year":2019,"gdp_md":445075,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"AU","iso_a2":"AT","iso_a2_eh":"AT","iso_a3":"AUT","iso_a3_eh":"AUT","iso_n3":"040","iso_n3_eh":"040","un_a3":"040","wb_a2":"AT","wb_a3":"AUT","woe_id":23424750,"woe_id_eh":23424750,"woe_note":"Exact WOE match as country","adm0_iso":"AUT","adm0_diff":null,"adm0_tlc":"AUT","adm0_a3_us":"AUT","adm0_a3_fr":"AUT","adm0_a3_ru":"AUT","adm0_a3_es":"AUT","adm0_a3_cn":"AUT","adm0_a3_tw":"AUT","adm0_a3_in":"AUT","adm0_a3_np":"AUT","adm0_a3_pk":"AUT","adm0_a3_de":"AUT","adm0_a3_gb":"AUT","adm0_a3_br":"AUT","adm0_a3_il":"AUT","adm0_a3_ps":"AUT","adm0_a3_sa":"AUT","adm0_a3_eg":"AUT","adm0_a3_ma":"AUT","adm0_a3_pt":"AUT","adm0_a3_ar":"AUT","adm0_a3_jp":"AUT","adm0_a3_ko":"AUT","adm0_a3_vn":"AUT","adm0_a3_tr":"AUT","adm0_a3_id":"AUT","adm0_a3_pl":"AUT","adm0_a3_gr":"AUT","adm0_a3_it":"AUT","adm0_a3_nl":"AUT","adm0_a3_se":"AUT","adm0_a3_bd":"AUT","adm0_a3_ua":"AUT","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":14.130515,"label_y":47.518859,"ne_id":1159320379,"wikidataid":"Q40","name_ar":"النمسا","name_bn":"অস্ট্রিয়া","name_de":"Österreich","name_en":"Austria","name_es":"Austria","name_fa":"اتریش","name_fr":"Autriche","name_el":"Αυστρία","name_he":"אוסטריה","name_hi":"ऑस्ट्रिया","name_hu":"Ausztria","name_id":"Austria","name_it":"Austria","name_ja":"オーストリア","name_ko":"오스트리아","name_nl":"Oostenrijk","name_pl":"Austria","name_pt":"Áustria","name_ru":"Австрия","name_sv":"Österrike","name_tr":"Avusturya","name_uk":"Австрія","name_ur":"آسٹریا","name_vi":"Áo","name_zh":"奥地利","name_zht":"奧地利","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"AUT.geojson"},"geometry":{"type":"Polygon","coordinates":[[[16.979666782304037,48.123497015976305],[16.90375410326726,47.71486562762833],[16.340584344150415,47.71290192320123],[16.534267612380376,47.49617096616912],[16.202298211337364,46.85238597267696],[16.011663852612656,46.6836107448117],[15.137091912504985,46.65870270444703],[14.63247155117483,46.43181732846955],[13.806475457421527,46.509306138691215],[12.376485223040817,46.76755910906985],[12.153088006243054,47.11539317482645],[11.16482791509327,46.94157949481273],[11.048555942436536,46.75135854754634],[10.44270145024663,46.89354625099743],[9.932448357796659,46.92072805438296],[9.479969516649021,47.102809963563374],[9.632931756232978,47.34760122332999],[9.59422610844635,47.52505809182027],[9.89606814946319,47.580196845075704],[10.402083774465211,47.30248769793916],[10.544504021861599,47.5663992376538],[11.426414015354737,47.523766181012974],[12.141357456112788,47.703083401065776],[12.620759718484493,47.67238760028441],[12.932626987365948,47.467645575544],[13.02585127122049,47.63758352313583],[12.884102817443875,48.28914581968786],[13.243357374737,48.416114813829054],[13.595945672264437,48.87717194273715],[14.338897739324722,48.55530528420721],[14.901447381254057,48.964401760445824],[15.253415561593982,49.03907420510758],[16.02964725105022,48.73389903420793],[16.499282667718774,48.78580801044511],[16.960288120194576,48.5969823268506],[16.879982944413,48.47001333270947],[16.979666782304037,48.123497015976305]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Italy","sov_a3":"ITA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Italy","adm0_a3":"ITA","geou_dif":0,"geounit":"Italy","gu_a3":"ITA","su_dif":0,"subunit":"Italy","su_a3":"ITA","brk_diff":0,"name":"Italy","name_long":"Italy","brk_a3":"ITA","brk_name":"Italy","brk_group":null,"abbrev":"Italy","postal":"I","formal_en":"Italian Republic","formal_fr":null,"name_ciawf":"Italy","note_adm0":null,"note_brk":null,"name_sort":"Italy","name_alt":null,"mapcolor7":6,"mapcolor8":7,"mapcolor9":8,"mapcolor13":7,"pop_est":60297396,"pop_rank":16,"pop_year":2019,"gdp_md":2003576,"gdp_year":2019,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","fips_10":"IT","iso_a2":"IT","iso_a2_eh":"IT","iso_a3":"ITA","iso_a3_eh":"ITA","iso_n3":"380","iso_n3_eh":"380","un_a3":"380","wb_a2":"IT","wb_a3":"ITA","woe_id":23424853,"woe_id_eh":23424853,"woe_note":"Exact WOE match as country","adm0_iso":"ITA","adm0_diff":null,"adm0_tlc":"ITA","adm0_a3_us":"ITA","adm0_a3_fr":"ITA","adm0_a3_ru":"ITA","adm0_a3_es":"ITA","adm0_a3_cn":"ITA","adm0_a3_tw":"ITA","adm0_a3_in":"ITA","adm0_a3_np":"ITA","adm0_a3_pk":"ITA","adm0_a3_de":"ITA","adm0_a3_gb":"ITA","adm0_a3_br":"ITA","adm0_a3_il":"ITA","adm0_a3_ps":"ITA","adm0_a3_sa":"ITA","adm0_a3_eg":"ITA","adm0_a3_ma":"ITA","adm0_a3_pt":"ITA","adm0_a3_ar":"ITA","adm0_a3_jp":"ITA","adm0_a3_ko":"ITA","adm0_a3_vn":"ITA","adm0_a3_tr":"ITA","adm0_a3_id":"ITA","adm0_a3_pl":"ITA","adm0_a3_gr":"ITA","adm0_a3_it":"ITA","adm0_a3_nl":"ITA","adm0_a3_se":"ITA","adm0_a3_bd":"ITA","adm0_a3_ua":"ITA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":5,"long_len":5,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2,"max_label":7,"label_x":11.076907,"label_y":44.732482,"ne_id":1159320919,"wikidataid":"Q38","name_ar":"إيطاليا","name_bn":"ইতালি","name_de":"Italien","name_en":"Italy","name_es":"Italia","name_fa":"ایتالیا","name_fr":"Italie","name_el":"Ιταλία","name_he":"איטליה","name_hi":"इटली","name_hu":"Olaszország","name_id":"Italia","name_it":"Italia","name_ja":"イタリア","name_ko":"이탈리아","name_nl":"Italië","name_pl":"Włochy","name_pt":"Itália","name_ru":"Италия","name_sv":"Italien","name_tr":"İtalya","name_uk":"Італія","name_ur":"اطالیہ","name_vi":"Ý","name_zh":"意大利","name_zht":"義大利","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ITA.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[10.44270145024663,46.89354625099743],[11.048555942436536,46.75135854754634],[11.16482791509327,46.94157949481273],[12.153088006243054,47.11539317482645],[12.376485223040817,46.76755910906985],[13.806475457421527,46.509306138691215],[13.698109978905478,46.01677806251735],[13.937630242578308,45.59101593686462],[13.141606479554296,45.73669179949542],[12.32858117030625,45.381778062514826],[12.383874952858548,44.885374253919096],[12.261453484759102,44.600482082693986],[12.589237094786455,44.09136587175446],[13.526905958722494,43.587727362637864],[14.029820997787029,42.761007798832466],[15.142569614327925,41.95513967545685],[15.926191033601896,41.961315009115715],[16.169897088290384,41.74029490820339],[15.889345737377797,41.541082261718216],[16.785001661860548,41.17960561783656],[17.51916873543118,40.87714345963222],[18.37668745288252,40.35562490494263],[18.48024702319543,40.16886627863981],[18.293385044028042,39.810774441073264],[17.738380161213314,40.277671006830346],[16.869595981522338,40.44223460546381],[16.448743116937322,39.79540070246644],[17.17148969897147,39.42469981542068],[17.052840610429314,38.90287120213735],[16.635088331781816,38.843572496082416],[16.100960727613,37.9858987493342],[15.684086948314473,37.908849188787016],[15.687962680736348,38.21459280044188],[15.89198123542468,38.75094249119924],[16.109332309644287,38.9645470240777],[15.718813510814613,39.54407237401492],[15.413612501698793,40.048356838535156],[14.99849572109818,40.17294871679087],[14.703268263414714,40.604550279292596],[14.060671827865264,40.7863479680954],[13.627985060285397,41.1882872584616],[12.888081902730365,41.253089504555604],[12.106682570044939,41.70453481705741],[11.191906365614216,42.3554253199897],[10.51194786951774,42.93146251074721],[10.200028924203991,43.9200068222746],[9.702488234097842,44.03627879493132],[8.88894616052687,44.36633616797951],[8.428560825238577,44.23122813575242],[7.850766635783144,43.76714793555524],[7.435184767291872,43.69384491634922],[7.549596388386107,44.12790110938481],[7.007562290076635,44.25476675066136],[6.749955275101655,45.02851797136758],[7.096652459347837,45.33309886329589],[6.802355177445605,45.70857982032864],[6.843592970414505,45.99114655210061],[7.273850945676656,45.776947740250776],[7.755992058959833,45.82449005795931],[8.31662967289438,46.16364248309086],[8.489952426801324,46.005150865251686],[8.966305779667806,46.03693187111119],[9.182881707403055,46.44021474871698],[9.922836541390382,46.31489940040919],[10.363378126678612,46.48357127540986],[10.44270145024663,46.89354625099743]]],[[[14.761249220446189,38.14387360285046],[15.520376010813806,38.23115509699143],[15.160242954171736,37.44404551853776],[15.309897902089006,37.13421946873183],[15.099988234119422,36.6199872909954],[14.335228712631988,36.996630967754726],[13.826732618879959,37.10453135838016],[12.431003859108756,37.61294993748375],[12.570943637755136,38.12638113051966],[13.741156447004613,38.03496552179533],[14.761249220446189,38.14387360285046]]],[[[8.709990675500109,40.899984442705225],[9.210011834356266,41.209991360024176],[9.80997521326492,40.50000885676613],[9.669518670295616,39.17737641047178],[9.214817742559433,39.24047333430015],[8.806935662479674,38.906617743478506],[8.428302443077115,39.17184703221655],[8.388253208050912,40.37831085871876],[8.159998406617689,40.95000722916376],[8.709990675500109,40.899984442705225]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Switzerland","sov_a3":"CHE","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Switzerland","adm0_a3":"CHE","geou_dif":0,"geounit":"Switzerland","gu_a3":"CHE","su_dif":0,"subunit":"Switzerland","su_a3":"CHE","brk_diff":0,"name":"Switzerland","name_long":"Switzerland","brk_a3":"CHE","brk_name":"Switzerland","brk_group":null,"abbrev":"Switz.","postal":"CH","formal_en":"Swiss Confederation","formal_fr":null,"name_ciawf":"Switzerland","note_adm0":null,"note_brk":null,"name_sort":"Switzerland","name_alt":null,"mapcolor7":5,"mapcolor8":2,"mapcolor9":7,"mapcolor13":3,"pop_est":8574832,"pop_rank":13,"pop_year":2019,"gdp_md":703082,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"SZ","iso_a2":"CH","iso_a2_eh":"CH","iso_a3":"CHE","iso_a3_eh":"CHE","iso_n3":"756","iso_n3_eh":"756","un_a3":"756","wb_a2":"CH","wb_a3":"CHE","woe_id":23424957,"woe_id_eh":23424957,"woe_note":"Exact WOE match as country","adm0_iso":"CHE","adm0_diff":null,"adm0_tlc":"CHE","adm0_a3_us":"CHE","adm0_a3_fr":"CHE","adm0_a3_ru":"CHE","adm0_a3_es":"CHE","adm0_a3_cn":"CHE","adm0_a3_tw":"CHE","adm0_a3_in":"CHE","adm0_a3_np":"CHE","adm0_a3_pk":"CHE","adm0_a3_de":"CHE","adm0_a3_gb":"CHE","adm0_a3_br":"CHE","adm0_a3_il":"CHE","adm0_a3_ps":"CHE","adm0_a3_sa":"CHE","adm0_a3_eg":"CHE","adm0_a3_ma":"CHE","adm0_a3_pt":"CHE","adm0_a3_ar":"CHE","adm0_a3_jp":"CHE","adm0_a3_ko":"CHE","adm0_a3_vn":"CHE","adm0_a3_tr":"CHE","adm0_a3_id":"CHE","adm0_a3_pl":"CHE","adm0_a3_gr":"CHE","adm0_a3_it":"CHE","adm0_a3_nl":"CHE","adm0_a3_se":"CHE","adm0_a3_bd":"CHE","adm0_a3_ua":"CHE","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":11,"long_len":11,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":7.463965,"label_y":46.719114,"ne_id":1159320491,"wikidataid":"Q39","name_ar":"سويسرا","name_bn":"সুইজারল্যান্ড","name_de":"Schweiz","name_en":"Switzerland","name_es":"Suiza","name_fa":"سوئیس","name_fr":"Suisse","name_el":"Ελβετία","name_he":"שווייץ","name_hi":"स्विट्ज़रलैण्ड","name_hu":"Svájc","name_id":"Swiss","name_it":"Svizzera","name_ja":"スイス","name_ko":"스위스","name_nl":"Zwitserland","name_pl":"Szwajcaria","name_pt":"Suíça","name_ru":"Швейцария","name_sv":"Schweiz","name_tr":"İsviçre","name_uk":"Швейцарія","name_ur":"سویٹزرلینڈ","name_vi":"Thụy Sĩ","name_zh":"瑞士","name_zht":"瑞士","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"CHE.geojson"},"geometry":{"type":"Polygon","coordinates":[[[9.59422610844635,47.52505809182027],[9.632931756232978,47.34760122332999],[9.479969516649021,47.102809963563374],[9.932448357796659,46.92072805438296],[10.44270145024663,46.89354625099743],[10.363378126678612,46.48357127540986],[9.922836541390382,46.31489940040919],[9.182881707403055,46.44021474871698],[8.966305779667806,46.03693187111119],[8.489952426801324,46.005150865251686],[8.31662967289438,46.16364248309086],[7.755992058959833,45.82449005795931],[7.273850945676656,45.776947740250776],[6.843592970414505,45.99114655210061],[6.500099724970426,46.42967275652944],[6.022609490593538,46.27298981382047],[6.037388950229001,46.725778713561866],[6.768713820023606,47.2877082383037],[6.736571079138059,47.541801255882845],[7.192202182655507,47.44976552997102],[7.466759067422231,47.62058197691181],[8.317301466514095,47.61357982033627],[8.522611932009767,47.83082754169129],[9.59422610844635,47.52505809182027]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Netherlands","sov_a3":"NL1","adm0_dif":1,"level":2,"type":"Country","tlc":"1","admin":"Netherlands","adm0_a3":"NLD","geou_dif":0,"geounit":"Netherlands","gu_a3":"NLD","su_dif":0,"subunit":"Netherlands","su_a3":"NLD","brk_diff":0,"name":"Netherlands","name_long":"Netherlands","brk_a3":"NLD","brk_name":"Netherlands","brk_group":null,"abbrev":"Neth.","postal":"NL","formal_en":"Kingdom of the Netherlands","formal_fr":null,"name_ciawf":"Netherlands","note_adm0":null,"note_brk":null,"name_sort":"Netherlands","name_alt":null,"mapcolor7":4,"mapcolor8":2,"mapcolor9":2,"mapcolor13":9,"pop_est":17332850,"pop_rank":14,"pop_year":2019,"gdp_md":907050,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"NL","iso_a2":"NL","iso_a2_eh":"NL","iso_a3":"NLD","iso_a3_eh":"NLD","iso_n3":"528","iso_n3_eh":"528","un_a3":"528","wb_a2":"NL","wb_a3":"NLD","woe_id":-90,"woe_id_eh":23424909,"woe_note":"Doesn't include new former units of Netherlands Antilles (24549811, 24549808, and 24549809)","adm0_iso":"NLD","adm0_diff":null,"adm0_tlc":"NLD","adm0_a3_us":"NLD","adm0_a3_fr":"NLD","adm0_a3_ru":"NLD","adm0_a3_es":"NLD","adm0_a3_cn":"NLD","adm0_a3_tw":"NLD","adm0_a3_in":"NLD","adm0_a3_np":"NLD","adm0_a3_pk":"NLD","adm0_a3_de":"NLD","adm0_a3_gb":"NLD","adm0_a3_br":"NLD","adm0_a3_il":"NLD","adm0_a3_ps":"NLD","adm0_a3_sa":"NLD","adm0_a3_eg":"NLD","adm0_a3_ma":"NLD","adm0_a3_pt":"NLD","adm0_a3_ar":"NLD","adm0_a3_jp":"NLD","adm0_a3_ko":"NLD","adm0_a3_vn":"NLD","adm0_a3_tr":"NLD","adm0_a3_id":"NLD","adm0_a3_pl":"NLD","adm0_a3_gr":"NLD","adm0_a3_it":"NLD","adm0_a3_nl":"NLD","adm0_a3_se":"NLD","adm0_a3_bd":"NLD","adm0_a3_ua":"NLD","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Western Europe","region_wb":"Europe & Central Asia","name_len":11,"long_len":11,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":10,"label_x":5.61144,"label_y":52.422211,"ne_id":1159321101,"wikidataid":"Q55","name_ar":"هولندا","name_bn":"নেদারল্যান্ডস","name_de":"Niederlande","name_en":"Netherlands","name_es":"Países Bajos","name_fa":"هلند","name_fr":"Pays-Bas","name_el":"Ολλανδία","name_he":"הולנד","name_hi":"नीदरलैण्ड","name_hu":"Hollandia","name_id":"Belanda","name_it":"Paesi Bassi","name_ja":"オランダ","name_ko":"네덜란드","name_nl":"Nederland","name_pl":"Holandia","name_pt":"Países Baixos","name_ru":"Нидерланды","name_sv":"Nederländerna","name_tr":"Hollanda","name_uk":"Нідерланди","name_ur":"نیدرلینڈز","name_vi":"Hà Lan","name_zh":"荷兰","name_zht":"荷蘭","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"NLD.geojson"},"geometry":{"type":"Polygon","coordinates":[[[6.905139601274129,53.48216217713065],[7.092053256873896,53.144043280644894],[6.842869500362383,52.22844025329755],[6.589396599970826,51.852029120483394],[5.988658074577813,51.851615709025054],[6.15665815595878,50.80372101501058],[5.606975945670001,51.03729848896978],[4.973991326526914,51.47502370869813],[4.047071160507528,51.26725861266857],[3.314971144228537,51.34575511331991],[3.31501148496416,51.34577662473805],[3.830288527043137,51.62054454203195],[4.705997348661185,53.091798407597764],[6.074182570020923,53.510403347378144],[6.905139601274129,53.48216217713065]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Republic of Serbia","sov_a3":"SRB","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Republic of Serbia","adm0_a3":"SRB","geou_dif":0,"geounit":"Republic of Serbia","gu_a3":"SRB","su_dif":0,"subunit":"Republic of Serbia","su_a3":"SRB","brk_diff":0,"name":"Serbia","name_long":"Serbia","brk_a3":"SRB","brk_name":"Serbia","brk_group":null,"abbrev":"Serb.","postal":"RS","formal_en":"Republic of Serbia","formal_fr":null,"name_ciawf":"Serbia","note_adm0":null,"note_brk":null,"name_sort":"Serbia","name_alt":null,"mapcolor7":3,"mapcolor8":3,"mapcolor9":2,"mapcolor13":10,"pop_est":6944975,"pop_rank":13,"pop_year":2019,"gdp_md":51475,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"RI","iso_a2":"RS","iso_a2_eh":"RS","iso_a3":"SRB","iso_a3_eh":"SRB","iso_n3":"688","iso_n3_eh":"688","un_a3":"688","wb_a2":"YF","wb_a3":"SRB","woe_id":-90,"woe_id_eh":20069818,"woe_note":"Expired WOE also contains Kosovo.","adm0_iso":"SRB","adm0_diff":null,"adm0_tlc":"SRB","adm0_a3_us":"SRB","adm0_a3_fr":"SRB","adm0_a3_ru":"SRB","adm0_a3_es":"SRB","adm0_a3_cn":"SRB","adm0_a3_tw":"SRB","adm0_a3_in":"SRB","adm0_a3_np":"SRB","adm0_a3_pk":"SRB","adm0_a3_de":"SRB","adm0_a3_gb":"SRB","adm0_a3_br":"SRB","adm0_a3_il":"SRB","adm0_a3_ps":"SRB","adm0_a3_sa":"SRB","adm0_a3_eg":"SRB","adm0_a3_ma":"SRB","adm0_a3_pt":"SRB","adm0_a3_ar":"SRB","adm0_a3_jp":"SRB","adm0_a3_ko":"SRB","adm0_a3_vn":"SRB","adm0_a3_tr":"SRB","adm0_a3_id":"SRB","adm0_a3_pl":"SRB","adm0_a3_gr":"SRB","adm0_a3_it":"SRB","adm0_a3_nl":"SRB","adm0_a3_se":"SRB","adm0_a3_bd":"SRB","adm0_a3_ua":"SRB","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":6,"long_len":6,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":7,"label_x":20.787989,"label_y":44.189919,"ne_id":1159321267,"wikidataid":"Q403","name_ar":"صربيا","name_bn":"সার্বিয়া","name_de":"Serbien","name_en":"Serbia","name_es":"Serbia","name_fa":"صربستان","name_fr":"Serbie","name_el":"Σερβία","name_he":"סרביה","name_hi":"सर्बिया","name_hu":"Szerbia","name_id":"Serbia","name_it":"Serbia","name_ja":"セルビア","name_ko":"세르비아","name_nl":"Servië","name_pl":"Serbia","name_pt":"Sérvia","name_ru":"Сербия","name_sv":"Serbien","name_tr":"Sırbistan","name_uk":"Сербія","name_ur":"سربیا","name_vi":"Serbia","name_zh":"塞尔维亚","name_zht":"塞爾維亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SRB.geojson"},"geometry":{"type":"Polygon","coordinates":[[[18.829824792873946,45.908872358025285],[18.82983808764996,45.90887767189193],[19.596044549241583,46.17172984474454],[20.220192498462836,46.127468980486555],[20.762174920339987,45.734573065771485],[20.874312778413355,45.416375433934235],[21.48352623870221,45.18117015235788],[21.56202273935361,44.7689472519655],[22.14508792490281,44.47842234962059],[22.459022251075936,44.7025171982543],[22.705725538837356,44.57800283464702],[22.4740084164406,44.40922760678177],[22.65714969248299,44.23492300066128],[22.410446404721597,44.008063462899955],[22.500156691180223,43.642814439461006],[22.986018507588483,43.2111612005271],[22.60480146657133,42.898518785161144],[22.43659467946128,42.580321153323936],[22.54501183440962,42.46136200618804],[22.380525750424592,42.32025950781509],[21.917080000000112,42.30364],[21.57663598940212,42.24522439706186],[21.54332,42.3202500000001],[21.66292,42.43922],[21.77505,42.6827],[21.63302,42.67717],[21.43866,42.86255],[21.27421,42.90959],[21.143395,43.06868500000013],[20.95651,43.13094],[20.81448,43.27205],[20.63508,43.21671],[20.49679,42.88469],[20.25758,42.81275000000011],[20.3398,42.89852],[19.95857,43.10604],[19.63,43.21377997027054],[19.48389,43.35229],[19.21852,43.52384],[19.454,43.56810000000013],[19.59976,44.03847],[19.11761,44.42307000000011],[19.36803,44.863],[19.00548,44.86023],[19.005484597557594,44.86023449354299],[19.39047570158459,45.236515611342384],[19.072768995854176,45.52151113543209],[18.829824792873946,45.908872358025285]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Croatia","sov_a3":"HRV","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Croatia","adm0_a3":"HRV","geou_dif":0,"geounit":"Croatia","gu_a3":"HRV","su_dif":0,"subunit":"Croatia","su_a3":"HRV","brk_diff":0,"name":"Croatia","name_long":"Croatia","brk_a3":"HRV","brk_name":"Croatia","brk_group":null,"abbrev":"Cro.","postal":"HR","formal_en":"Republic of Croatia","formal_fr":null,"name_ciawf":"Croatia","note_adm0":null,"note_brk":null,"name_sort":"Croatia","name_alt":null,"mapcolor7":5,"mapcolor8":4,"mapcolor9":5,"mapcolor13":1,"pop_est":4067500,"pop_rank":12,"pop_year":2019,"gdp_md":60752,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"2. High income: nonOECD","fips_10":"HR","iso_a2":"HR","iso_a2_eh":"HR","iso_a3":"HRV","iso_a3_eh":"HRV","iso_n3":"191","iso_n3_eh":"191","un_a3":"191","wb_a2":"HR","wb_a3":"HRV","woe_id":23424843,"woe_id_eh":23424843,"woe_note":"Exact WOE match as country","adm0_iso":"HRV","adm0_diff":null,"adm0_tlc":"HRV","adm0_a3_us":"HRV","adm0_a3_fr":"HRV","adm0_a3_ru":"HRV","adm0_a3_es":"HRV","adm0_a3_cn":"HRV","adm0_a3_tw":"HRV","adm0_a3_in":"HRV","adm0_a3_np":"HRV","adm0_a3_pk":"HRV","adm0_a3_de":"HRV","adm0_a3_gb":"HRV","adm0_a3_br":"HRV","adm0_a3_il":"HRV","adm0_a3_ps":"HRV","adm0_a3_sa":"HRV","adm0_a3_eg":"HRV","adm0_a3_ma":"HRV","adm0_a3_pt":"HRV","adm0_a3_ar":"HRV","adm0_a3_jp":"HRV","adm0_a3_ko":"HRV","adm0_a3_vn":"HRV","adm0_a3_tr":"HRV","adm0_a3_id":"HRV","adm0_a3_pl":"HRV","adm0_a3_gr":"HRV","adm0_a3_it":"HRV","adm0_a3_nl":"HRV","adm0_a3_se":"HRV","adm0_a3_bd":"HRV","adm0_a3_ua":"HRV","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":16.37241,"label_y":45.805799,"ne_id":1159320833,"wikidataid":"Q224","name_ar":"كرواتيا","name_bn":"ক্রোয়েশিয়া","name_de":"Kroatien","name_en":"Croatia","name_es":"Croacia","name_fa":"کرواسی","name_fr":"Croatie","name_el":"Κροατία","name_he":"קרואטיה","name_hi":"क्रोएशिया","name_hu":"Horvátország","name_id":"Kroasia","name_it":"Croazia","name_ja":"クロアチア","name_ko":"크로아티아","name_nl":"Kroatië","name_pl":"Chorwacja","name_pt":"Croácia","name_ru":"Хорватия","name_sv":"Kroatien","name_tr":"Hırvatistan","name_uk":"Хорватія","name_ur":"کروشیا","name_vi":"Croatia","name_zh":"克罗地亚","name_zht":"克羅地亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"HRV.geojson"},"geometry":{"type":"Polygon","coordinates":[[[16.564808383864857,46.50375092221983],[16.8825150895953,46.38063182228444],[17.630066359129557,45.95176911069419],[18.45606245288286,45.75948110613615],[18.829824792873946,45.908872358025285],[19.072768995854176,45.52151113543209],[19.39047570158459,45.236515611342384],[19.005484597557594,44.86023449354299],[18.553214145591653,45.08158966733146],[17.861783481526402,45.067740383477144],[17.002146030351014,45.23377676043094],[16.534939406000206,45.21160757097772],[16.318156772535872,45.00412669532591],[15.959367303133376,45.23377676043094],[15.750026075918981,44.818711656262565],[16.23966027188453,44.35114329688571],[16.456442905348865,44.04123973243128],[16.91615644701733,43.66772247982567],[17.297373488034452,43.44634064388737],[17.674921502358984,43.02856252702361],[18.56,42.65],[18.45001688302086,42.47999224531218],[18.450016310304818,42.47999136002932],[17.509970330483327,42.849994615239154],[16.930005730871642,43.20999848080038],[16.015384555737683,43.50721548112722],[15.174453973052096,44.243191229827914],[15.376250441151797,44.31791535092208],[14.92030927904051,44.73848399512946],[14.901602410550879,45.07606028907611],[14.258747592839995,45.23377676043094],[13.952254672917036,44.80212352149687],[13.656975538801191,45.13693512631596],[13.67940311041582,45.48414907488501],[13.715059848697223,45.500323798192376],[14.411968214585414,45.46616567644746],[14.595109490627806,45.634940904312714],[14.935243767972935,45.471695054702685],[15.327674594797429,45.45231639259333],[15.323953891672405,45.73178253842768],[15.671529575267556,45.83415355079788],[15.768732944408553,46.23810822202345],[16.564808383864857,46.50375092221983]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Slovenia","sov_a3":"SVN","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Slovenia","adm0_a3":"SVN","geou_dif":0,"geounit":"Slovenia","gu_a3":"SVN","su_dif":0,"subunit":"Slovenia","su_a3":"SVN","brk_diff":0,"name":"Slovenia","name_long":"Slovenia","brk_a3":"SVN","brk_name":"Slovenia","brk_group":null,"abbrev":"Slo.","postal":"SLO","formal_en":"Republic of Slovenia","formal_fr":null,"name_ciawf":"Slovenia","note_adm0":null,"note_brk":null,"name_sort":"Slovenia","name_alt":null,"mapcolor7":2,"mapcolor8":3,"mapcolor9":2,"mapcolor13":12,"pop_est":2087946,"pop_rank":12,"pop_year":2019,"gdp_md":54174,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"SI","iso_a2":"SI","iso_a2_eh":"SI","iso_a3":"SVN","iso_a3_eh":"SVN","iso_n3":"705","iso_n3_eh":"705","un_a3":"705","wb_a2":"SI","wb_a3":"SVN","woe_id":23424945,"woe_id_eh":23424945,"woe_note":"Exact WOE match as country","adm0_iso":"SVN","adm0_diff":null,"adm0_tlc":"SVN","adm0_a3_us":"SVN","adm0_a3_fr":"SVN","adm0_a3_ru":"SVN","adm0_a3_es":"SVN","adm0_a3_cn":"SVN","adm0_a3_tw":"SVN","adm0_a3_in":"SVN","adm0_a3_np":"SVN","adm0_a3_pk":"SVN","adm0_a3_de":"SVN","adm0_a3_gb":"SVN","adm0_a3_br":"SVN","adm0_a3_il":"SVN","adm0_a3_ps":"SVN","adm0_a3_sa":"SVN","adm0_a3_eg":"SVN","adm0_a3_ma":"SVN","adm0_a3_pt":"SVN","adm0_a3_ar":"SVN","adm0_a3_jp":"SVN","adm0_a3_ko":"SVN","adm0_a3_vn":"SVN","adm0_a3_tr":"SVN","adm0_a3_id":"SVN","adm0_a3_pl":"SVN","adm0_a3_gr":"SVN","adm0_a3_it":"SVN","adm0_a3_nl":"SVN","adm0_a3_se":"SVN","adm0_a3_bd":"SVN","adm0_a3_ua":"SVN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":8,"long_len":8,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":14.915312,"label_y":46.06076,"ne_id":1159321285,"wikidataid":"Q215","name_ar":"سلوفينيا","name_bn":"স্লোভেনিয়া","name_de":"Slowenien","name_en":"Slovenia","name_es":"Eslovenia","name_fa":"اسلوونی","name_fr":"Slovénie","name_el":"Σλοβενία","name_he":"סלובניה","name_hi":"स्लोवेनिया","name_hu":"Szlovénia","name_id":"Slovenia","name_it":"Slovenia","name_ja":"スロベニア","name_ko":"슬로베니아","name_nl":"Slovenië","name_pl":"Słowenia","name_pt":"Eslovénia","name_ru":"Словения","name_sv":"Slovenien","name_tr":"Slovenya","name_uk":"Словенія","name_ur":"سلووینیا","name_vi":"Slovenia","name_zh":"斯洛文尼亚","name_zht":"斯洛維尼亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SVN.geojson"},"geometry":{"type":"Polygon","coordinates":[[[13.806475457421527,46.509306138691215],[14.63247155117483,46.43181732846955],[15.137091912504985,46.65870270444703],[16.011663852612656,46.6836107448117],[16.202298211337364,46.85238597267696],[16.370504998447416,46.841327216166505],[16.564808383864857,46.50375092221983],[15.768732944408553,46.23810822202345],[15.671529575267556,45.83415355079788],[15.323953891672405,45.73178253842768],[15.327674594797429,45.45231639259333],[14.935243767972935,45.471695054702685],[14.595109490627806,45.634940904312714],[14.411968214585414,45.46616567644746],[13.715059848697223,45.500323798192376],[13.937630242578308,45.59101593686462],[13.698109978905478,46.01677806251735],[13.806475457421527,46.509306138691215]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Bulgaria","sov_a3":"BGR","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Bulgaria","adm0_a3":"BGR","geou_dif":0,"geounit":"Bulgaria","gu_a3":"BGR","su_dif":0,"subunit":"Bulgaria","su_a3":"BGR","brk_diff":0,"name":"Bulgaria","name_long":"Bulgaria","brk_a3":"BGR","brk_name":"Bulgaria","brk_group":null,"abbrev":"Bulg.","postal":"BG","formal_en":"Republic of Bulgaria","formal_fr":null,"name_ciawf":"Bulgaria","note_adm0":null,"note_brk":null,"name_sort":"Bulgaria","name_alt":null,"mapcolor7":4,"mapcolor8":5,"mapcolor9":1,"mapcolor13":8,"pop_est":6975761,"pop_rank":13,"pop_year":2019,"gdp_md":68558,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"3. Upper middle income","fips_10":"BU","iso_a2":"BG","iso_a2_eh":"BG","iso_a3":"BGR","iso_a3_eh":"BGR","iso_n3":"100","iso_n3_eh":"100","un_a3":"100","wb_a2":"BG","wb_a3":"BGR","woe_id":23424771,"woe_id_eh":23424771,"woe_note":"Exact WOE match as country","adm0_iso":"BGR","adm0_diff":null,"adm0_tlc":"BGR","adm0_a3_us":"BGR","adm0_a3_fr":"BGR","adm0_a3_ru":"BGR","adm0_a3_es":"BGR","adm0_a3_cn":"BGR","adm0_a3_tw":"BGR","adm0_a3_in":"BGR","adm0_a3_np":"BGR","adm0_a3_pk":"BGR","adm0_a3_de":"BGR","adm0_a3_gb":"BGR","adm0_a3_br":"BGR","adm0_a3_il":"BGR","adm0_a3_ps":"BGR","adm0_a3_sa":"BGR","adm0_a3_eg":"BGR","adm0_a3_ma":"BGR","adm0_a3_pt":"BGR","adm0_a3_ar":"BGR","adm0_a3_jp":"BGR","adm0_a3_ko":"BGR","adm0_a3_vn":"BGR","adm0_a3_tr":"BGR","adm0_a3_id":"BGR","adm0_a3_pl":"BGR","adm0_a3_gr":"BGR","adm0_a3_it":"BGR","adm0_a3_nl":"BGR","adm0_a3_se":"BGR","adm0_a3_bd":"BGR","adm0_a3_ua":"BGR","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":8,"long_len":8,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":25.15709,"label_y":42.508785,"ne_id":1159320409,"wikidataid":"Q219","name_ar":"بلغاريا","name_bn":"বুলগেরিয়া","name_de":"Bulgarien","name_en":"Bulgaria","name_es":"Bulgaria","name_fa":"بلغارستان","name_fr":"Bulgarie","name_el":"Βουλγαρία","name_he":"בולגריה","name_hi":"बुल्गारिया","name_hu":"Bulgária","name_id":"Bulgaria","name_it":"Bulgaria","name_ja":"ブルガリア","name_ko":"불가리아","name_nl":"Bulgarije","name_pl":"Bułgaria","name_pt":"Bulgária","name_ru":"Болгария","name_sv":"Bulgarien","name_tr":"Bulgaristan","name_uk":"Болгарія","name_ur":"بلغاریہ","name_vi":"Bulgaria","name_zh":"保加利亚","name_zht":"保加利亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BGR.geojson"},"geometry":{"type":"Polygon","coordinates":[[[22.65714969248299,44.23492300066128],[22.944832391051847,43.82378530534713],[23.332302280376325,43.897010809904714],[24.100679152124172,43.74105133724785],[25.569271681426926,43.68844472917472],[26.065158725699746,43.94349376075127],[27.242399529740908,44.175986029632405],[27.970107049275075,43.81246816667522],[28.558081495891997,43.70746165625813],[28.03909508638472,43.293171698574184],[27.67389773937805,42.57789236100622],[27.99672041190539,42.00735871028779],[27.13573937349048,42.14148489030134],[26.1170418637208,41.82690460872456],[26.106138136507127,41.32889883072784],[25.197201368925448,41.23448598893053],[24.492644891057978,41.58389618587205],[23.692073601992348,41.309080918943856],[22.952377150166452,41.33799388281115],[22.881373732197346,41.999297186850356],[22.380525750424592,42.32025950781509],[22.54501183440962,42.46136200618804],[22.43659467946128,42.580321153323936],[22.60480146657133,42.898518785161144],[22.986018507588483,43.2111612005271],[22.500156691180223,43.642814439461006],[22.410446404721597,44.008063462899955],[22.65714969248299,44.23492300066128]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Montenegro","sov_a3":"MNE","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Montenegro","adm0_a3":"MNE","geou_dif":0,"geounit":"Montenegro","gu_a3":"MNE","su_dif":0,"subunit":"Montenegro","su_a3":"MNE","brk_diff":0,"name":"Montenegro","name_long":"Montenegro","brk_a3":"MNE","brk_name":"Montenegro","brk_group":null,"abbrev":"Mont.","postal":"ME","formal_en":"Montenegro","formal_fr":null,"name_ciawf":"Montenegro","note_adm0":null,"note_brk":null,"name_sort":"Montenegro","name_alt":null,"mapcolor7":4,"mapcolor8":1,"mapcolor9":4,"mapcolor13":5,"pop_est":622137,"pop_rank":11,"pop_year":2019,"gdp_md":5542,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"MJ","iso_a2":"ME","iso_a2_eh":"ME","iso_a3":"MNE","iso_a3_eh":"MNE","iso_n3":"499","iso_n3_eh":"499","un_a3":"499","wb_a2":"ME","wb_a3":"MNE","woe_id":20069817,"woe_id_eh":20069817,"woe_note":"Exact WOE match as country","adm0_iso":"MNE","adm0_diff":null,"adm0_tlc":"MNE","adm0_a3_us":"MNE","adm0_a3_fr":"MNE","adm0_a3_ru":"MNE","adm0_a3_es":"MNE","adm0_a3_cn":"MNE","adm0_a3_tw":"MNE","adm0_a3_in":"MNE","adm0_a3_np":"MNE","adm0_a3_pk":"MNE","adm0_a3_de":"MNE","adm0_a3_gb":"MNE","adm0_a3_br":"MNE","adm0_a3_il":"MNE","adm0_a3_ps":"MNE","adm0_a3_sa":"MNE","adm0_a3_eg":"MNE","adm0_a3_ma":"MNE","adm0_a3_pt":"MNE","adm0_a3_ar":"MNE","adm0_a3_jp":"MNE","adm0_a3_ko":"MNE","adm0_a3_vn":"MNE","adm0_a3_tr":"MNE","adm0_a3_id":"MNE","adm0_a3_pl":"MNE","adm0_a3_gr":"MNE","adm0_a3_it":"MNE","adm0_a3_nl":"MNE","adm0_a3_se":"MNE","adm0_a3_bd":"MNE","adm0_a3_ua":"MNE","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":10,"long_len":10,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":19.143727,"label_y":42.803101,"ne_id":1159321069,"wikidataid":"Q236","name_ar":"الجبل الأسود","name_bn":"মন্টিনিগ্রো","name_de":"Montenegro","name_en":"Montenegro","name_es":"Montenegro","name_fa":"مونتهنگرو","name_fr":"Monténégro","name_el":"Μαυροβούνιο","name_he":"מונטנגרו","name_hi":"मॉन्टेनीग्रो","name_hu":"Montenegró","name_id":"Montenegro","name_it":"Montenegro","name_ja":"モンテネグロ","name_ko":"몬테네그로","name_nl":"Montenegro","name_pl":"Czarnogóra","name_pt":"Montenegro","name_ru":"Черногория","name_sv":"Montenegro","name_tr":"Karadağ","name_uk":"Чорногорія","name_ur":"مونٹینیگرو","name_vi":"Montenegro","name_zh":"黑山","name_zht":"蒙特內哥羅","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MNE.geojson"},"geometry":{"type":"Polygon","coordinates":[[[20.0707,42.58863],[19.801613396898688,42.50009349219084],[19.73805138517963,42.68824738216557],[19.304486118250793,42.19574514420782],[19.37176816334725,41.877550679783496],[19.16246,41.95502],[18.88214,42.28151],[18.45001688302086,42.47999224531218],[18.56,42.65],[18.70648,43.20011],[19.03165,43.43253],[19.21852,43.52384],[19.48389,43.35229],[19.63,43.21377997027054],[19.95857,43.10604],[20.3398,42.89852],[20.25758,42.81275000000011],[20.0707,42.58863]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":5,"sovereignt":"Bosnia and Herzegovina","sov_a3":"BIH","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Bosnia and Herzegovina","adm0_a3":"BIH","geou_dif":0,"geounit":"Bosnia and Herzegovina","gu_a3":"BIH","su_dif":0,"subunit":"Bosnia and Herzegovina","su_a3":"BIH","brk_diff":0,"name":"Bosnia and Herz.","name_long":"Bosnia and Herzegovina","brk_a3":"BIH","brk_name":"Bosnia and Herz.","brk_group":null,"abbrev":"B.H.","postal":"BiH","formal_en":"Bosnia and Herzegovina","formal_fr":null,"name_ciawf":"Bosnia and Herzegovina","note_adm0":null,"note_brk":null,"name_sort":"Bosnia and Herzegovina","name_alt":null,"mapcolor7":1,"mapcolor8":1,"mapcolor9":1,"mapcolor13":2,"pop_est":3301000,"pop_rank":12,"pop_year":2019,"gdp_md":20164,"gdp_year":2019,"economy":"6. Developing region","income_grp":"3. Upper middle income","fips_10":"BK","iso_a2":"BA","iso_a2_eh":"BA","iso_a3":"BIH","iso_a3_eh":"BIH","iso_n3":"070","iso_n3_eh":"070","un_a3":"070","wb_a2":"BA","wb_a3":"BIH","woe_id":23424761,"woe_id_eh":23424761,"woe_note":"Exact WOE match as country","adm0_iso":"BIH","adm0_diff":null,"adm0_tlc":"BIH","adm0_a3_us":"BIH","adm0_a3_fr":"BIH","adm0_a3_ru":"BIH","adm0_a3_es":"BIH","adm0_a3_cn":"BIH","adm0_a3_tw":"BIH","adm0_a3_in":"BIH","adm0_a3_np":"BIH","adm0_a3_pk":"BIH","adm0_a3_de":"BIH","adm0_a3_gb":"BIH","adm0_a3_br":"BIH","adm0_a3_il":"BIH","adm0_a3_ps":"BIH","adm0_a3_sa":"BIH","adm0_a3_eg":"BIH","adm0_a3_ma":"BIH","adm0_a3_pt":"BIH","adm0_a3_ar":"BIH","adm0_a3_jp":"BIH","adm0_a3_ko":"BIH","adm0_a3_vn":"BIH","adm0_a3_tr":"BIH","adm0_a3_id":"BIH","adm0_a3_pl":"BIH","adm0_a3_gr":"BIH","adm0_a3_it":"BIH","adm0_a3_nl":"BIH","adm0_a3_se":"BIH","adm0_a3_bd":"BIH","adm0_a3_ua":"BIH","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":16,"long_len":22,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4.5,"max_label":6.8,"label_x":18.06841,"label_y":44.091051,"ne_id":1159320417,"wikidataid":"Q225","name_ar":"البوسنة والهرسك","name_bn":"বসনিয়া ও হার্জেগোভিনা","name_de":"Bosnien und Herzegowina","name_en":"Bosnia and Herzegovina","name_es":"Bosnia y Herzegovina","name_fa":"بوسنی و هرزگوین","name_fr":"Bosnie-Herzégovine","name_el":"Βοσνία και Ερζεγοβίνη","name_he":"בוסניה והרצגובינה","name_hi":"बॉस्निया और हर्ज़ेगोविना","name_hu":"Bosznia-Hercegovina","name_id":"Bosnia dan Herzegovina","name_it":"Bosnia ed Erzegovina","name_ja":"ボスニア・ヘルツェゴビナ","name_ko":"보스니아 헤르체고비나","name_nl":"Bosnië en Herzegovina","name_pl":"Bośnia i Hercegowina","name_pt":"Bósnia e Herzegovina","name_ru":"Босния и Герцеговина","name_sv":"Bosnien och Hercegovina","name_tr":"Bosna-Hersek","name_uk":"Боснія і Герцеговина","name_ur":"بوسنیا و ہرزیگووینا","name_vi":"Bosna và Hercegovina","name_zh":"波斯尼亚和黑塞哥维那","name_zht":"波士尼亞與赫塞哥維納","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"BIH.geojson"},"geometry":{"type":"Polygon","coordinates":[[[18.56,42.65],[17.674921502358984,43.02856252702361],[17.297373488034452,43.44634064388737],[16.91615644701733,43.66772247982567],[16.456442905348865,44.04123973243128],[16.23966027188453,44.35114329688571],[15.750026075918981,44.818711656262565],[15.959367303133376,45.23377676043094],[16.318156772535872,45.00412669532591],[16.534939406000206,45.21160757097772],[17.002146030351014,45.23377676043094],[17.861783481526402,45.067740383477144],[18.553214145591653,45.08158966733146],[19.005484597557594,44.86023449354299],[19.00548,44.86023],[19.36803,44.863],[19.11761,44.42307000000011],[19.59976,44.03847],[19.454,43.56810000000013],[19.21852,43.52384],[19.03165,43.43253],[18.70648,43.20011],[18.56,42.65]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Portugal","sov_a3":"PRT","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Portugal","adm0_a3":"PRT","geou_dif":0,"geounit":"Portugal","gu_a3":"PRT","su_dif":1,"subunit":"Portugal","su_a3":"PR1","brk_diff":0,"name":"Portugal","name_long":"Portugal","brk_a3":"PR1","brk_name":"Portugal","brk_group":null,"abbrev":"Port.","postal":"P","formal_en":"Portuguese Republic","formal_fr":null,"name_ciawf":"Portugal","note_adm0":null,"note_brk":null,"name_sort":"Portugal","name_alt":null,"mapcolor7":1,"mapcolor8":7,"mapcolor9":1,"mapcolor13":4,"pop_est":10269417,"pop_rank":14,"pop_year":2019,"gdp_md":238785,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"PO","iso_a2":"PT","iso_a2_eh":"PT","iso_a3":"PRT","iso_a3_eh":"PRT","iso_n3":"620","iso_n3_eh":"620","un_a3":"620","wb_a2":"PT","wb_a3":"PRT","woe_id":23424925,"woe_id_eh":23424925,"woe_note":"Exact WOE match as country","adm0_iso":"PR1","adm0_diff":null,"adm0_tlc":"PR1","adm0_a3_us":"PRT","adm0_a3_fr":"PRT","adm0_a3_ru":"PRT","adm0_a3_es":"PRT","adm0_a3_cn":"PRT","adm0_a3_tw":"PRT","adm0_a3_in":"PRT","adm0_a3_np":"PRT","adm0_a3_pk":"PRT","adm0_a3_de":"PRT","adm0_a3_gb":"PRT","adm0_a3_br":"PRT","adm0_a3_il":"PRT","adm0_a3_ps":"PRT","adm0_a3_sa":"PRT","adm0_a3_eg":"PRT","adm0_a3_ma":"PRT","adm0_a3_pt":"PRT","adm0_a3_ar":"PRT","adm0_a3_jp":"PRT","adm0_a3_ko":"PRT","adm0_a3_vn":"PRT","adm0_a3_tr":"PRT","adm0_a3_id":"PRT","adm0_a3_pl":"PRT","adm0_a3_gr":"PRT","adm0_a3_it":"PRT","adm0_a3_nl":"PRT","adm0_a3_se":"PRT","adm0_a3_bd":"PRT","adm0_a3_ua":"PRT","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Southern Europe","region_wb":"Europe & Central Asia","name_len":8,"long_len":8,"abbrev_len":5,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":-8.271754,"label_y":39.606675,"ne_id":1159321187,"wikidataid":"Q45","name_ar":"البرتغال","name_bn":"পর্তুগাল","name_de":"Portugal","name_en":"Portugal","name_es":"Portugal","name_fa":"پرتغال","name_fr":"Portugal","name_el":"Πορτογαλία","name_he":"פורטוגל","name_hi":"पुर्तगाल","name_hu":"Portugália","name_id":"Portugal","name_it":"Portogallo","name_ja":"ポルトガル","name_ko":"포르투갈","name_nl":"Portugal","name_pl":"Portugalia","name_pt":"Portugal","name_ru":"Португалия","name_sv":"Portugal","name_tr":"Portekiz","name_uk":"Португалія","name_ur":"پرتگال","name_vi":"Bồ Đào Nha","name_zh":"葡萄牙","name_zht":"葡萄牙","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"PRT.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-9.034817674180246,41.880570583659676],[-8.67194576662672,42.13468943945496],[-8.263856980817792,42.28046865495034],[-8.013174607769912,41.790886135417125],[-7.422512986673795,41.79207469335984],[-7.251308966490824,41.91834605566505],[-6.668605515967656,41.883386949219584],[-6.389087693700915,41.381815497394655],[-6.851126674822552,41.11108266861753],[-6.864019944679385,40.33087189387483],[-7.026413133156595,40.184524237624245],[-7.066591559263529,39.711891587882775],[-7.498632371439726,39.62957103124181],[-7.098036668313128,39.03007274022379],[-7.374092169616318,38.37305858006492],[-7.029281175148796,38.07576406508977],[-7.166507941099865,37.803894354802225],[-7.537105475281024,37.42890432387624],[-7.453725551778092,37.09778758396607],[-7.855613165711986,36.83826854099627],[-8.382816127953689,36.97888011326246],[-8.898856980820327,36.86880931248078],[-8.746101446965554,37.65134552667661],[-8.83999752443988,38.266243394517616],[-9.287463751655224,38.3584858261586],[-9.526570603869715,38.73742910415491],[-9.446988898140233,39.39206614842837],[-9.048305223008427,39.75509308527877],[-8.977353481471681,40.15930613866581],[-8.768684047877102,40.76063894303019],[-8.79085323733031,41.18433401139126],[-8.99078935386757,41.54345937760364],[-9.034817674180246,41.880570583659676]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Moldova","sov_a3":"MDA","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Moldova","adm0_a3":"MDA","geou_dif":0,"geounit":"Moldova","gu_a3":"MDA","su_dif":0,"subunit":"Moldova","su_a3":"MDA","brk_diff":0,"name":"Moldova","name_long":"Moldova","brk_a3":"MDA","brk_name":"Moldova","brk_group":null,"abbrev":"Mda.","postal":"MD","formal_en":"Republic of Moldova","formal_fr":null,"name_ciawf":"Moldova","note_adm0":null,"note_brk":null,"name_sort":"Moldova","name_alt":null,"mapcolor7":3,"mapcolor8":5,"mapcolor9":4,"mapcolor13":12,"pop_est":2657637,"pop_rank":12,"pop_year":2019,"gdp_md":11968,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"MD","iso_a2":"MD","iso_a2_eh":"MD","iso_a3":"MDA","iso_a3_eh":"MDA","iso_n3":"498","iso_n3_eh":"498","un_a3":"498","wb_a2":"MD","wb_a3":"MDA","woe_id":23424885,"woe_id_eh":23424885,"woe_note":"Exact WOE match as country","adm0_iso":"MDA","adm0_diff":null,"adm0_tlc":"MDA","adm0_a3_us":"MDA","adm0_a3_fr":"MDA","adm0_a3_ru":"MDA","adm0_a3_es":"MDA","adm0_a3_cn":"MDA","adm0_a3_tw":"MDA","adm0_a3_in":"MDA","adm0_a3_np":"MDA","adm0_a3_pk":"MDA","adm0_a3_de":"MDA","adm0_a3_gb":"MDA","adm0_a3_br":"MDA","adm0_a3_il":"MDA","adm0_a3_ps":"MDA","adm0_a3_sa":"MDA","adm0_a3_eg":"MDA","adm0_a3_ma":"MDA","adm0_a3_pt":"MDA","adm0_a3_ar":"MDA","adm0_a3_jp":"MDA","adm0_a3_ko":"MDA","adm0_a3_vn":"MDA","adm0_a3_tr":"MDA","adm0_a3_id":"MDA","adm0_a3_pl":"MDA","adm0_a3_gr":"MDA","adm0_a3_it":"MDA","adm0_a3_nl":"MDA","adm0_a3_se":"MDA","adm0_a3_bd":"MDA","adm0_a3_ua":"MDA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Eastern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":5,"max_label":10,"label_x":28.487904,"label_y":47.434999,"ne_id":1159321045,"wikidataid":"Q217","name_ar":"مولدوفا","name_bn":"মলদোভা","name_de":"Republik Moldau","name_en":"Moldova","name_es":"Moldavia","name_fa":"مولداوی","name_fr":"Moldavie","name_el":"Μολδαβία","name_he":"מולדובה","name_hi":"मॉल्डोवा","name_hu":"Moldova","name_id":"Moldova","name_it":"Moldavia","name_ja":"モルドバ","name_ko":"몰도바","name_nl":"Moldavië","name_pl":"Mołdawia","name_pt":"Moldávia","name_ru":"Молдавия","name_sv":"Moldavien","name_tr":"Moldova","name_uk":"Молдова","name_ur":"مالدووا","name_vi":"Moldova","name_zh":"摩尔多瓦","name_zht":"摩爾多瓦","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"MDA.geojson"},"geometry":{"type":"Polygon","coordinates":[[[26.619336785597795,48.22072622333347],[26.857823520624805,48.368210761094495],[27.522537469195157,48.467119452501116],[28.259546746541844,48.15556224221342],[28.670891147585166,48.1181485052341],[29.12269819511303,47.849095160506465],[29.05086795422727,47.5102269557525],[29.415135125452736,47.34664520933258],[29.559674106573112,46.928582872091326],[29.908851759569302,46.67436066343146],[29.838210076626297,46.52532583270169],[30.024658644335375,46.42393667254504],[29.759971958136394,46.34998769793536],[29.170653924279804,46.37926239682872],[29.07210696789929,46.517677720722496],[28.862972446414062,46.43788930926383],[28.933717482221596,46.25883047137256],[28.65998742037158,45.93998688413164],[28.485269402792767,45.5969070501459],[28.23355350109904,45.48828318946829],[28.0544429867754,45.944586086605625],[28.160017937947714,46.37156260841722],[28.128030226359044,46.810476386088254],[27.551166212684848,47.40511709247083],[27.233872918412743,47.82677094175638],[26.924176059687568,48.123264472030996],[26.619336785597795,48.22072622333347]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Iceland","sov_a3":"ISL","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Iceland","adm0_a3":"ISL","geou_dif":0,"geounit":"Iceland","gu_a3":"ISL","su_dif":0,"subunit":"Iceland","su_a3":"ISL","brk_diff":0,"name":"Iceland","name_long":"Iceland","brk_a3":"ISL","brk_name":"Iceland","brk_group":null,"abbrev":"Iceland","postal":"IS","formal_en":"Republic of Iceland","formal_fr":null,"name_ciawf":"Iceland","note_adm0":null,"note_brk":null,"name_sort":"Iceland","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":4,"mapcolor13":9,"pop_est":361313,"pop_rank":10,"pop_year":2019,"gdp_md":24188,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"IC","iso_a2":"IS","iso_a2_eh":"IS","iso_a3":"ISL","iso_a3_eh":"ISL","iso_n3":"352","iso_n3_eh":"352","un_a3":"352","wb_a2":"IS","wb_a3":"ISL","woe_id":23424845,"woe_id_eh":23424845,"woe_note":"Exact WOE match as country","adm0_iso":"ISL","adm0_diff":null,"adm0_tlc":"ISL","adm0_a3_us":"ISL","adm0_a3_fr":"ISL","adm0_a3_ru":"ISL","adm0_a3_es":"ISL","adm0_a3_cn":"ISL","adm0_a3_tw":"ISL","adm0_a3_in":"ISL","adm0_a3_np":"ISL","adm0_a3_pk":"ISL","adm0_a3_de":"ISL","adm0_a3_gb":"ISL","adm0_a3_br":"ISL","adm0_a3_il":"ISL","adm0_a3_ps":"ISL","adm0_a3_sa":"ISL","adm0_a3_eg":"ISL","adm0_a3_ma":"ISL","adm0_a3_pt":"ISL","adm0_a3_ar":"ISL","adm0_a3_jp":"ISL","adm0_a3_ko":"ISL","adm0_a3_vn":"ISL","adm0_a3_tr":"ISL","adm0_a3_id":"ISL","adm0_a3_pl":"ISL","adm0_a3_gr":"ISL","adm0_a3_it":"ISL","adm0_a3_nl":"ISL","adm0_a3_se":"ISL","adm0_a3_bd":"ISL","adm0_a3_ua":"ISL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Europe","region_un":"Europe","subregion":"Northern Europe","region_wb":"Europe & Central Asia","name_len":7,"long_len":7,"abbrev_len":7,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2,"max_label":7,"label_x":-18.673711,"label_y":64.779286,"ne_id":1159320917,"wikidataid":"Q189","name_ar":"آيسلندا","name_bn":"আইসল্যান্ড","name_de":"Island","name_en":"Iceland","name_es":"Islandia","name_fa":"ایسلند","name_fr":"Islande","name_el":"Ισλανδία","name_he":"איסלנד","name_hi":"आइसलैण्ड","name_hu":"Izland","name_id":"Islandia","name_it":"Islanda","name_ja":"アイスランド","name_ko":"아이슬란드","name_nl":"IJsland","name_pl":"Islandia","name_pt":"Islândia","name_ru":"Исландия","name_sv":"Island","name_tr":"İzlanda","name_uk":"Ісландія","name_ur":"آئس لینڈ","name_vi":"Iceland","name_zh":"冰岛","name_zht":"冰島","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ISL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-14.508695441129234,66.45589223903143],[-14.739637417041607,65.8087482774403],[-13.60973222497981,65.12667104761987],[-14.909833746794902,64.36408193628868],[-17.794438035543422,63.678749091233854],[-18.656245896874992,63.49638296167582],[-19.97275468594276,63.64363495549153],[-22.762971971110158,63.960178941495386],[-21.778484259517683,64.40211579045551],[-23.95504391121911,64.8911298692335],[-22.184402635170358,65.0849681667603],[-22.227423265053332,65.37859365504274],[-24.326184047939336,65.61118927678847],[-23.65051469572309,66.26251902939522],[-22.134922451250887,66.41046865504687],[-20.57628373867955,65.73211212835143],[-19.05684160000159,66.27660085719477],[-17.79862382655905,65.99385325790978],[-16.167818976292125,66.52679230413587],[-14.508695441129234,66.45589223903143]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Papua New Guinea","sov_a3":"PNG","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Papua New Guinea","adm0_a3":"PNG","geou_dif":0,"geounit":"Papua New Guinea","gu_a3":"PNG","su_dif":1,"subunit":"Papua New Guinea","su_a3":"PN1","brk_diff":0,"name":"Papua New Guinea","name_long":"Papua New Guinea","brk_a3":"PN1","brk_name":"Papua New Guinea","brk_group":null,"abbrev":"P.N.G.","postal":"PG","formal_en":"Independent State of Papua New Guinea","formal_fr":null,"name_ciawf":"Papua New Guinea","note_adm0":null,"note_brk":null,"name_sort":"Papua New Guinea","name_alt":null,"mapcolor7":4,"mapcolor8":2,"mapcolor9":3,"mapcolor13":1,"pop_est":8776109,"pop_rank":13,"pop_year":2019,"gdp_md":24829,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"PP","iso_a2":"PG","iso_a2_eh":"PG","iso_a3":"PNG","iso_a3_eh":"PNG","iso_n3":"598","iso_n3_eh":"598","un_a3":"598","wb_a2":"PG","wb_a3":"PNG","woe_id":23424926,"woe_id_eh":23424926,"woe_note":"Exact WOE match as country","adm0_iso":"PN1","adm0_diff":null,"adm0_tlc":"PN1","adm0_a3_us":"PNG","adm0_a3_fr":"PNG","adm0_a3_ru":"PNG","adm0_a3_es":"PNG","adm0_a3_cn":"PNG","adm0_a3_tw":"PNG","adm0_a3_in":"PNG","adm0_a3_np":"PNG","adm0_a3_pk":"PNG","adm0_a3_de":"PNG","adm0_a3_gb":"PNG","adm0_a3_br":"PNG","adm0_a3_il":"PNG","adm0_a3_ps":"PNG","adm0_a3_sa":"PNG","adm0_a3_eg":"PNG","adm0_a3_ma":"PNG","adm0_a3_pt":"PNG","adm0_a3_ar":"PNG","adm0_a3_jp":"PNG","adm0_a3_ko":"PNG","adm0_a3_vn":"PNG","adm0_a3_tr":"PNG","adm0_a3_id":"PNG","adm0_a3_pl":"PNG","adm0_a3_gr":"PNG","adm0_a3_it":"PNG","adm0_a3_nl":"PNG","adm0_a3_se":"PNG","adm0_a3_bd":"PNG","adm0_a3_ua":"PNG","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Oceania","region_un":"Oceania","subregion":"Melanesia","region_wb":"East Asia & Pacific","name_len":16,"long_len":16,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2.5,"max_label":7.5,"label_x":143.910216,"label_y":-5.695285,"ne_id":1159321173,"wikidataid":"Q691","name_ar":"بابوا غينيا الجديدة","name_bn":"পাপুয়া নিউগিনি","name_de":"Papua-Neuguinea","name_en":"Papua New Guinea","name_es":"Papúa Nueva Guinea","name_fa":"پاپوآ گینه نو","name_fr":"Papouasie-Nouvelle-Guinée","name_el":"Παπούα Νέα Γουινέα","name_he":"פפואה גינאה החדשה","name_hi":"पापुआ न्यू गिनी","name_hu":"Pápua Új-Guinea","name_id":"Papua Nugini","name_it":"Papua Nuova Guinea","name_ja":"パプアニューギニア","name_ko":"파푸아뉴기니","name_nl":"Papoea-Nieuw-Guinea","name_pl":"Papua-Nowa Gwinea","name_pt":"Papua-Nova Guiné","name_ru":"Папуа — Новая Гвинея","name_sv":"Papua Nya Guinea","name_tr":"Papua Yeni Gine","name_uk":"Папуа Нова Гвінея","name_ur":"پاپوا نیو گنی","name_vi":"Papua New Guinea","name_zh":"巴布亚新几内亚","name_zht":"巴布亞紐幾內亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"PNG.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[141.00021040259185,-2.60015105551566],[142.73524661679147,-3.28915292726321],[144.58397098203324,-3.861417738463416],[145.27317955950997,-4.373737888205049],[145.8297864117257,-4.876497897972683],[145.981921828393,-5.465609226100043],[147.64807335834757,-6.083659356310847],[147.89110761941623,-6.614014580922343],[146.97090538959486,-6.721656589386313],[147.19187381407494,-7.388024183790023],[148.08463585834932,-8.044108168167647],[148.73410525939357,-9.104663588093764],[149.30683515848443,-9.07143564213009],[149.26663089416132,-9.514406019736029],[150.03872846903425,-9.684318129111709],[149.7387984560122,-9.872937106977048],[150.80162763895913,-10.293686618697478],[150.6905749859639,-10.582712904505925],[150.02839318257583,-10.652476088099952],[149.78231001200197,-10.393267103723923],[148.92313764871727,-10.280922539921384],[147.913018426708,-10.13044076908745],[147.13544315001218,-9.492443536011983],[146.56788089415056,-8.942554619994155],[146.04848107318492,-8.067414239131281],[144.74416792213805,-7.630128269077446],[143.89708784400966,-7.915330498896296],[143.28637576718432,-8.24549122480908],[143.41391320208066,-8.983068942910982],[142.62843143124417,-9.326820570516524],[142.06825890520025,-9.159595635620022],[141.03385176001382,-9.117892754760483],[141.01705691951895,-5.859021905138071],[141.00021040259185,-2.60015105551566]]],[[[152.64001671774253,-3.659983005389691],[153.0199935243847,-3.980015150573265],[153.14003787659874,-4.499983412294092],[152.82729210836828,-4.766427097190991],[152.63867313050298,-4.176127211120921],[152.40602583232493,-3.789742526874583],[151.95323693258354,-3.462062269711816],[151.38427941305002,-3.035421644710112],[150.66204959533883,-2.741486097833935],[150.93996544820448,-2.500002129734007],[151.47998416565457,-2.779985039891379],[151.8200150901351,-2.999971612157886],[152.23998945537113,-3.24000864015364],[152.64001671774253,-3.659983005389691]]],[[[151.30139041565388,-5.840728448106752],[150.75444705627666,-6.083762709175431],[150.2411967307538,-6.317753594593028],[149.70996300679332,-6.316513360218025],[148.89006473205046,-6.026040134305404],[148.31893680236067,-5.747142429226166],[148.40182579975686,-5.437755629094717],[149.29841190002082,-5.58374155031926],[149.84556196512722,-5.505503431829368],[149.99625044169028,-5.026101169457654],[150.13975589416486,-5.001348158389852],[150.23690758687354,-5.532220147324267],[150.80746707580812,-5.455842380396874],[151.08967207255404,-5.113692722192383],[151.6478808941709,-4.757073662946162],[151.53786176982146,-4.167807305521933],[152.1367916200843,-4.14879037843852],[152.33874311748093,-4.312966403829805],[152.3186926617517,-4.867661228050771],[151.98279585185452,-5.478063246282382],[151.45910688700866,-5.560280450058754],[151.30139041565388,-5.840728448106752]]],[[[154.75999067608439,-5.339983819198495],[155.06291792217934,-5.56679168052753],[155.5477462099417,-6.200654799019645],[156.0199654482248,-6.540013929880381],[155.8800256695784,-6.819996840037753],[155.59999108298877,-6.919990736522522],[155.16699425681514,-6.535931491729322],[154.72919152243838,-5.900828138862195],[154.51411421123964,-5.139117526879986],[154.65250369691728,-5.04243092206189],[154.75999067608439,-5.339983819198495]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"Australia","sov_a3":"AU1","adm0_dif":1,"level":2,"type":"Country","tlc":"1","admin":"Australia","adm0_a3":"AUS","geou_dif":0,"geounit":"Australia","gu_a3":"AUS","su_dif":0,"subunit":"Australia","su_a3":"AUS","brk_diff":0,"name":"Australia","name_long":"Australia","brk_a3":"AUS","brk_name":"Australia","brk_group":null,"abbrev":"Auz.","postal":"AU","formal_en":"Commonwealth of Australia","formal_fr":null,"name_ciawf":"Australia","note_adm0":null,"note_brk":null,"name_sort":"Australia","name_alt":null,"mapcolor7":1,"mapcolor8":2,"mapcolor9":2,"mapcolor13":7,"pop_est":25364307,"pop_rank":15,"pop_year":2019,"gdp_md":1396567,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"AS","iso_a2":"AU","iso_a2_eh":"AU","iso_a3":"AUS","iso_a3_eh":"AUS","iso_n3":"036","iso_n3_eh":"036","un_a3":"036","wb_a2":"AU","wb_a3":"AUS","woe_id":-90,"woe_id_eh":23424748,"woe_note":"Includes Ashmore and Cartier Islands (23424749) and Coral Sea Islands (23424790).","adm0_iso":"AUS","adm0_diff":null,"adm0_tlc":"AUS","adm0_a3_us":"AUS","adm0_a3_fr":"AUS","adm0_a3_ru":"AUS","adm0_a3_es":"AUS","adm0_a3_cn":"AUS","adm0_a3_tw":"AUS","adm0_a3_in":"AUS","adm0_a3_np":"AUS","adm0_a3_pk":"AUS","adm0_a3_de":"AUS","adm0_a3_gb":"AUS","adm0_a3_br":"AUS","adm0_a3_il":"AUS","adm0_a3_ps":"AUS","adm0_a3_sa":"AUS","adm0_a3_eg":"AUS","adm0_a3_ma":"AUS","adm0_a3_pt":"AUS","adm0_a3_ar":"AUS","adm0_a3_jp":"AUS","adm0_a3_ko":"AUS","adm0_a3_vn":"AUS","adm0_a3_tr":"AUS","adm0_a3_id":"AUS","adm0_a3_pl":"AUS","adm0_a3_gr":"AUS","adm0_a3_it":"AUS","adm0_a3_nl":"AUS","adm0_a3_se":"AUS","adm0_a3_bd":"AUS","adm0_a3_ua":"AUS","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Oceania","region_un":"Oceania","subregion":"Australia and New Zealand","region_wb":"East Asia & Pacific","name_len":9,"long_len":9,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":1.7,"max_label":5.7,"label_x":134.04972,"label_y":-24.129522,"ne_id":1159320355,"wikidataid":"Q408","name_ar":"أستراليا","name_bn":"অস্ট্রেলিয়া","name_de":"Australien","name_en":"Australia","name_es":"Australia","name_fa":"استرالیا","name_fr":"Australie","name_el":"Αυστραλία","name_he":"אוסטרליה","name_hi":"ऑस्ट्रेलिया","name_hu":"Ausztrália","name_id":"Australia","name_it":"Australia","name_ja":"オーストラリア","name_ko":"오스트레일리아","name_nl":"Australië","name_pl":"Australia","name_pt":"Austrália","name_ru":"Австралия","name_sv":"Australien","name_tr":"Avustralya","name_uk":"Австралія","name_ur":"آسٹریلیا","name_vi":"Úc","name_zh":"澳大利亚","name_zht":"澳大利亞","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"AUS.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[147.68925947488418,-40.808258152022674],[148.289067824496,-40.87543751400211],[148.35986453673587,-42.06244516374644],[148.01730146707303,-42.40702361426865],[147.91405195535384,-43.211522312188535],[147.56456424376393,-42.937688897473905],[146.87034305235488,-43.6345972633621],[146.66332726459365,-43.58085377377856],[146.04837772032033,-43.549744561538844],[145.4319295595106,-42.693776137056254],[145.29509036680173,-42.033609714527564],[144.71807132383066,-41.16255177181576],[144.7437545106797,-40.70397511165767],[145.3979781434948,-40.79254851660594],[146.3641207216237,-41.13769540788336],[146.90858361225088,-41.00054615658073],[147.68925947488418,-40.808258152022674]]],[[[126.14871382050114,-32.21596607842059],[125.08862348846566,-32.72875131605285],[124.22164798390492,-32.95948658623607],[124.02894656788851,-33.4838473447017],[123.65966678273077,-33.89017913181271],[122.81103641163364,-33.914467054989885],[122.1830644064228,-34.0034021949642],[121.29919070850259,-33.821036065406176],[120.58026818245806,-33.93017669040661],[119.89369510302822,-33.9760653622818],[119.29889936734875,-34.50936614353394],[119.00734093635802,-34.46414926527854],[118.5057178081008,-34.74681934991509],[118.02497195848949,-35.0647327613747],[117.29550744025741,-35.02545867283287],[116.62510908413495,-35.02509693780683],[115.56434695847966,-34.38642791111157],[115.02680870977957,-34.19651702243893],[115.04861616420676,-33.623425388322055],[115.54512332566708,-33.48725798923297],[115.7146737000167,-33.25957162855497],[115.67937869676135,-32.900368747694166],[115.80164513556394,-32.205062351207005],[115.68961063035516,-31.612437025683807],[115.160909051577,-30.601594333622465],[114.99704308477948,-30.03072478609414],[115.04003787644629,-29.46109547294082],[114.64197431850201,-28.81023080822467],[114.6164978373821,-28.51639861421308],[114.17357913620847,-28.11807667410732],[114.04888390508816,-27.334765313427106],[113.47749759323692,-26.543134047147902],[113.33895307826242,-26.116545098578484],[113.77835778204022,-26.549025160429174],[113.44096235560656,-25.621278171493167],[113.93690107631167,-25.91123463308287],[114.23285200404723,-26.29844614024588],[114.21616051641698,-25.786281019801123],[113.7212553243577,-24.99893889740214],[113.62534386602397,-24.683971042583167],[113.39352339076264,-24.384764499613226],[113.5020438985756,-23.806350192970285],[113.70699262904515,-23.56021534596409],[113.84341841029567,-23.059987481378755],[113.73655154831609,-22.47547535572538],[114.1497563009219,-21.75588103606104],[114.22530724493262,-22.517488295178673],[114.6477620789187,-21.829519952076954],[115.46016727097924,-21.495173435148537],[115.94737267462702,-21.068687839443704],[116.71161543179153,-20.701681817306824],[117.16631635952771,-20.623598728113805],[117.44154503791424,-20.74689869556221],[118.229558953933,-20.37420826587322],[118.83608523974274,-20.263310642174858],[118.98780724495168,-20.044202569257315],[119.25249393115067,-19.952941989829867],[119.80522505094451,-19.976506442954964],[120.85622033089668,-19.683707777589206],[121.39985639860717,-19.239755547769725],[121.65513797412902,-18.70531788500717],[122.24166548064179,-18.197648614171804],[122.28662397673571,-17.798603204013958],[122.3127722514754,-17.25496713630345],[123.01257449757193,-16.405199883695886],[123.43378909718304,-17.268558037996215],[123.85934451710659,-17.069035332917288],[123.50324222218329,-16.596506036040402],[123.81707319549184,-16.111316013252],[124.25828657439985,-16.327943617419535],[124.37972619028575,-15.56705982835399],[124.92615278534004,-15.07510019293536],[125.16727501841387,-14.680395603090028],[125.67008670461381,-14.510070082256014],[125.68579634003055,-14.23065561285385],[126.12514936737608,-14.347340996968903],[126.14282270721986,-14.095986830301227],[126.58258914602374,-13.952791436420448],[127.06586714081732,-13.817967624570954],[127.80463341686196,-14.27690601975508],[128.35968997610894,-14.869169610252243],[128.98554324759584,-14.875990899314765],[129.62147342337965,-14.969783623924522],[129.40960005098293,-14.42066985439107],[129.8886405783286,-13.618703301653492],[130.33946577364293,-13.357375583553484],[130.18350630098604,-13.107520033422276],[130.61779503796697,-12.536392103732489],[131.22349450086,-12.183648776908166],[131.73509118054955,-12.302452894747184],[132.5752982931831,-12.114040622611007],[132.55721154188097,-11.603012383676678],[131.82469811414364,-11.27378183354515],[132.3572237489114,-11.128519382372696],[133.01956058159635,-11.376411228076812],[133.55084598198908,-11.786515394745116],[134.39306847548204,-12.042365411022182],[134.67863244032696,-11.941182956594693],[135.29849124566795,-12.248606052299046],[135.8826933127276,-11.962266940969776],[136.2583809754895,-12.049341729381588],[136.49247521377168,-11.857208754120398],[136.951620314685,-12.351958916882793],[136.6851249533558,-12.887223402562022],[136.3054065288751,-13.291229750219884],[135.96175825413417,-13.324509372615852],[136.07761681533253,-13.724278252825783],[135.78383629775323,-14.2239893530882],[135.4286641786112,-14.715432224183912],[135.50018436090318,-14.997740573794424],[136.2951745952813,-15.55026498785913],[137.06536014215942,-15.87076222093333],[137.5804708192448,-16.21508228929408],[138.30321740127897,-16.807604261952704],[138.58516401586343,-16.806622409739155],[139.10854292211548,-17.06267913174539],[139.2605749859182,-17.371600843986208],[140.21524539607827,-17.710804945550066],[140.87546349503924,-17.369068698803908],[141.07111046769626,-16.83204721442676],[141.27409549373874,-16.38887013109165],[141.39822228410384,-15.840531508042588],[141.70218305884464,-15.044921156476901],[141.56338016170866,-14.561333103089552],[141.6355204611881,-14.270394789286307],[141.5198686057189,-13.698078301653808],[141.65092003801107,-12.944687595270585],[141.8426912782462,-12.741547539931231],[141.68699018775084,-12.407614434461145],[141.9286291851476,-11.877465915578817],[142.11848839738798,-11.328042087451612],[142.1437064963464,-11.042736504768186],[142.51526004452495,-10.668185723516686],[142.797310011974,-11.157354831591562],[142.86676313697427,-11.784706719614903],[143.11594689348573,-11.905629571177885],[143.15863162655876,-12.325655612846232],[143.5221236512998,-12.834358412327433],[143.5971578309876,-13.400422051652612],[143.5618111513,-13.763655694232192],[143.9220992372389,-14.548310642151996],[144.56371382057483,-14.171176039285903],[144.89490807513346,-14.594457696188641],[145.3747237489635,-14.98497649501833],[145.27199100156724,-15.428205254785732],[145.4852596376358,-16.28567229580478],[145.637033319277,-16.78491830817657],[145.88890425026761,-16.906926364817686],[146.16030887266453,-17.761654554925272],[146.06367394427872,-18.28007252367734],[146.38747846901964,-18.958274021075887],[147.4710815777479,-19.48072275154673],[148.17760176004242,-19.9559392229028],[148.84841352762322,-20.391209812097244],[148.71746544819558,-20.63346892668155],[149.28942020080206,-21.260510756111135],[149.6783370302307,-22.342511895438385],[150.07738244038853,-22.122783705333337],[150.48293908101516,-22.556142266532994],[150.72726525289113,-22.402404880464665],[150.89955447815225,-23.462236830338696],[151.60917524638427,-24.07625619883074],[152.07353966695905,-24.457886651306225],[152.8551973818059,-25.267501316023],[153.1361621441768,-26.071173191026215],[153.16194868389044,-26.641319268502457],[153.0929089703485,-27.260299574494514],[153.56946902894418,-28.11006682710208],[153.51210818910022,-28.99507740653271],[153.339095493787,-29.45820159273248],[153.06924116435886,-30.350240166954794],[153.08960167868184,-30.923641859665423],[152.89157759013938,-31.640445651986],[152.45000247620533,-32.550002536755265],[151.70911746643674,-33.041342054986394],[151.3439717958624,-33.81602345147387],[151.0105554547152,-34.31036020277793],[150.71413943908902,-35.173459974916796],[150.3282198427333,-35.671879164371916],[150.0752120302323,-36.42020558039054],[149.9461243023672,-37.10905242284121],[149.99728397033613,-37.42526051203518],[149.42388227762552,-37.77268116633344],[148.30462243061584,-37.809061374666925],[147.38173302631526,-38.21921721776752],[146.92212283751132,-38.606532077795116],[146.31792199115478,-39.03575652441141],[145.4896521343806,-38.59376799901902],[144.87697635312816,-38.41744801203915],[145.03221235573295,-37.89618783951102],[144.48568240781407,-38.085323581699285],[143.60997358619602,-38.8094654274053],[142.74542687395297,-38.538267510737555],[142.17832970598192,-38.380034275059835],[141.60658165910468,-38.30851409276788],[140.63857872941327,-38.019332777662555],[139.99215823787426,-37.402936293285094],[139.8065881695141,-36.64360279718831],[139.57414757706528,-36.13836231867066],[139.08280805883413,-35.732754001611745],[138.12074791885635,-35.61229623793939],[138.44946170466494,-35.127261244447865],[138.20756432510672,-34.38472258884593],[137.71917036351618,-35.076825046531],[136.8294055523147,-35.26053476332861],[137.35237104710848,-34.7073385556441],[137.50388634658827,-34.13026783624075],[137.8901160015377,-33.64047861097838],[137.81032759007905,-32.90000701266812],[136.9968371929404,-33.752771498348615],[136.37206912653164,-34.094766127256236],[135.98904341038428,-34.89011809666046],[135.20821251845405,-34.478670342752565],[135.23921837782916,-33.94795338311502],[134.6134167827746,-33.222778008763164],[134.08590376193916,-32.84807219821479],[134.27390262261702,-32.61723357516699],[132.99077680880976,-32.01122405368019],[132.28808068250487,-31.982646986622782],[131.32633060112084,-31.49580331800104],[129.53579389863972,-31.590422865527465],[128.24093753470225,-31.948488864877852],[127.1028674663383,-32.28226694105106],[126.14871382050114,-32.21596607842059]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":6,"sovereignt":"Fiji","sov_a3":"FJI","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Fiji","adm0_a3":"FJI","geou_dif":0,"geounit":"Fiji","gu_a3":"FJI","su_dif":0,"subunit":"Fiji","su_a3":"FJI","brk_diff":0,"name":"Fiji","name_long":"Fiji","brk_a3":"FJI","brk_name":"Fiji","brk_group":null,"abbrev":"Fiji","postal":"FJ","formal_en":"Republic of Fiji","formal_fr":null,"name_ciawf":"Fiji","note_adm0":null,"note_brk":null,"name_sort":"Fiji","name_alt":null,"mapcolor7":5,"mapcolor8":1,"mapcolor9":2,"mapcolor13":2,"pop_est":889953,"pop_rank":11,"pop_year":2019,"gdp_md":5496,"gdp_year":2019,"economy":"6. Developing region","income_grp":"4. Lower middle income","fips_10":"FJ","iso_a2":"FJ","iso_a2_eh":"FJ","iso_a3":"FJI","iso_a3_eh":"FJI","iso_n3":"242","iso_n3_eh":"242","un_a3":"242","wb_a2":"FJ","wb_a3":"FJI","woe_id":23424813,"woe_id_eh":23424813,"woe_note":"Exact WOE match as country","adm0_iso":"FJI","adm0_diff":null,"adm0_tlc":"FJI","adm0_a3_us":"FJI","adm0_a3_fr":"FJI","adm0_a3_ru":"FJI","adm0_a3_es":"FJI","adm0_a3_cn":"FJI","adm0_a3_tw":"FJI","adm0_a3_in":"FJI","adm0_a3_np":"FJI","adm0_a3_pk":"FJI","adm0_a3_de":"FJI","adm0_a3_gb":"FJI","adm0_a3_br":"FJI","adm0_a3_il":"FJI","adm0_a3_ps":"FJI","adm0_a3_sa":"FJI","adm0_a3_eg":"FJI","adm0_a3_ma":"FJI","adm0_a3_pt":"FJI","adm0_a3_ar":"FJI","adm0_a3_jp":"FJI","adm0_a3_ko":"FJI","adm0_a3_vn":"FJI","adm0_a3_tr":"FJI","adm0_a3_id":"FJI","adm0_a3_pl":"FJI","adm0_a3_gr":"FJI","adm0_a3_it":"FJI","adm0_a3_nl":"FJI","adm0_a3_se":"FJI","adm0_a3_bd":"FJI","adm0_a3_ua":"FJI","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Oceania","region_un":"Oceania","subregion":"Melanesia","region_wb":"East Asia & Pacific","name_len":4,"long_len":4,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":177.975427,"label_y":-17.826099,"ne_id":1159320625,"wikidataid":"Q712","name_ar":"فيجي","name_bn":"ফিজি","name_de":"Fidschi","name_en":"Fiji","name_es":"Fiyi","name_fa":"فیجی","name_fr":"Fidji","name_el":"Φίτζι","name_he":"פיג'י","name_hi":"फ़िजी","name_hu":"Fidzsi-szigetek","name_id":"Fiji","name_it":"Figi","name_ja":"フィジー","name_ko":"피지","name_nl":"Fiji","name_pl":"Fidżi","name_pt":"Fiji","name_ru":"Фиджи","name_sv":"Fiji","name_tr":"Fiji","name_uk":"Фіджі","name_ur":"فجی","name_vi":"Fiji","name_zh":"斐济","name_zht":"斐濟","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"FJI.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[180,-16.067132663642447],[180,-16.555216566639196],[179.36414266196414,-16.801354076946883],[178.72505936299711,-17.01204167436804],[178.59683859511713,-16.63915],[179.0966093629971,-16.433984277547403],[179.4135093629971,-16.379054277547404],[180,-16.067132663642447]]],[[[178.12557,-17.50481],[178.3736,-17.33992],[178.71806,-17.62846],[178.55271,-18.15059],[177.93266,-18.28799],[177.38146,-18.16432],[177.28504,-17.72465],[177.67087,-17.38114],[178.12557,-17.50481]]],[[[-179.79332010904864,-16.020882256741224],[-179.9173693847653,-16.501783135649397],[-180,-16.555216566639196],[-180,-16.067132663642447],[-179.79332010904864,-16.020882256741224]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":2,"sovereignt":"New Zealand","sov_a3":"NZ1","adm0_dif":1,"level":2,"type":"Country","tlc":"1","admin":"New Zealand","adm0_a3":"NZL","geou_dif":0,"geounit":"New Zealand","gu_a3":"NZL","su_dif":0,"subunit":"New Zealand","su_a3":"NZL","brk_diff":0,"name":"New Zealand","name_long":"New Zealand","brk_a3":"NZL","brk_name":"New Zealand","brk_group":null,"abbrev":"N.Z.","postal":"NZ","formal_en":"New Zealand","formal_fr":null,"name_ciawf":"New Zealand","note_adm0":null,"note_brk":null,"name_sort":"New Zealand","name_alt":null,"mapcolor7":3,"mapcolor8":3,"mapcolor9":4,"mapcolor13":4,"pop_est":4917000,"pop_rank":12,"pop_year":2019,"gdp_md":206928,"gdp_year":2019,"economy":"2. Developed region: nonG7","income_grp":"1. High income: OECD","fips_10":"NZ","iso_a2":"NZ","iso_a2_eh":"NZ","iso_a3":"NZL","iso_a3_eh":"NZL","iso_n3":"554","iso_n3_eh":"554","un_a3":"554","wb_a2":"NZ","wb_a3":"NZL","woe_id":23424916,"woe_id_eh":23424916,"woe_note":"Exact WOE match as country","adm0_iso":"NZL","adm0_diff":null,"adm0_tlc":"NZL","adm0_a3_us":"NZL","adm0_a3_fr":"NZL","adm0_a3_ru":"NZL","adm0_a3_es":"NZL","adm0_a3_cn":"NZL","adm0_a3_tw":"NZL","adm0_a3_in":"NZL","adm0_a3_np":"NZL","adm0_a3_pk":"NZL","adm0_a3_de":"NZL","adm0_a3_gb":"NZL","adm0_a3_br":"NZL","adm0_a3_il":"NZL","adm0_a3_ps":"NZL","adm0_a3_sa":"NZL","adm0_a3_eg":"NZL","adm0_a3_ma":"NZL","adm0_a3_pt":"NZL","adm0_a3_ar":"NZL","adm0_a3_jp":"NZL","adm0_a3_ko":"NZL","adm0_a3_vn":"NZL","adm0_a3_tr":"NZL","adm0_a3_id":"NZL","adm0_a3_pl":"NZL","adm0_a3_gr":"NZL","adm0_a3_it":"NZL","adm0_a3_nl":"NZL","adm0_a3_se":"NZL","adm0_a3_bd":"NZL","adm0_a3_ua":"NZL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Oceania","region_un":"Oceania","subregion":"Australia and New Zealand","region_wb":"East Asia & Pacific","name_len":11,"long_len":11,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":2,"max_label":6.7,"label_x":172.787,"label_y":-39.759,"ne_id":1159321135,"wikidataid":"Q664","name_ar":"نيوزيلندا","name_bn":"নিউজিল্যান্ড","name_de":"Neuseeland","name_en":"New Zealand","name_es":"Nueva Zelanda","name_fa":"نیوزیلند","name_fr":"Nouvelle-Zélande","name_el":"Νέα Ζηλανδία","name_he":"ניו זילנד","name_hi":"न्यूज़ीलैण्ड","name_hu":"Új-Zéland","name_id":"Selandia Baru","name_it":"Nuova Zelanda","name_ja":"ニュージーランド","name_ko":"뉴질랜드","name_nl":"Nieuw-Zeeland","name_pl":"Nowa Zelandia","name_pt":"Nova Zelândia","name_ru":"Новая Зеландия","name_sv":"Nya Zeeland","name_tr":"Yeni Zelanda","name_uk":"Нова Зеландія","name_ur":"نیوزی لینڈ","name_vi":"New Zealand","name_zh":"新西兰","name_zht":"新西蘭","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"NZL.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[176.8858236026052,-40.0659778785822],[176.50801720611926,-40.60480803808957],[176.01244022044023,-41.28962411882147],[175.23956749908297,-41.68830779395328],[175.06789839100935,-41.42589487077513],[174.65097293527847,-41.2818209775454],[175.22763024322356,-40.45923552832336],[174.9001566917899,-39.9089332008472],[173.82404666574394,-39.50885426204351],[173.85226199777532,-39.14660247167748],[174.57480187408035,-38.797683200842755],[174.74347374908098,-38.02780771255843],[174.6970166364506,-37.38112883885792],[174.2920284365792,-36.71109221776149],[174.31900353423552,-36.53482390721391],[173.8409965355357,-36.12198088963413],[173.0541711774596,-35.23712533950039],[172.63600548735377,-34.52910654066943],[173.00704227120946,-34.45066171645037],[173.55129845610747,-35.00618336358801],[174.3293904971262,-35.26549570082862],[174.61200890533044,-36.15639739354052],[175.33661583892712,-37.20909799575827],[175.3575964704376,-36.52619394302117],[175.80888675364253,-36.79894215265767],[175.9584900251275,-37.55538176854612],[176.76319542877656,-37.881253350578675],[177.4388131045605,-37.961248467766495],[178.01035444570866,-37.579824721020174],[178.51709354076274,-37.6953732236248],[178.27473107331383,-38.58281259537314],[177.97046023997927,-39.166342868812976],[177.20699262929918,-39.14577564876082],[176.93998050364706,-39.44973642350161],[177.0329464053401,-39.879942722331464],[176.8858236026052,-40.0659778785822]]],[[[169.66781456937315,-43.555325616226376],[170.52491987536615,-43.031688327812816],[171.125089960004,-42.51275359473782],[171.56971398344325,-41.767424411792135],[171.94870893787186,-41.514416599291124],[172.0972270042787,-40.956104424809716],[172.79857954334403,-40.4939620908235],[173.02037479074076,-40.919052422856446],[173.2472343285021,-41.33199879330081],[173.9584053897028,-40.926700534835646],[174.24758670480816,-41.34915536882171],[174.24851688058942,-41.77000823340673],[173.87644656808794,-42.23318409603879],[173.2227396995957,-42.970038344088614],[172.71124637277074,-43.372287693048555],[173.08011274647015,-43.853343601253606],[172.3085836123525,-43.86569426857136],[171.45292524646362,-44.2425188128437],[171.18513797432718,-44.89710418068486],[170.61669721911653,-45.908928724959736],[169.8314221540093,-46.35577483498757],[169.33233117093428,-46.641235446967876],[168.41135379462855,-46.61994475686363],[167.76374474514682,-46.29019744240919],[166.67688602118417,-46.219917494492236],[166.50914432196467,-45.85270476662619],[167.0464241885033,-45.110941257508635],[168.30376346259686,-44.12397307716614],[168.94940880765157,-43.935819187191434],[169.66781456937315,-43.555325616226376]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"France","sov_a3":"FR1","adm0_dif":1,"level":2,"type":"Dependency","tlc":"1","admin":"New Caledonia","adm0_a3":"NCL","geou_dif":0,"geounit":"New Caledonia","gu_a3":"NCL","su_dif":0,"subunit":"New Caledonia","su_a3":"NCL","brk_diff":0,"name":"New Caledonia","name_long":"New Caledonia","brk_a3":"NCL","brk_name":"New Caledonia","brk_group":null,"abbrev":"New C.","postal":"NC","formal_en":"New Caledonia","formal_fr":"Nouvelle-Calédonie","name_ciawf":"New Caledonia","note_adm0":"Fr.","note_brk":null,"name_sort":"New Caledonia","name_alt":null,"mapcolor7":7,"mapcolor8":5,"mapcolor9":9,"mapcolor13":11,"pop_est":287800,"pop_rank":10,"pop_year":2019,"gdp_md":10770,"gdp_year":2016,"economy":"6. Developing region","income_grp":"2. High income: nonOECD","fips_10":"NC","iso_a2":"NC","iso_a2_eh":"NC","iso_a3":"NCL","iso_a3_eh":"NCL","iso_n3":"540","iso_n3_eh":"540","un_a3":"540","wb_a2":"NC","wb_a3":"NCL","woe_id":23424903,"woe_id_eh":23424903,"woe_note":"Exact WOE match as country","adm0_iso":"NCL","adm0_diff":null,"adm0_tlc":"NCL","adm0_a3_us":"NCL","adm0_a3_fr":"NCL","adm0_a3_ru":"NCL","adm0_a3_es":"NCL","adm0_a3_cn":"NCL","adm0_a3_tw":"NCL","adm0_a3_in":"NCL","adm0_a3_np":"NCL","adm0_a3_pk":"NCL","adm0_a3_de":"NCL","adm0_a3_gb":"NCL","adm0_a3_br":"NCL","adm0_a3_il":"NCL","adm0_a3_ps":"NCL","adm0_a3_sa":"NCL","adm0_a3_eg":"NCL","adm0_a3_ma":"NCL","adm0_a3_pt":"NCL","adm0_a3_ar":"NCL","adm0_a3_jp":"NCL","adm0_a3_ko":"NCL","adm0_a3_vn":"NCL","adm0_a3_tr":"NCL","adm0_a3_id":"NCL","adm0_a3_pl":"NCL","adm0_a3_gr":"NCL","adm0_a3_it":"NCL","adm0_a3_nl":"NCL","adm0_a3_se":"NCL","adm0_a3_bd":"NCL","adm0_a3_ua":"NCL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Oceania","region_un":"Oceania","subregion":"Melanesia","region_wb":"East Asia & Pacific","name_len":13,"long_len":13,"abbrev_len":6,"tiny":-99,"homepart":-99,"min_zoom":0,"min_label":4.6,"max_label":8,"label_x":165.084004,"label_y":-21.064697,"ne_id":1159320641,"wikidataid":"Q33788","name_ar":"كاليدونيا الجديدة","name_bn":"নতুন ক্যালিডোনিয়া","name_de":"Neukaledonien","name_en":"New Caledonia","name_es":"Nueva Caledonia","name_fa":"کالدونیای جدید","name_fr":"Nouvelle-Calédonie","name_el":"Νέα Καληδονία","name_he":"קלדוניה החדשה","name_hi":"नया कैलेडोनिया","name_hu":"Új-Kaledónia","name_id":"Kaledonia Baru","name_it":"Nuova Caledonia","name_ja":"ニューカレドニア","name_ko":"누벨칼레도니","name_nl":"Nieuw-Caledonië","name_pl":"Nowa Kaledonia","name_pt":"Nova Caledónia","name_ru":"Новая Каледония","name_sv":"Nya Kaledonien","name_tr":"Yeni Kaledonya","name_uk":"Нова Каледонія","name_ur":"نیو کیلیڈونیا","name_vi":"Nouvelle-Calédonie","name_zh":"新喀里多尼亚","name_zht":"新喀里多尼亞","fclass_iso":"Admin-0 dependency","tlc_diff":null,"fclass_tlc":"Admin-0 dependency","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"NCL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[165.77998986232637,-21.08000497811563],[166.59999148993384,-21.700018812753527],[167.1200114280869,-22.15999073658349],[166.7400346214448,-22.39997608814695],[166.18973229396866,-22.129708347260454],[165.47437544175222,-21.679606621998232],[164.82981530177568,-21.14981983814195],[164.16799523341365,-20.444746595951628],[164.029605747736,-20.105645847252354],[164.45996707586272,-20.1200118954295],[165.02003624904205,-20.45999114347773],[165.46000939357512,-20.80002206795826],[165.77998986232637,-21.08000497811563]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":3,"sovereignt":"Solomon Islands","sov_a3":"SLB","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Solomon Islands","adm0_a3":"SLB","geou_dif":0,"geounit":"Solomon Islands","gu_a3":"SLB","su_dif":0,"subunit":"Solomon Islands","su_a3":"SLB","brk_diff":0,"name":"Solomon Is.","name_long":"Solomon Islands","brk_a3":"SLB","brk_name":"Solomon Is.","brk_group":null,"abbrev":"S. Is.","postal":"SB","formal_en":null,"formal_fr":null,"name_ciawf":"Solomon Islands","note_adm0":null,"note_brk":null,"name_sort":"Solomon Islands","name_alt":null,"mapcolor7":1,"mapcolor8":4,"mapcolor9":1,"mapcolor13":6,"pop_est":669823,"pop_rank":11,"pop_year":2019,"gdp_md":1589,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"4. Lower middle income","fips_10":"BP","iso_a2":"SB","iso_a2_eh":"SB","iso_a3":"SLB","iso_a3_eh":"SLB","iso_n3":"090","iso_n3_eh":"090","un_a3":"090","wb_a2":"SB","wb_a3":"SLB","woe_id":23424766,"woe_id_eh":23424766,"woe_note":"Exact WOE match as country","adm0_iso":"SLB","adm0_diff":null,"adm0_tlc":"SLB","adm0_a3_us":"SLB","adm0_a3_fr":"SLB","adm0_a3_ru":"SLB","adm0_a3_es":"SLB","adm0_a3_cn":"SLB","adm0_a3_tw":"SLB","adm0_a3_in":"SLB","adm0_a3_np":"SLB","adm0_a3_pk":"SLB","adm0_a3_de":"SLB","adm0_a3_gb":"SLB","adm0_a3_br":"SLB","adm0_a3_il":"SLB","adm0_a3_ps":"SLB","adm0_a3_sa":"SLB","adm0_a3_eg":"SLB","adm0_a3_ma":"SLB","adm0_a3_pt":"SLB","adm0_a3_ar":"SLB","adm0_a3_jp":"SLB","adm0_a3_ko":"SLB","adm0_a3_vn":"SLB","adm0_a3_tr":"SLB","adm0_a3_id":"SLB","adm0_a3_pl":"SLB","adm0_a3_gr":"SLB","adm0_a3_it":"SLB","adm0_a3_nl":"SLB","adm0_a3_se":"SLB","adm0_a3_bd":"SLB","adm0_a3_ua":"SLB","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Oceania","region_un":"Oceania","subregion":"Melanesia","region_wb":"East Asia & Pacific","name_len":11,"long_len":15,"abbrev_len":6,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":3,"max_label":8,"label_x":159.170468,"label_y":-8.029548,"ne_id":1159321249,"wikidataid":"Q685","name_ar":"جزر سليمان","name_bn":"সলোমন দ্বীপপুঞ্জ","name_de":"Salomonen","name_en":"Solomon Islands","name_es":"Islas Salomón","name_fa":"جزایر سلیمان","name_fr":"Îles Salomon","name_el":"Νησιά Σολομώντα","name_he":"איי שלמה","name_hi":"सोलोमन द्वीपसमूह","name_hu":"Salamon-szigetek","name_id":"Kepulauan Solomon","name_it":"Isole Salomone","name_ja":"ソロモン諸島","name_ko":"솔로몬 제도","name_nl":"Salomonseilanden","name_pl":"Wyspy Salomona","name_pt":"Ilhas Salomão","name_ru":"Соломоновы Острова","name_sv":"Salomonöarna","name_tr":"Solomon Adaları","name_uk":"Соломонові Острови","name_ur":"جزائر سلیمان","name_vi":"Quần đảo Solomon","name_zh":"所罗门群岛","name_zht":"索羅門群島","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"SLB.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[162.1190246930409,-10.48271900802115],[162.3986458681722,-10.826367282762106],[161.70003218001835,-10.820011081590211],[161.31979699121476,-10.204751478723168],[161.91738325423802,-10.446700534713713],[162.1190246930409,-10.48271900802115]]],[[[161.67998172428912,-9.599982191611367],[161.5293966005906,-9.784312025596485],[160.78825320866054,-8.917543226764892],[160.57999718652434,-8.32000864017396],[160.92002811100485,-8.32000864017396],[161.28000613835,-9.120011488484451],[161.67998172428912,-9.599982191611367]]],[[[160.85222863183787,-9.872937106977048],[160.4625883323572,-9.895209649294841],[159.84944746321412,-9.794027194867354],[159.64000288313514,-9.639979750205278],[159.70294477766663,-9.242949720906815],[160.36295617089843,-9.40030445723557],[160.68851769433724,-9.610162448772869],[160.85222863183787,-9.872937106977048]]],[[[159.64000288313514,-8.020026950719632],[159.87502729719859,-8.337320244991737],[159.91740197167792,-8.53828989017483],[159.13367719953936,-8.114181410355428],[158.5861137229747,-7.754823500197737],[158.21114953026483,-7.421872246941199],[158.35997765526542,-7.320017998893917],[158.8200012555277,-7.560003350457379],[159.64000288313514,-8.020026950719632]]],[[[157.14000044171888,-7.021638278840641],[157.5384257346892,-7.347819919466943],[157.33941979393325,-7.404767347852592],[156.90203047101483,-7.176874281445428],[156.4913578635913,-6.765943291860452],[156.542827590154,-6.599338474151452],[157.14000044171888,-7.021638278840641]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Vanuatu","sov_a3":"VUT","adm0_dif":0,"level":2,"type":"Sovereign country","tlc":"1","admin":"Vanuatu","adm0_a3":"VUT","geou_dif":0,"geounit":"Vanuatu","gu_a3":"VUT","su_dif":0,"subunit":"Vanuatu","su_a3":"VUT","brk_diff":0,"name":"Vanuatu","name_long":"Vanuatu","brk_a3":"VUT","brk_name":"Vanuatu","brk_group":null,"abbrev":"Van.","postal":"VU","formal_en":"Republic of Vanuatu","formal_fr":null,"name_ciawf":"Vanuatu","note_adm0":null,"note_brk":null,"name_sort":"Vanuatu","name_alt":null,"mapcolor7":6,"mapcolor8":3,"mapcolor9":7,"mapcolor13":3,"pop_est":299882,"pop_rank":10,"pop_year":2019,"gdp_md":934,"gdp_year":2019,"economy":"7. Least developed region","income_grp":"4. Lower middle income","fips_10":"NH","iso_a2":"VU","iso_a2_eh":"VU","iso_a3":"VUT","iso_a3_eh":"VUT","iso_n3":"548","iso_n3_eh":"548","un_a3":"548","wb_a2":"VU","wb_a3":"VUT","woe_id":23424907,"woe_id_eh":23424907,"woe_note":"Exact WOE match as country","adm0_iso":"VUT","adm0_diff":null,"adm0_tlc":"VUT","adm0_a3_us":"VUT","adm0_a3_fr":"VUT","adm0_a3_ru":"VUT","adm0_a3_es":"VUT","adm0_a3_cn":"VUT","adm0_a3_tw":"VUT","adm0_a3_in":"VUT","adm0_a3_np":"VUT","adm0_a3_pk":"VUT","adm0_a3_de":"VUT","adm0_a3_gb":"VUT","adm0_a3_br":"VUT","adm0_a3_il":"VUT","adm0_a3_ps":"VUT","adm0_a3_sa":"VUT","adm0_a3_eg":"VUT","adm0_a3_ma":"VUT","adm0_a3_pt":"VUT","adm0_a3_ar":"VUT","adm0_a3_jp":"VUT","adm0_a3_ko":"VUT","adm0_a3_vn":"VUT","adm0_a3_tr":"VUT","adm0_a3_id":"VUT","adm0_a3_pl":"VUT","adm0_a3_gr":"VUT","adm0_a3_it":"VUT","adm0_a3_nl":"VUT","adm0_a3_se":"VUT","adm0_a3_bd":"VUT","adm0_a3_ua":"VUT","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Oceania","region_un":"Oceania","subregion":"Melanesia","region_wb":"East Asia & Pacific","name_len":7,"long_len":7,"abbrev_len":4,"tiny":2,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":166.908762,"label_y":-15.37153,"ne_id":1159321421,"wikidataid":"Q686","name_ar":"فانواتو","name_bn":"ভানুয়াতু","name_de":"Vanuatu","name_en":"Vanuatu","name_es":"Vanuatu","name_fa":"وانواتو","name_fr":"Vanuatu","name_el":"Βανουάτου","name_he":"ונואטו","name_hi":"वानूआटू","name_hu":"Vanuatu","name_id":"Vanuatu","name_it":"Vanuatu","name_ja":"バヌアツ","name_ko":"바누아투","name_nl":"Vanuatu","name_pl":"Vanuatu","name_pt":"Vanuatu","name_ru":"Вануату","name_sv":"Vanuatu","name_tr":"Vanuatu","name_uk":"Вануату","name_ur":"وانواتو","name_vi":"Vanuatu","name_zh":"瓦努阿图","name_zht":"萬那杜","fclass_iso":"Admin-0 country","tlc_diff":null,"fclass_tlc":"Admin-0 country","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"VUT.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[167.2168013857696,-15.89184620530842],[167.84487674384502,-16.46633310309717],[167.51518110582288,-16.59784962327999],[167.1800077659778,-16.159995212470946],[167.2168013857696,-15.89184620530842]]],[[[166.79315799384085,-15.668810723536687],[166.6498592470955,-15.392703545801211],[166.6291369977464,-14.626497084209605],[167.10771243720149,-14.933920179913954],[167.27002811103023,-15.740020847234888],[167.00120731024793,-15.614602146062516],[166.79315799384085,-15.668810723536687]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"labelrank":4,"sovereignt":"Antarctica","sov_a3":"ATA","adm0_dif":0,"level":2,"type":"Indeterminate","tlc":"1","admin":"Antarctica","adm0_a3":"ATA","geou_dif":0,"geounit":"Antarctica","gu_a3":"ATA","su_dif":0,"subunit":"Antarctica","su_a3":"ATA","brk_diff":0,"name":"Antarctica","name_long":"Antarctica","brk_a3":"ATA","brk_name":"Antarctica","brk_group":null,"abbrev":"Ant.","postal":"AQ","formal_en":null,"formal_fr":null,"name_ciawf":null,"note_adm0":"By treaty","note_brk":"Multiple claims held in abeyance by treaty","name_sort":"Antarctica","name_alt":null,"mapcolor7":4,"mapcolor8":5,"mapcolor9":1,"mapcolor13":-99,"pop_est":4490,"pop_rank":4,"pop_year":2019,"gdp_md":898,"gdp_year":2013,"economy":"6. Developing region","income_grp":"2. High income: nonOECD","fips_10":"AY","iso_a2":"AQ","iso_a2_eh":"AQ","iso_a3":"ATA","iso_a3_eh":"ATA","iso_n3":"010","iso_n3_eh":"010","un_a3":"010","wb_a2":"-99","wb_a3":"-99","woe_id":28289409,"woe_id_eh":28289409,"woe_note":"Exact WOE match as country","adm0_iso":"ATA","adm0_diff":null,"adm0_tlc":"ATA","adm0_a3_us":"ATA","adm0_a3_fr":"ATA","adm0_a3_ru":"ATA","adm0_a3_es":"ATA","adm0_a3_cn":"ATA","adm0_a3_tw":"ATA","adm0_a3_in":"ATA","adm0_a3_np":"ATA","adm0_a3_pk":"ATA","adm0_a3_de":"ATA","adm0_a3_gb":"ATA","adm0_a3_br":"ATA","adm0_a3_il":"ATA","adm0_a3_ps":"ATA","adm0_a3_sa":"ATA","adm0_a3_eg":"ATA","adm0_a3_ma":"ATA","adm0_a3_pt":"ATA","adm0_a3_ar":"ATA","adm0_a3_jp":"ATA","adm0_a3_ko":"ATA","adm0_a3_vn":"ATA","adm0_a3_tr":"ATA","adm0_a3_id":"ATA","adm0_a3_pl":"ATA","adm0_a3_gr":"ATA","adm0_a3_it":"ATA","adm0_a3_nl":"ATA","adm0_a3_se":"ATA","adm0_a3_bd":"ATA","adm0_a3_ua":"ATA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Antarctica","region_un":"Antarctica","subregion":"Antarctica","region_wb":"Antarctica","name_len":10,"long_len":10,"abbrev_len":4,"tiny":-99,"homepart":1,"min_zoom":0,"min_label":4,"max_label":9,"label_x":35.885455,"label_y":-79.843222,"ne_id":1159320335,"wikidataid":"Q51","name_ar":"القارة القطبية الجنوبية","name_bn":"অ্যান্টার্কটিকা","name_de":"Antarktika","name_en":"Antarctica","name_es":"Antártida","name_fa":"جنوبگان","name_fr":"Antarctique","name_el":"Ανταρκτική","name_he":"אנטארקטיקה","name_hi":"अंटार्कटिका","name_hu":"Antarktika","name_id":"Antartika","name_it":"Antartide","name_ja":"南極大陸","name_ko":"남극","name_nl":"Antarctica","name_pl":"Antarktyda","name_pt":"Antártida","name_ru":"Антарктида","name_sv":"Antarktis","name_tr":"Antarktika","name_uk":"Антарктида","name_ur":"انٹارکٹکا","name_vi":"Châu Nam Cực","name_zh":"南极洲","name_zht":"南極洲","fclass_iso":"Admin-0 dependency","tlc_diff":null,"fclass_tlc":"Admin-0 dependency","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ATA.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-48.66061601418252,-78.04701873159873],[-48.1513964503784,-78.04706960058677],[-46.66285681821098,-77.83147552506506],[-45.15475765642109,-78.04706960058677],[-43.92082780615574,-78.47810272233328],[-43.48994971370611,-79.0855599913685],[-43.37243750667439,-79.51664478954731],[-43.33326677099714,-80.0261227355129],[-44.880536668464266,-80.33964365022769],[-46.50617387550203,-80.59435678499433],[-48.38642086444183,-80.82948455192233],[-50.48210689960646,-81.02544158317313],[-52.85198808451179,-80.96668547965729],[-54.16425940613162,-80.63352752067158],[-53.987991095584036,-80.22202809033138],[-51.85313432474216,-79.94772958772612],[-50.99132646341059,-79.6146233051727],[-50.364594692574755,-79.1834868305616],[-49.91413123228649,-78.81120900488669],[-49.30695899107312,-78.45856903092695],[-48.66061601418252,-78.04701792415447],[-48.66061601418252,-78.04701873159873]]],[[[-66.29003089055513,-80.25577280061798],[-64.03768775089767,-80.29494353629522],[-61.88324561221718,-80.39287037548831],[-61.13897579613348,-79.98137094514813],[-60.61011918805844,-79.6286792947561],[-59.572094692611586,-80.04017872509628],[-59.86584937197473,-80.54965667106185],[-60.15965572777019,-81.00032683707929],[-62.25539343936711,-80.86317758577665],[-64.48812537296979,-80.92193368929253],[-65.74166642928991,-80.5888274067391],[-65.74166642928991,-80.54965667106185],[-66.29003089055513,-80.25577280061798]]],[[[-73.9158186510023,-71.26934457792578],[-73.9158186510023,-71.26934377048153],[-73.23033077665059,-71.15177988701751],[-72.07471655952358,-71.19095062269476],[-71.78096188016042,-70.68147267672917],[-71.72217993842841,-70.30919565849851],[-71.74179114448319,-69.50578216565675],[-71.1738154771632,-69.03547495536841],[-70.25325151231577,-68.87874033622717],[-69.72444658067303,-69.25101735445783],[-69.48942216660959,-69.62334604912077],[-69.05851823594381,-70.0740162151382],[-68.72554114447112,-70.5051526897493],[-68.45134599473043,-70.95582285576673],[-68.33383378769872,-71.40649302178416],[-68.51012793646244,-71.79840708428573],[-68.78429724798698,-72.17073577894867],[-69.95947099473648,-72.3078850302513],[-71.07588863797011,-72.50384206150208],[-72.38813412137378,-72.48425669366347],[-71.89849992540829,-72.0923426311619],[-73.07362199572549,-72.22949188246453],[-74.19003963895912,-72.36669281019945],[-74.95389482288145,-72.07275726332328],[-75.01262508818117,-71.6612578329831],[-73.9158186510023,-71.26934457792578]]],[[[-102.33072506387639,-71.89416432076682],[-102.33072506387639,-71.89416351332257],[-101.70396745482441,-71.7177918499104],[-100.43091854531409,-71.85499277764532],[-98.98154964882391,-71.9333342489998],[-97.88474321164506,-72.07053517673472],[-96.78793677446619,-71.95297129327072],[-96.20034990109144,-72.52120534275215],[-96.98376461463623,-72.44286387139768],[-98.19808325884682,-72.48203460707492],[-99.43201310911218,-72.44286387139768],[-100.78345516640925,-72.50161997491354],[-101.80186845580137,-72.30566294366275],[-102.33072506387639,-71.89416432076682]]],[[[-122.62173458544193,-73.65777760202387],[-122.6217353928862,-73.65777679457962],[-122.40624467022907,-73.32461883559391],[-121.21151139385711,-73.50099049900608],[-119.91885127829204,-73.65772511814733],[-118.72414303269196,-73.48135345473517],[-119.29211870001194,-73.8340967815595],[-120.23221716370998,-74.08880991632614],[-121.62282995668428,-74.01046844497165],[-122.62173458544193,-73.65777760202387]]],[[[-127.28312964568192,-73.46176889434079],[-127.28313045312619,-73.46176808689654],[-126.55847184309725,-73.24622568780714],[-125.55956640689534,-73.48135345473517],[-124.03188187726683,-73.87326751723673],[-124.61946875064157,-73.8340967815595],[-125.91218054263894,-73.7361182659341],[-127.28312964568192,-73.46176889434079]]],[[[-163.7128956777287,-78.59566741324154],[-163.7128956777287,-78.59566660579729],[-163.1058009511638,-78.22333791113434],[-161.24511349184644,-78.38017588314018],[-160.24620805564453,-78.69364512142268],[-159.48240454815448,-79.04633757925897],[-159.20818356019765,-79.49705942170868],[-161.12760128481472,-79.63420867301133],[-162.43984676821842,-79.28146534618699],[-163.027407803377,-78.92877369579496],[-163.06660437727038,-78.8699659158468],[-163.7128956777287,-78.59566741324154]]],[[[180,-84.71338],[180,-90],[-180,-90],[-180,-84.71338],[-179.94249935617898,-84.72144337355252],[-179.05867733469117,-84.13941171664914],[-177.25677181710577,-84.45293263136392],[-177.1408066732658,-84.41794122714828],[-176.08467281807765,-84.09925912875838],[-175.94723461362773,-84.11044871021659],[-175.82988216866258,-84.11791432081571],[-174.38250281481567,-84.53432301222352],[-173.11655941474544,-84.11791432081571],[-172.88910559801278,-84.06101856886238],[-169.9512229075714,-83.88464690545015],[-168.9999889801587,-84.11791432081571],[-168.5301985341933,-84.23739023227444],[-167.02209937240337,-84.57049651482794],[-164.1821435211551,-84.82520964959463],[-161.9297745432814,-85.13873056430941],[-158.07137956442492,-85.37391000766968],[-155.19225297749927,-85.09955982863215],[-150.942098965438,-85.29551685988292],[-148.53307288307155,-85.60903777459771],[-145.88891822633295,-85.31510222772158],[-143.10771847860048,-85.04075204868394],[-142.89227943237557,-84.57049651482794],[-146.82906836646328,-84.53127410271838],[-150.06073157448392,-84.29614633579035],[-150.9029282297608,-83.90423227328881],[-153.58620113830017,-83.68868987419938],[-153.4099069895364,-83.23801970818204],[-153.03775916238646,-82.82652027784184],[-152.66563717345272,-82.45419158317884],[-152.86151669005503,-82.04269215283858],[-154.52629879455392,-81.76839365023335],[-155.29017981669236,-81.41565032340901],[-156.83744971415953,-81.10212940869428],[-154.4087865875222,-81.16093718864244],[-152.0976615061328,-81.00415089306881],[-150.6482926096426,-81.33730885205455],[-148.86599829811203,-81.0433733051783],[-147.22074988501947,-80.67104461051548],[-146.41774899619182,-80.33793832796204],[-146.77028642473124,-79.92643889762189],[-148.06294654029634,-79.65208871858425],[-149.53190080462508,-79.35820484814042],[-151.58841610411247,-79.29939706819226],[-153.39032162169778,-79.16224781688965],[-155.32937639058574,-79.06426930126423],[-155.97566769104412,-78.69193979915707],[-157.26830196839302,-78.37841888444223],[-158.05176835837008,-78.02567555761794],[-158.365134243788,-76.889207458655],[-157.8754742096064,-76.98723765071264],[-156.974573127246,-77.30075856542754],[-155.32937639058574,-77.20272837336978],[-153.74283240457677,-77.06557912206722],[-152.92024695535474,-77.49666392024602],[-151.33378048399427,-77.39873708105284],[-150.00194963275192,-77.18314300553124],[-148.7484860910803,-76.90884450292594],[-147.61248308000805,-76.57573822037256],[-146.10440894899006,-76.47775970474709],[-146.14352800823497,-76.1054310100842],[-146.4960912749905,-75.7331539918535],[-146.20230994996697,-75.38041066502922],[-144.9096239961858,-75.20403900161699],[-144.32203712281103,-75.53719696060273],[-142.79435259318257,-75.34123992935196],[-141.63876421427165,-75.08647511815298],[-140.2090065238362,-75.06688975031443],[-138.85759030475532,-74.96891123468896],[-137.5061999238905,-74.73378346776099],[-136.42890133990187,-74.51824106867161],[-135.21458269569132,-74.30269866958218],[-134.43119382036258,-74.36145477309799],[-133.7456542695786,-74.43984792088486],[-132.25716792873203,-74.30269866958218],[-130.92531123927358,-74.47901865656195],[-129.55428381413782,-74.45943328872346],[-128.2420383307342,-74.32228403742073],[-126.89062211165322,-74.4202625530462],[-125.40208247948584,-74.51824106867161],[-124.01149552472765,-74.47901865656195],[-122.56215246645365,-74.49860402440066],[-121.07361283428622,-74.51824106867161],[-119.70255957093428,-74.47901865656195],[-118.68414547409799,-74.18508310968588],[-117.46980099167126,-74.02834849054466],[-116.21631161178345,-74.24389088963397],[-115.02155249719539,-74.06751922622186],[-113.9443314278551,-73.71482757582987],[-113.29798845096451,-74.02834849054466],[-112.94545182986934,-74.38104014093665],[-112.29908301476263,-74.71419809992238],[-111.26105851931567,-74.4202625530462],[-110.06632524294378,-74.79253957127685],[-108.71490902386279,-74.91010345474086],[-107.55934648316816,-75.18445363377845],[-106.14914832235507,-75.12569753026253],[-104.87607357462872,-74.94932586685042],[-103.36794857462269,-74.98849660252768],[-102.01650651732564,-75.12569753026253],[-100.64553076862228,-75.30201751724246],[-100.1166999987633,-74.87093271906349],[-100.763042975654,-74.53782643651022],[-101.25270300983556,-74.18508310968588],[-102.54533728718457,-74.10674163833141],[-103.11331295450452,-73.73441294366842],[-103.32875200072931,-73.36208424900553],[-103.68128862182442,-72.61753021254418],[-102.9174851143344,-72.75467946384686],[-101.60523963093078,-72.81343556736266],[-100.31252783893342,-72.75467946384686],[-99.13737993040007,-72.91141408298807],[-98.11888912635953,-73.2053496298642],[-97.68803687212608,-73.5580412802563],[-96.33659481482897,-73.6168490602044],[-95.0439605374799,-73.47969980890184],[-93.67290727412814,-73.28374277765096],[-92.43900326207898,-73.16617889418706],[-91.42056413447074,-73.40130666111509],[-90.08873328322846,-73.32291351332816],[-89.22695126011297,-72.55872243259591],[-88.42395117872957,-73.00939259861343],[-87.26833696160259,-73.18576426202566],[-86.01482174349849,-73.08778574640019],[-85.19223629427654,-73.47969980890184],[-83.87999081087281,-73.51887054457893],[-82.66564632844609,-73.63643442804306],[-81.4709130520742,-73.85197682713243],[-80.68744666209705,-73.47969980890184],[-80.29579098175702,-73.12695648207739],[-79.29688554555503,-73.51887054457893],[-77.92585812041932,-73.42089202895363],[-76.90736731637878,-73.63643442804306],[-76.2218794420271,-73.96954071059645],[-74.89004859078483,-73.87161387140338],[-73.85202409533798,-73.65601979588166],[-72.83353329129744,-73.40130666111509],[-71.61921464708689,-73.26415740981241],[-70.20904232448999,-73.1465418499161],[-68.93591590033128,-73.00939259861343],[-67.95662167018412,-72.79385019952406],[-67.36906063502556,-72.48032928480927],[-67.13403622096206,-72.04924448663041],[-67.25154842799373,-71.63774505629027],[-67.56494015162792,-71.24583099378873],[-67.91747677272303,-70.85391693128707],[-68.23084265814094,-70.46205454521782],[-68.48545244004305,-70.10931121839354],[-68.54420854355897,-69.717397155892],[-68.44628170436579,-69.3255347698227],[-67.97623287623895,-68.95320607515976],[-67.58449968125035,-68.5417066448195],[-67.42784257675754,-68.14984425875025],[-67.62367041692767,-67.7187594605715],[-67.74118262395939,-67.3268453980699],[-67.25154842799373,-66.87617523205245],[-66.7031839667286,-66.5822396851762],[-66.05681515162189,-66.20996266694567],[-65.37132727727015,-65.89639007579859],[-64.56827551945446,-65.6025062053547],[-64.17654232446586,-65.1714230220644],[-63.62815202498456,-64.8970728430267],[-63.00139441593262,-64.6423080318279],[-62.041685553624006,-64.58355192831198],[-61.41492794457207,-64.27003101359719],[-60.70985470238173,-64.07407398234642],[-59.887269253159616,-63.956510098882404],[-59.16258480491456,-63.701745287683536],[-58.59455746116231,-63.38822437296864],[-57.811142747617566,-63.27066048950462],[-57.223581712458895,-63.52542530070366],[-57.5957295396089,-63.85853158325705],[-58.61414282900097,-64.15246713013318],[-59.04507259788289,-64.3680095292226],[-59.78934241396661,-64.2112232336491],[-60.61192786318867,-64.3092017492744],[-61.29741573754035,-64.54432951620254],[-62.02210018578546,-64.7990943274014],[-62.51176021996696,-65.09302987427748],[-62.6488577948374,-65.48494232189068],[-62.59012752953771,-65.85721934012133],[-62.12007870141076,-66.19032562267466],[-62.80556657576244,-66.42550506603499],[-63.7456900702324,-66.50384653738956],[-64.29410620792999,-66.83700449637524],[-64.88169308130466,-67.15047373465768],[-65.50842485214054,-67.58161020926889],[-65.66508195663334,-67.95388722749948],[-65.31254533553812,-68.36533498140739],[-64.7837145656793,-68.67890757255452],[-63.961103278241126,-68.9139836630502],[-63.1972997707511,-69.22755625419728],[-62.78595536970778,-69.61941864026653],[-62.570516323482934,-69.99174733492953],[-62.27673580590357,-70.38366139743107],[-61.80666113956062,-70.71676767998451],[-61.51290646019743,-71.0890446982151],[-61.37580888532716,-72.01007375095315],[-61.08197669131556,-72.38235076918386],[-61.003661058177215,-72.7742648316854],[-60.69026933454313,-73.16617889418706],[-60.827366909413456,-73.69524220799121],[-61.37580888532716,-74.10674163833141],[-61.96336992048572,-74.43984792088486],[-63.29520077172799,-74.57699717218742],[-63.7456900702324,-74.92974049901176],[-64.35283647322962,-75.2628467815652],[-65.86098731145182,-75.63512379979574],[-67.19281816269415,-75.79191009536942],[-68.44628170436579,-76.00745249445879],[-69.7977237616629,-76.22299489354822],[-70.6007238430463,-76.63449432388842],[-72.2067756822454,-76.67366505956568],[-73.9695363023697,-76.63449432388842],[-75.55597693551408,-76.71288747167517],[-77.24037024606764,-76.71288747167517],[-76.92697852243361,-77.10480153417677],[-75.39929399280499,-77.28106984472436],[-74.28287634957144,-77.55542002376177],[-73.6561187405195,-77.90811167415393],[-74.7725363837531,-78.22163258886872],[-76.49610042998398,-78.12365407324324],[-77.92585812041932,-78.37841888444223],[-77.98466590036753,-78.78991831478237],[-78.0237849596125,-79.18183318472825],[-76.8486370510791,-79.51493946728169],[-76.63322384307043,-79.88721648551223],[-75.36009741891172,-80.25954518017522],[-73.24485185412459,-80.41633147574879],[-71.44294633653925,-80.69062997835402],[-70.01316280788774,-81.00415089306881],[-68.19164608424757,-81.3176718077836],[-65.70427853052672,-81.47445810335722],[-63.25603003605073,-81.74875660596251],[-61.55202551944234,-82.04269215283858],[-59.69141557477349,-82.37585011182438],[-58.71212134462627,-82.84610564568038],[-58.22248714866089,-83.21843434034338],[-57.008116828017876,-82.86569101351904],[-55.362894253141576,-82.5717554666428],[-53.61977067728827,-82.25823455192807],[-51.54364417174605,-82.00352141716132],[-49.76134986021549,-81.7291712381238],[-47.27393063006224,-81.70958587028525],[-44.82570797380254,-81.84673512158781],[-42.80836340999241,-82.08191456494814],[-42.162020433101816,-81.65082976676933],[-40.771433478343624,-81.3568942198932],[-38.24481767429711,-81.33730885205455],[-36.26666968438025,-81.12171477653294],[-34.38639685722438,-80.90617237744351],[-32.31029618989834,-80.76902312614078],[-30.097097947702025,-80.59265146272867],[-28.549802212018733,-80.33793832796204],[-29.25490129242513,-79.9851950011377],[-29.685805223090995,-79.63250335074571],[-29.685805223090995,-79.260226332515],[-31.62480831554666,-79.29939706819226],[-33.68132361503399,-79.45613168733348],[-35.63991207532831,-79.45613168733348],[-35.91410722506902,-79.08385466910289],[-35.77700965019869,-78.33924814876502],[-35.32654618991046,-78.12365407324324],[-33.89676266125889,-77.88852630631527],[-32.21236935070527,-77.65345021581953],[-30.99805070649461,-77.35951466894335],[-29.783732062284116,-77.06557912206722],[-28.882779303491418,-76.67366505956568],[-27.511751878355653,-76.49734507258574],[-26.16033565927478,-76.36014414485078],[-25.474821946706925,-76.28180267349632],[-23.927552049239807,-76.24258026138676],[-22.458597784910978,-76.1054310100842],[-21.224693772861826,-75.90947397883343],[-20.010375128651106,-75.6743462119054],[-18.913542853256217,-75.43921844497731],[-17.5229817367142,-75.12569753026253],[-16.641588507544043,-74.79253957127685],[-15.70149085129026,-74.49860402440066],[-15.407710333710895,-74.10674163833141],[-16.4653201969964,-73.87161387140338],[-16.11278357590129,-73.46011444106318],[-15.44685523117198,-73.1465418499161],[-14.408804897509015,-72.95058481866533],[-13.311972622114013,-72.7154570517373],[-12.293507656289592,-72.40193613702252],[-11.510067104528616,-72.01007375095315],[-11.020432908563066,-71.53976654066486],[-10.295774298534184,-71.26541636162733],[-9.101015183946117,-71.32422414157548],[-8.611380987980624,-71.65733042412887],[-7.416621873392444,-71.69650115980608],[-7.377451137715298,-71.32422414157548],[-6.868231573911146,-70.93231007907394],[-5.790984666354802,-71.0302885946993],[-5.536374884452698,-71.4026172893623],[-4.341667446296924,-71.4613733928781],[-3.048981492515622,-71.28505340589817],[-1.795492112627812,-71.16743784600186],[-0.65948910155555,-71.22624562595007],[-0.228636847322093,-71.63774505629027],[0.868195428072909,-71.30463877373683],[1.886686232113505,-71.12826711032471],[3.022637566753417,-70.9911178590221],[4.139055209987021,-70.85391693128707],[5.157546014027616,-70.61878916435904],[6.273911980828871,-70.46205454521782],[7.135719842160597,-70.24651214612834],[7.742866245157813,-69.89376881930406],[8.487110223025297,-70.14853363050304],[9.525134718472202,-70.01133270276819],[10.249845004933434,-70.48163991305648],[10.817820672253333,-70.83433156344853],[11.953823683325595,-70.63837453219776],[12.404287143613942,-70.24651214612834],[13.422777947654367,-69.97216196709093],[14.734997592841978,-70.03091807060673],[15.126756626046586,-70.40324676526973],[15.94934207526859,-70.03091807060673],[17.02658898282516,-69.91335418714277],[18.201711053142276,-69.87418345146551],[19.259372592860018,-69.89376881930406],[20.375738559661443,-70.01133270276819],[21.452985467217786,-70.07014048271628],[21.923034295344735,-70.40324676526973],[22.56940311045139,-70.69718231214586],[23.666183709414213,-70.52081064873374],[24.841357456163564,-70.48163991305648],[25.977308790803647,-70.48163991305648],[27.09372643403725,-70.46205454521782],[28.09258019380684,-70.32485361748297],[29.15024173352458,-70.20728973401896],[30.031583286262503,-69.93293955498132],[30.97173261894858,-69.7566195680015],[31.990171746556825,-69.65864105237603],[32.75405276869532,-69.3842908733385],[33.30244306817667,-68.83564219169574],[33.87041873549657,-68.50258758557459],[34.908494907375825,-68.65927052828351],[35.300202264148254,-69.01201385510791],[36.16201012547975,-69.24714162203594],[37.2000346209266,-69.16874847424907],[37.905107863116825,-69.52144012464123],[38.649403517416886,-69.77620493584016],[39.66789432145737,-69.54107716891207],[40.02043094255248,-69.10994069430097],[40.92135786312906,-68.93362070732115],[41.959434035008144,-68.60051442476771],[42.938702426939074,-68.46331349703274],[44.11387617368865,-68.26740814221426],[44.897290887233396,-68.05186574312489],[45.719928012887806,-67.8167379761968],[46.50334272643261,-67.60119557710749],[47.443440382686276,-67.7187594605715],[48.34441897969509,-67.36606781017946],[48.99073611836957,-67.09171763114188],[49.930885451055644,-67.11130299898048],[50.753470900277705,-66.87617523205245],[50.94932457866389,-66.52348358166046],[51.79154707215696,-66.24913340262287],[52.61413252137896,-66.0531763713721],[53.61303795758079,-65.89639007579859],[54.533550245996025,-65.81804860444396],[55.41494347516618,-65.87680470795993],[56.35504113141985,-65.97478322358535],[57.15809288923566,-66.24913340262287],[57.25596805199649,-66.68021820080168],[58.13736128116665,-67.01332448335512],[58.744507684163864,-67.28767466239265],[59.93931847518422,-67.40523854585672],[60.60522098169736,-67.67958872489424],[61.42780643091936,-67.95388722749948],[62.38748945501169,-68.01269500744758],[63.19048953639515,-67.8167379761968],[64.052349074159,-67.40523854585672],[64.9924467304129,-67.62072926851374],[65.97171512234388,-67.73834482840999],[66.91186445502973,-67.85590871187412],[67.89113284696089,-67.93430185966076],[68.89003828316288,-67.93430185966076],[69.71262373238477,-68.97279144299841],[69.67345299670745,-69.22755625419728],[69.55594078967584,-69.67822642021474],[68.59625776558352,-69.93293955498132],[67.81273969917413,-70.30526824964431],[67.94988895047663,-70.69718231214586],[69.06630659371024,-70.67754526787496],[68.92915734240779,-71.06945933037656],[68.41998945503593,-71.4417880250395],[67.94988895047663,-71.85328745537964],[68.71376997261513,-72.16680837009437],[69.86930667509387,-72.26478688571984],[71.02489505400456,-72.08841522230773],[71.57328535348603,-71.69650115980608],[71.90628828317489,-71.32422414157548],[72.45462690622401,-71.01070322686058],[73.08141035349206,-70.71676767998451],[73.33602013539416,-70.36402435316018],[73.86487674346921,-69.87418345146551],[74.49155683787268,-69.77620493584016],[75.62755984894494,-69.73703420016284],[76.62646528514676,-69.61941864026653],[77.64490441275518,-69.46268402112526],[78.13453860872056,-69.07076995862371],[78.42837080273216,-68.69844126396072],[79.1138586770839,-68.32621592216248],[80.09312706901488,-68.07150278739579],[80.93534956250772,-67.87554575614502],[81.48379153842143,-67.54238779715922],[82.05176720574138,-67.36606781017946],[82.77642581577044,-67.20928151460589],[83.77533125197237,-67.30726003023125],[84.6762064961166,-67.20928151460589],[85.65552656447994,-67.09171763114188],[86.75235883987477,-67.15047373465768],[87.47701744990383,-66.87617523205245],[87.98628869014021,-66.20991099051338],[88.35841067907398,-66.4842611695509],[88.82840783076853,-66.95456837983926],[89.6706303242616,-67.15047373465768],[90.63036502478627,-67.22886688244449],[91.59009972531084,-67.11130299898048],[92.60853885291903,-67.18969614676723],[93.54863650917292,-67.20928151460589],[94.17541995644098,-67.11130299898048],[95.01759077350164,-67.17011077892869],[95.78147179564019,-67.385653178018],[96.68239871621677,-67.24850392671544],[97.75964562377311,-67.24850392671544],[98.68020958862053,-67.11130299898048],[99.71818240763503,-67.24850392671544],[100.38418826701275,-66.9153459677297],[100.8933561543846,-66.5822396851762],[101.57889570516852,-66.30788950613868],[102.83241092327262,-65.56328379324515],[103.47867638551475,-65.70048472098],[104.24255740765307,-65.97478322358535],[104.9084599141662,-66.32752655040969],[106.18156050010873,-66.93493133556836],[107.16088056847207,-66.95456837983926],[108.08139285688713,-66.95456837983926],[109.15863976444365,-66.83700449637524],[110.23583499556781,-66.69980356864033],[111.05847212122205,-66.42550506603499],[111.74395999557385,-66.13156951915892],[112.86037763880745,-66.09234710704936],[113.60467329310734,-65.87680470795993],[114.38808800665197,-66.0727617392107],[114.89730757045618,-66.38628265392543],[115.60238081264652,-66.69980356864033],[116.69916141160934,-66.66063283296302],[117.38470096239314,-66.9153459677297],[118.57946007698126,-67.17011077892869],[119.83292361865301,-67.26808929455399],[120.8709997905321,-67.18969614676723],[121.65441450407707,-66.87617523205245],[122.32036868702232,-66.56265431733766],[123.2212956075989,-66.4842611695509],[124.1222742046076,-66.62146209728587],[125.16024702362222,-66.71938893647894],[126.10039635630835,-66.56265431733766],[127.00142662974929,-66.56265431733766],[127.88276818248721,-66.66063283296302],[128.80328047090234,-66.75861134858849],[129.70425906791115,-66.5822396851762],[130.78145429903543,-66.42550506603499],[131.79994510307586,-66.38628265392543],[132.9358964377161,-66.38628265392543],[133.85646040256336,-66.28830413830013],[134.75738732313982,-66.20996266694567],[135.0315824728807,-65.72007008881866],[135.0707532085578,-65.30857065847846],[135.6974849793935,-65.58286916108369],[135.87380496637343,-66.03359100353345],[136.2067045431977,-66.4450904338737],[136.61804894424108,-66.77819671642698],[137.46027143773392,-66.95456837983926],[138.59622277237406,-66.8957605998911],[139.90844241756145,-66.87617523205245],[140.80942101457026,-66.81736745210435],[142.1216923361901,-66.81736745210435],[143.06184166887613,-66.79778208426569],[144.37406131406362,-66.83700449637524],[145.490427280865,-66.9153459677297],[146.1955521994878,-67.22886688244449],[145.99969852110144,-67.60119557710749],[146.64606733620815,-67.89513112398367],[147.7232625673323,-68.1302588909117],[148.83962853413368,-68.38502370211057],[150.13231448791487,-68.56129201265821],[151.48370486877957,-68.71812998466402],[152.50224734925246,-68.87481292737294],[153.63819868389248,-68.89450164807613],[154.2845674989992,-68.56129201265821],[155.16585737530477,-68.83564219169574],[155.92979007387544,-69.14921478284282],[156.81113162661336,-69.3842908733385],[158.02552778547238,-69.48226938896397],[159.1810128115187,-69.59983327242799],[159.6706986839165,-69.99174733492953],[160.8066500185564,-70.2268751018575],[161.57047936426272,-70.57961842868184],[162.68689700749633,-70.73635304782317],[163.8424337099749,-70.71676767998451],[164.91968061753118,-70.77552378350032],[166.11443973211942,-70.75593841566177],[167.30909549384296,-70.83433156344853],[168.42561648994115,-70.97148081475109],[169.46358930895587,-71.20666025811136],[170.50166548083496,-71.4026172893623],[171.20679039945753,-71.69650115980608],[171.0892265159937,-72.08841522230773],[170.5604215843507,-72.44115854913207],[170.10995812406236,-72.89182871514942],[169.75736982653507,-73.24452036554152],[169.2873209984083,-73.65601979588166],[167.97510135322068,-73.81280609145517],[167.38748864162972,-74.16549774184722],[166.09480268784841,-74.38104014093665],[165.64439090399242,-74.77295420343819],[164.9588513532085,-75.14528289810119],[164.23419274317962,-75.45880381281597],[163.8227966657039,-75.87030324315617],[163.56823856023425,-76.24258026138676],[163.47026004460895,-76.69330210383652],[163.48989708887973,-77.06557912206722],[164.05787275619969,-77.45744150813647],[164.27336347885694,-77.82977020279935],[164.74346398341606,-78.18251352962375],[166.60412560451732,-78.31961110449402],[166.99578128485734,-78.75074757910522],[165.19387576727195,-78.90748300569072],[163.66621707585955,-79.12302540477998],[161.7663847190811,-79.16224781688965],[160.92416222558825,-79.73048186637101],[160.74789391504066,-80.20073740022713],[160.31696414615863,-80.57306609489001],[159.78821089094833,-80.945394789553],[161.12001590397438,-81.27850107210645],[161.62928714421082,-81.6900005024466],[162.49099165267796,-82.0622775206773],[163.70533613510474,-82.39543547966286],[165.09594892807877,-82.70895639437782],[166.60412560451732,-83.02247730909255],[168.89566531806793,-83.3359982238074],[169.40478152900755,-83.82589080193435],[172.28393395414935,-84.04143320102366],[172.47704878162415,-84.11791432081571],[173.22408328683537,-84.41371021925437],[175.9856718285131,-84.15899708448768],[178.27721154206392,-84.47251799920247],[180,-84.71338]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"labelrank":6,"sovereignt":"France","sov_a3":"FR1","adm0_dif":1,"level":2,"type":"Dependency","tlc":"1","admin":"French Southern and Antarctic Lands","adm0_a3":"ATF","geou_dif":0,"geounit":"French Southern and Antarctic Lands","gu_a3":"ATF","su_dif":0,"subunit":"French Southern and Antarctic Lands","su_a3":"ATF","brk_diff":0,"name":"Fr. S. Antarctic Lands","name_long":"French Southern and Antarctic Lands","brk_a3":"ATF","brk_name":"Fr. S. and Antarctic Lands","brk_group":null,"abbrev":"Fr. S.A.L.","postal":"TF","formal_en":"Territory of the French Southern and Antarctic Lands","formal_fr":null,"name_ciawf":null,"note_adm0":"Fr.","note_brk":null,"name_sort":"French Southern and Antarctic Lands","name_alt":null,"mapcolor7":7,"mapcolor8":5,"mapcolor9":9,"mapcolor13":11,"pop_est":140,"pop_rank":1,"pop_year":2017,"gdp_md":16,"gdp_year":2016,"economy":"6. Developing region","income_grp":"2. High income: nonOECD","fips_10":"FS","iso_a2":"TF","iso_a2_eh":"TF","iso_a3":"ATF","iso_a3_eh":"ATF","iso_n3":"260","iso_n3_eh":"260","un_a3":"260","wb_a2":"-99","wb_a3":"-99","woe_id":28289406,"woe_id_eh":28289406,"woe_note":"Exact WOE match as country","adm0_iso":"ATF","adm0_diff":null,"adm0_tlc":"ATF","adm0_a3_us":"ATF","adm0_a3_fr":"ATF","adm0_a3_ru":"ATF","adm0_a3_es":"ATF","adm0_a3_cn":"ATF","adm0_a3_tw":"ATF","adm0_a3_in":"ATF","adm0_a3_np":"ATF","adm0_a3_pk":"ATF","adm0_a3_de":"ATF","adm0_a3_gb":"ATF","adm0_a3_br":"ATF","adm0_a3_il":"ATF","adm0_a3_ps":"ATF","adm0_a3_sa":"ATF","adm0_a3_eg":"ATF","adm0_a3_ma":"ATF","adm0_a3_pt":"ATF","adm0_a3_ar":"ATF","adm0_a3_jp":"ATF","adm0_a3_ko":"ATF","adm0_a3_vn":"ATF","adm0_a3_tr":"ATF","adm0_a3_id":"ATF","adm0_a3_pl":"ATF","adm0_a3_gr":"ATF","adm0_a3_it":"ATF","adm0_a3_nl":"ATF","adm0_a3_se":"ATF","adm0_a3_bd":"ATF","adm0_a3_ua":"ATF","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"Seven seas (open ocean)","region_un":"Africa","subregion":"Seven seas (open ocean)","region_wb":"Sub-Saharan Africa","name_len":22,"long_len":35,"abbrev_len":10,"tiny":2,"homepart":-99,"min_zoom":0,"min_label":4,"max_label":9,"label_x":69.122136,"label_y":-49.303721,"ne_id":1159320631,"wikidataid":"Q129003","name_ar":"أراض فرنسية جنوبية وأنتارتيكية","name_bn":"ফ্র. এস. অ্যান্ড অ্যান্টার্কটিক ল্যান্ড","name_de":"Französische Süd- und Antarktisgebiete","name_en":"French Southern and Antarctic Lands","name_es":"Tierras Australes y Antárticas Francesas","name_fa":"سرزمینهای جنوبی و جنوبگانی فرانسه","name_fr":"Terres australes et antarctiques françaises","name_el":"Γαλλικά Νότια και Ανταρκτικά Εδάφη","name_he":"הארצות הדרומיות והאנטארקטיות של צרפת","name_hi":"दक्षिण फ्रांसीसी और अंटार्कटिक लैंड","name_hu":"Francia déli és antarktiszi területek","name_id":"Daratan Selatan dan Antarktika Perancis","name_it":"Terre australi e antartiche francesi","name_ja":"フランス領南方・南極地域","name_ko":"프랑스령 남방 및 남극","name_nl":"Franse Zuidelijke Gebieden","name_pl":"Francuskie Terytoria Południowe i Antarktyczne","name_pt":"Terras Austrais e Antárticas Francesas","name_ru":"Французские Южные и Антарктические территории","name_sv":"Franska sydterritorierna","name_tr":"Fransız Güney ve Antarktika Toprakları","name_uk":"Французькі Південні і Антарктичні території","name_ur":"سرزمین جنوبی فرانسیسیہ و انٹارکٹیکا","name_vi":"Vùng đất phía Nam và châu Nam Cực thuộc Pháp","name_zh":"法属南部和南极领地","name_zht":"法屬南部和南極領地","fclass_iso":"Admin-0 dependency","tlc_diff":null,"fclass_tlc":"Admin-0 dependency","fclass_us":null,"fclass_fr":null,"fclass_ru":null,"fclass_es":null,"fclass_cn":null,"fclass_tw":null,"fclass_in":null,"fclass_np":null,"fclass_pk":null,"fclass_de":null,"fclass_gb":null,"fclass_br":null,"fclass_il":null,"fclass_ps":null,"fclass_sa":null,"fclass_eg":null,"fclass_ma":null,"fclass_pt":null,"fclass_ar":null,"fclass_jp":null,"fclass_ko":null,"fclass_vn":null,"fclass_tr":null,"fclass_id":null,"fclass_pl":null,"fclass_gr":null,"fclass_it":null,"fclass_nl":null,"fclass_se":null,"fclass_bd":null,"fclass_ua":null,"filename":"ATF.geojson"},"geometry":{"type":"Polygon","coordinates":[[[68.935,-48.625],[69.58,-48.94],[70.525,-49.065],[70.56,-49.255],[70.28,-49.71],[68.745,-49.775],[68.72,-49.2425],[68.8675,-48.83],[68.935,-48.625]]]}}]} \ No newline at end of file diff --git a/assets/chartStyles.yaml b/assets/chartStyles.yaml new file mode 100644 index 00000000..8ab26272 --- /dev/null +++ b/assets/chartStyles.yaml @@ -0,0 +1,31 @@ +--- +# I have no idea why xyBar would expect YAML style configuration, but Pies JSON... + +xyBarStyles: | + themeVariables: + xyChart: + titleColour: "#40E0D0" + backgroundColor: transparent + plotColorPalette: teal + xAxisLabelColor: "#40E0D0" + yAxisLabelColor: "#40E0D0" + xAxisLineColor: "#40E0D0" + xAxisTickColor: "#40E0D0" + yAxisLineColor: "#40E0D0" + yAxisTickColor: "#40E0D0" + +pieStyles: | + init: { + 'theme': 'base', + 'themeVariables': { + 'primaryTextColor': 'teal', + 'primaryColor': '#E2FAA7', + 'primaryBorderColor': '#7C0000', + 'lineColor': '#F8B229', + 'secondaryColor': '#A7FAE7', + 'tertiaryColor': '#fff', + 'pieStrokeWidth': 1, + 'pieOuterStrokeWidth': 1 + } + } + diff --git a/assets/external/cdn.jsdelivr.net/gh/jdecked/twemoji@15.1.0/assets/svg/1f4bf.svg b/assets/external/cdn.jsdelivr.net/gh/jdecked/twemoji@15.1.0/assets/svg/1f4bf.svg new file mode 100644 index 00000000..6824a064 --- /dev/null +++ b/assets/external/cdn.jsdelivr.net/gh/jdecked/twemoji@15.1.0/assets/svg/1f4bf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/external/cdn.jsdelivr.net/npm/vega-embed@6.js b/assets/external/cdn.jsdelivr.net/npm/vega-embed@6.js new file mode 100644 index 00000000..f6a451ce --- /dev/null +++ b/assets/external/cdn.jsdelivr.net/npm/vega-embed@6.js @@ -0,0 +1,7 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vega"),require("vega-lite")):"function"==typeof define&&define.amd?define(["vega","vega-lite"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).vegaEmbed=t(e.vega,e.vegaLite)}(this,(function(e,t){"use strict";function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var r,i=n(e),o=n(t),a=(r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},r(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=Object.prototype.hasOwnProperty;function l(e,t){return s.call(e,t)}function c(e){if(Array.isArray(e)){for(var t=new Array(e.length),n=0;n=48&&t<=57))return!1;n++}return!0}function p(e){return-1===e.indexOf("/")&&-1===e.indexOf("~")?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function d(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function u(e){if(void 0===e)return!0;if(e)if(Array.isArray(e)){for(var t=0,n=e.length;t0&&"constructor"==s[c-1]))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(n&&void 0===u&&(void 0===l[g]?u=s.slice(0,c).join("/"):c==p-1&&(u=t.path),void 0!==u&&m(t,0,e,u)),c++,Array.isArray(l)){if("-"===g)g=l.length;else{if(n&&!f(g))throw new v("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",o,t,e);f(g)&&(g=~~g)}if(c>=p){if(n&&"add"===t.op&&g>l.length)throw new v("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",o,t,e);if(!1===(a=y[t.op].call(t,l,g,e)).test)throw new v("Test operation failed","TEST_OPERATION_FAILED",o,t,e);return a}}else if(c>=p){if(!1===(a=b[t.op].call(t,l,g,e)).test)throw new v("Test operation failed","TEST_OPERATION_FAILED",o,t,e);return a}if(l=l[g],n&&c0)throw new v('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,n);if(("move"===e.op||"copy"===e.op)&&"string"!=typeof e.from)throw new v("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,n);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&void 0===e.value)throw new v("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,n);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&u(e.value))throw new v("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,n);if(n)if("add"==e.op){var i=e.path.split("/").length,o=r.split("/").length;if(i!==o+1&&i!==o)throw new v("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,n)}else if("replace"===e.op||"remove"===e.op||"_get"===e.op){if(e.path!==r)throw new v("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,n)}else if("move"===e.op||"copy"===e.op){var a=I([{op:"_get",path:e.from,value:void 0}],n);if(a&&"OPERATION_PATH_UNRESOLVABLE"===a.name)throw new v("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,n)}}function I(e,t,n){try{if(!Array.isArray(e))throw new v("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)O(h(t),h(e),n||!0);else{n=n||x;for(var r=0;r0&&(e.patches=[],e.callback&&e.callback(r)),r}function C(e,t,n,r,i){if(t!==e){"function"==typeof t.toJSON&&(t=t.toJSON());for(var o=c(t),a=c(e),s=!1,f=a.length-1;f>=0;f--){var d=e[g=a[f]];if(!l(t,g)||void 0===t[g]&&void 0!==d&&!1===Array.isArray(t))Array.isArray(e)===Array.isArray(t)?(i&&n.push({op:"test",path:r+"/"+p(g),value:h(d)}),n.push({op:"remove",path:r+"/"+p(g)}),s=!0):(i&&n.push({op:"test",path:r,value:e}),n.push({op:"replace",path:r,value:t}));else{var u=t[g];"object"==typeof d&&null!=d&&"object"==typeof u&&null!=u&&Array.isArray(d)===Array.isArray(u)?C(d,u,n,r+"/"+p(g),i):d!==u&&(i&&n.push({op:"test",path:r+"/"+p(g),value:h(d)}),n.push({op:"replace",path:r+"/"+p(g),value:h(u)}))}}if(s||o.length!=a.length)for(f=0;f0)return[m,n+c.join(",\n"+u),s].join("\n"+o)}return v}(e,"",0)},j=F(M);var z=U;function U(e){var t=this;if(t instanceof U||(t=new U),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");r=this.head.next,n=this.head.value}for(var i=0;null!==r;i++)n=e(n,r.value,i),r=r.next;return n},U.prototype.reduceReverse=function(e,t){var n,r=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");r=this.tail.prev,n=this.tail.value}for(var i=this.length-1;null!==r;i--)n=e(n,r.value,i),r=r.prev;return n},U.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},U.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},U.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new U;if(tthis.length&&(t=this.length);for(var r=0,i=this.head;null!==i&&rthis.length&&(t=this.length);for(var r=this.length,i=this.tail;null!==i&&r>t;r--)i=i.prev;for(;null!==i&&r>e;r--,i=i.prev)n.push(i.value);return n},U.prototype.splice=function(e,t,...n){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var r=0,i=this.head;null!==i&&r1;const ie=(e,t,n)=>{const r=e[te].get(t);if(r){const t=r.value;if(oe(e,t)){if(se(e,r),!e[J])return}else n&&(e[ne]&&(r.value.now=Date.now()),e[ee].unshiftNode(r));return t.value}},oe=(e,t)=>{if(!t||!t.maxAge&&!e[Q])return!1;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[Q]&&n>e[Q]},ae=e=>{if(e[q]>e[H])for(let t=e[ee].tail;e[q]>e[H]&&null!==t;){const n=t.prev;se(e,t),t=n}},se=(e,t)=>{if(t){const n=t.value;e[Z]&&e[Z](n.key,n.value),e[q]-=n.length,e[te].delete(n.key),e[ee].removeNode(t)}};class le{constructor(e,t,n,r,i){this.key=e,this.value=t,this.length=n,this.now=r,this.maxAge=i||0}}const ce=(e,t,n,r)=>{let i=n.value;oe(e,i)&&(se(e,n),e[J]||(i=void 0)),i&&t.call(r,i.value,i.key,e)};var he=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[H]=e.max||1/0;const t=e.length||re;if(this[Y]="function"!=typeof t?re:t,this[J]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[Q]=e.maxAge||0,this[Z]=e.dispose,this[K]=e.noDisposeOnSet||!1,this[ne]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[H]=e||1/0,ae(this)}get max(){return this[H]}set allowStale(e){this[J]=!!e}get allowStale(){return this[J]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[Q]=e,ae(this)}get maxAge(){return this[Q]}set lengthCalculator(e){"function"!=typeof e&&(e=re),e!==this[Y]&&(this[Y]=e,this[q]=0,this[ee].forEach((e=>{e.length=this[Y](e.value,e.key),this[q]+=e.length}))),ae(this)}get lengthCalculator(){return this[Y]}get length(){return this[q]}get itemCount(){return this[ee].length}rforEach(e,t){t=t||this;for(let n=this[ee].tail;null!==n;){const r=n.prev;ce(this,e,n,t),n=r}}forEach(e,t){t=t||this;for(let n=this[ee].head;null!==n;){const r=n.next;ce(this,e,n,t),n=r}}keys(){return this[ee].toArray().map((e=>e.key))}values(){return this[ee].toArray().map((e=>e.value))}reset(){this[Z]&&this[ee]&&this[ee].length&&this[ee].forEach((e=>this[Z](e.key,e.value))),this[te]=new Map,this[ee]=new V,this[q]=0}dump(){return this[ee].map((e=>!oe(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[ee]}set(e,t,n){if((n=n||this[Q])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const r=n?Date.now():0,i=this[Y](t,e);if(this[te].has(e)){if(i>this[H])return se(this,this[te].get(e)),!1;const o=this[te].get(e).value;return this[Z]&&(this[K]||this[Z](e,o.value)),o.now=r,o.maxAge=n,o.value=t,this[q]+=i-o.length,o.length=i,this.get(e),ae(this),!0}const o=new le(e,t,i,r,n);return o.length>this[H]?(this[Z]&&this[Z](e,t),!1):(this[q]+=o.length,this[ee].unshift(o),this[te].set(e,this[ee].head),ae(this),!0)}has(e){if(!this[te].has(e))return!1;const t=this[te].get(e).value;return!oe(this,t)}get(e){return ie(this,e,!0)}peek(e){return ie(this,e,!1)}pop(){const e=this[ee].tail;return e?(se(this,e),e.value):null}del(e){se(this,this[te].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const r=e[n],i=r.e||0;if(0===i)this.set(r.k,r.v);else{const e=i-t;e>0&&this.set(r.k,r.v,e)}}}prune(){this[te].forEach(((e,t)=>ie(this,t,!1)))}};const fe=Object.freeze({loose:!0}),pe=Object.freeze({});var de=e=>e?"object"!=typeof e?fe:e:pe,ue={exports:{}};var ge={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2};var me="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=ge,o=me,a=(t=e.exports={}).re=[],s=t.safeRe=[],l=t.src=[],c=t.t={};let h=0;const f="[a-zA-Z0-9-]",p=[["\\s",1],["\\d",i],[f,r]],d=(e,t,n)=>{const r=(e=>{for(const[t,n]of p)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e})(t),i=h++;o(e,i,t),c[e]=i,l[i]=t,a[i]=new RegExp(t,n?"g":void 0),s[i]=new RegExp(r,n?"g":void 0)};d("NUMERICIDENTIFIER","0|[1-9]\\d*"),d("NUMERICIDENTIFIERLOOSE","\\d+"),d("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${f}*`),d("MAINVERSION",`(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})`),d("MAINVERSIONLOOSE",`(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})`),d("PRERELEASEIDENTIFIER",`(?:${l[c.NUMERICIDENTIFIER]}|${l[c.NONNUMERICIDENTIFIER]})`),d("PRERELEASEIDENTIFIERLOOSE",`(?:${l[c.NUMERICIDENTIFIERLOOSE]}|${l[c.NONNUMERICIDENTIFIER]})`),d("PRERELEASE",`(?:-(${l[c.PRERELEASEIDENTIFIER]}(?:\\.${l[c.PRERELEASEIDENTIFIER]})*))`),d("PRERELEASELOOSE",`(?:-?(${l[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[c.PRERELEASEIDENTIFIERLOOSE]})*))`),d("BUILDIDENTIFIER",`${f}+`),d("BUILD",`(?:\\+(${l[c.BUILDIDENTIFIER]}(?:\\.${l[c.BUILDIDENTIFIER]})*))`),d("FULLPLAIN",`v?${l[c.MAINVERSION]}${l[c.PRERELEASE]}?${l[c.BUILD]}?`),d("FULL",`^${l[c.FULLPLAIN]}$`),d("LOOSEPLAIN",`[v=\\s]*${l[c.MAINVERSIONLOOSE]}${l[c.PRERELEASELOOSE]}?${l[c.BUILD]}?`),d("LOOSE",`^${l[c.LOOSEPLAIN]}$`),d("GTLT","((?:<|>)?=?)"),d("XRANGEIDENTIFIERLOOSE",`${l[c.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),d("XRANGEIDENTIFIER",`${l[c.NUMERICIDENTIFIER]}|x|X|\\*`),d("XRANGEPLAIN",`[v=\\s]*(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:${l[c.PRERELEASE]})?${l[c.BUILD]}?)?)?`),d("XRANGEPLAINLOOSE",`[v=\\s]*(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:${l[c.PRERELEASELOOSE]})?${l[c.BUILD]}?)?)?`),d("XRANGE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAIN]}$`),d("XRANGELOOSE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAINLOOSE]}$`),d("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),d("COERCE",`${l[c.COERCEPLAIN]}(?:$|[^\\d])`),d("COERCEFULL",l[c.COERCEPLAIN]+`(?:${l[c.PRERELEASE]})?`+`(?:${l[c.BUILD]})?(?:$|[^\\d])`),d("COERCERTL",l[c.COERCE],!0),d("COERCERTLFULL",l[c.COERCEFULL],!0),d("LONETILDE","(?:~>?)"),d("TILDETRIM",`(\\s*)${l[c.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",d("TILDE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAIN]}$`),d("TILDELOOSE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAINLOOSE]}$`),d("LONECARET","(?:\\^)"),d("CARETTRIM",`(\\s*)${l[c.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",d("CARET",`^${l[c.LONECARET]}${l[c.XRANGEPLAIN]}$`),d("CARETLOOSE",`^${l[c.LONECARET]}${l[c.XRANGEPLAINLOOSE]}$`),d("COMPARATORLOOSE",`^${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]})$|^$`),d("COMPARATOR",`^${l[c.GTLT]}\\s*(${l[c.FULLPLAIN]})$|^$`),d("COMPARATORTRIM",`(\\s*)${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]}|${l[c.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",d("HYPHENRANGE",`^\\s*(${l[c.XRANGEPLAIN]})\\s+-\\s+(${l[c.XRANGEPLAIN]})\\s*$`),d("HYPHENRANGELOOSE",`^\\s*(${l[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[c.XRANGEPLAINLOOSE]})\\s*$`),d("STAR","(<|>)?=?\\s*\\*"),d("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),d("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(ue,ue.exports);var ve=ue.exports;const Ee=/^[0-9]+$/,be=(e,t)=>{const n=Ee.test(e),r=Ee.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:ebe(t,e)};const we=me,{MAX_LENGTH:Ae,MAX_SAFE_INTEGER:Oe}=ge,{safeRe:xe,t:Ie}=ve,Ne=de,{compareIdentifiers:Le}=ye;var Re=class e{constructor(t,n){if(n=Ne(n),t instanceof e){if(t.loose===!!n.loose&&t.includePrerelease===!!n.includePrerelease)return t;t=t.version}else if("string"!=typeof t)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>Ae)throw new TypeError(`version is longer than ${Ae} characters`);we("SemVer",t,n),this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease;const r=t.trim().match(n.loose?xe[Ie.LOOSE]:xe[Ie.FULL]);if(!r)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>Oe||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Oe||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Oe||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);if(-1===r){if(t===this.prerelease.join(".")&&!1===n)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let r=[t,e];!1===n&&(r=[t]),0===Le(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};const $e=Re;var Se=(e,t,n)=>new $e(e,n).compare(new $e(t,n));const Te=Se;const Ce=Se;const De=Se;const Fe=Se;const ke=Se;const _e=Se;const Pe=(e,t,n)=>0===Te(e,t,n),Me=(e,t,n)=>0!==Ce(e,t,n),je=(e,t,n)=>De(e,t,n)>0,ze=(e,t,n)=>Fe(e,t,n)>=0,Ue=(e,t,n)=>ke(e,t,n)<0,Be=(e,t,n)=>_e(e,t,n)<=0;var Ge,We,Xe,Ve,He=(e,t,n,r)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return Pe(e,n,r);case"!=":return Me(e,n,r);case">":return je(e,n,r);case">=":return ze(e,n,r);case"<":return Ue(e,n,r);case"<=":return Be(e,n,r);default:throw new TypeError(`Invalid operator: ${t}`)}};function qe(){if(Ve)return Xe;Ve=1;class e{constructor(t,i){if(i=n(i),t instanceof e)return t.loose===!!i.loose&&t.includePrerelease===!!i.includePrerelease?t:new e(t.raw,i);if(t instanceof r)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=i,this.loose=!!i.loose,this.includePrerelease=!!i.includePrerelease,this.raw=t.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!d(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&u(e[0])){this.set=[e];break}}this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){const n=((this.options.includePrerelease&&f)|(this.options.loose&&p))+":"+e,o=t.get(n);if(o)return o;const u=this.options.loose,g=u?a[s.HYPHENRANGELOOSE]:a[s.HYPHENRANGE];e=e.replace(g,N(this.options.includePrerelease)),i("hyphen replace",e),e=e.replace(a[s.COMPARATORTRIM],l),i("comparator trim",e),e=e.replace(a[s.TILDETRIM],c),i("tilde trim",e),e=e.replace(a[s.CARETTRIM],h),i("caret trim",e);let v=e.split(" ").map((e=>m(e,this.options))).join(" ").split(/\s+/).map((e=>I(e,this.options)));u&&(v=v.filter((e=>(i("loose invalid filter",e,this.options),!!e.match(a[s.COMPARATORLOOSE]))))),i("range list",v);const E=new Map,b=v.map((e=>new r(e,this.options)));for(const e of b){if(d(e))return[e];E.set(e.value,e)}E.size>1&&E.has("")&&E.delete("");const y=[...E.values()];return t.set(n,y),y}intersects(t,n){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some((e=>g(e,n)&&t.set.some((t=>g(t,n)&&e.every((e=>t.every((t=>e.intersects(t,n)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new o(e,this.options)}catch(e){return!1}for(let t=0;t")||!e.operator.startsWith(">"))&&(!this.operator.startsWith("<")||!e.operator.startsWith("<"))&&(this.semver.version!==e.semver.version||!this.operator.includes("=")||!e.operator.includes("="))&&!(o(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<"))&&!(o(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}}Ge=t;const n=de,{safeRe:r,t:i}=ve,o=He,a=me,s=Re,l=qe();return Ge}(),i=me,o=Re,{safeRe:a,t:s,comparatorTrimReplace:l,tildeTrimReplace:c,caretTrimReplace:h}=ve,{FLAG_INCLUDE_PRERELEASE:f,FLAG_LOOSE:p}=ge,d=e=>"<0.0.0-0"===e.value,u=e=>""===e.value,g=(e,t)=>{let n=!0;const r=e.slice();let i=r.pop();for(;n&&r.length;)n=r.every((e=>i.intersects(e,t))),i=r.pop();return n},m=(e,t)=>(i("comp",e,t),e=y(e,t),i("caret",e),e=E(e,t),i("tildes",e),e=A(e,t),i("xrange",e),e=x(e,t),i("stars",e),e),v=e=>!e||"x"===e.toLowerCase()||"*"===e,E=(e,t)=>e.trim().split(/\s+/).map((e=>b(e,t))).join(" "),b=(e,t)=>{const n=t.loose?a[s.TILDELOOSE]:a[s.TILDE];return e.replace(n,((t,n,r,o,a)=>{let s;return i("tilde",e,t,n,r,o,a),v(n)?s="":v(r)?s=`>=${n}.0.0 <${+n+1}.0.0-0`:v(o)?s=`>=${n}.${r}.0 <${n}.${+r+1}.0-0`:a?(i("replaceTilde pr",a),s=`>=${n}.${r}.${o}-${a} <${n}.${+r+1}.0-0`):s=`>=${n}.${r}.${o} <${n}.${+r+1}.0-0`,i("tilde return",s),s}))},y=(e,t)=>e.trim().split(/\s+/).map((e=>w(e,t))).join(" "),w=(e,t)=>{i("caret",e,t);const n=t.loose?a[s.CARETLOOSE]:a[s.CARET],r=t.includePrerelease?"-0":"";return e.replace(n,((t,n,o,a,s)=>{let l;return i("caret",e,t,n,o,a,s),v(n)?l="":v(o)?l=`>=${n}.0.0${r} <${+n+1}.0.0-0`:v(a)?l="0"===n?`>=${n}.${o}.0${r} <${n}.${+o+1}.0-0`:`>=${n}.${o}.0${r} <${+n+1}.0.0-0`:s?(i("replaceCaret pr",s),l="0"===n?"0"===o?`>=${n}.${o}.${a}-${s} <${n}.${o}.${+a+1}-0`:`>=${n}.${o}.${a}-${s} <${n}.${+o+1}.0-0`:`>=${n}.${o}.${a}-${s} <${+n+1}.0.0-0`):(i("no pr"),l="0"===n?"0"===o?`>=${n}.${o}.${a}${r} <${n}.${o}.${+a+1}-0`:`>=${n}.${o}.${a}${r} <${n}.${+o+1}.0-0`:`>=${n}.${o}.${a} <${+n+1}.0.0-0`),i("caret return",l),l}))},A=(e,t)=>(i("replaceXRanges",e,t),e.split(/\s+/).map((e=>O(e,t))).join(" ")),O=(e,t)=>{e=e.trim();const n=t.loose?a[s.XRANGELOOSE]:a[s.XRANGE];return e.replace(n,((n,r,o,a,s,l)=>{i("xRange",e,n,r,o,a,s,l);const c=v(o),h=c||v(a),f=h||v(s),p=f;return"="===r&&p&&(r=""),l=t.includePrerelease?"-0":"",c?n=">"===r||"<"===r?"<0.0.0-0":"*":r&&p?(h&&(a=0),s=0,">"===r?(r=">=",h?(o=+o+1,a=0,s=0):(a=+a+1,s=0)):"<="===r&&(r="<",h?o=+o+1:a=+a+1),"<"===r&&(l="-0"),n=`${r+o}.${a}.${s}${l}`):h?n=`>=${o}.0.0${l} <${+o+1}.0.0-0`:f&&(n=`>=${o}.${a}.0${l} <${o}.${+a+1}.0-0`),i("xRange return",n),n}))},x=(e,t)=>(i("replaceStars",e,t),e.trim().replace(a[s.STAR],"")),I=(e,t)=>(i("replaceGTE0",e,t),e.trim().replace(a[t.includePrerelease?s.GTE0PRE:s.GTE0],"")),N=e=>(t,n,r,i,o,a,s,l,c,h,f,p,d)=>`${n=v(r)?"":v(i)?`>=${r}.0.0${e?"-0":""}`:v(o)?`>=${r}.${i}.0${e?"-0":""}`:a?`>=${n}`:`>=${n}${e?"-0":""}`} ${l=v(c)?"":v(h)?`<${+c+1}.0.0-0`:v(f)?`<${c}.${+h+1}.0-0`:p?`<=${c}.${h}.${f}-${p}`:e?`<${c}.${h}.${+f+1}-0`:`<=${l}`}`.trim(),L=(e,t,n)=>{for(let n=0;n0){const r=e[n].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch)return!0}return!1}return!0};return Xe}const Ye=qe();var Je=(e,t,n)=>{try{t=new Ye(t,n)}catch(e){return!1}return t.test(e)},Qe=F(Je);var Ze={NaN:NaN,E:Math.E,LN2:Math.LN2,LN10:Math.LN10,LOG2E:Math.LOG2E,LOG10E:Math.LOG10E,PI:Math.PI,SQRT1_2:Math.SQRT1_2,SQRT2:Math.SQRT2,MIN_VALUE:Number.MIN_VALUE,MAX_VALUE:Number.MAX_VALUE},Ke={"*":(e,t)=>e*t,"+":(e,t)=>e+t,"-":(e,t)=>e-t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,">":(e,t)=>e>t,"<":(e,t)=>ee<=t,">=":(e,t)=>e>=t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,"===":(e,t)=>e===t,"!==":(e,t)=>e!==t,"&":(e,t)=>e&t,"|":(e,t)=>e|t,"^":(e,t)=>e^t,"<<":(e,t)=>e<>":(e,t)=>e>>t,">>>":(e,t)=>e>>>t},et={"+":e=>+e,"-":e=>-e,"~":e=>~e,"!":e=>!e};const tt=Array.prototype.slice,nt=(e,t,n)=>{const r=n?n(t[0]):t[0];return r[e].apply(r,tt.call(t,1))};var rt={isNaN:Number.isNaN,isFinite:Number.isFinite,abs:Math.abs,acos:Math.acos,asin:Math.asin,atan:Math.atan,atan2:Math.atan2,ceil:Math.ceil,cos:Math.cos,exp:Math.exp,floor:Math.floor,log:Math.log,max:Math.max,min:Math.min,pow:Math.pow,random:Math.random,round:Math.round,sin:Math.sin,sqrt:Math.sqrt,tan:Math.tan,clamp:(e,t,n)=>Math.max(t,Math.min(n,e)),now:Date.now,utc:Date.UTC,datetime:(e,t,n,r,i,o,a)=>new Date(e,t||0,null!=n?n:1,r||0,i||0,o||0,a||0),date:e=>new Date(e).getDate(),day:e=>new Date(e).getDay(),year:e=>new Date(e).getFullYear(),month:e=>new Date(e).getMonth(),hours:e=>new Date(e).getHours(),minutes:e=>new Date(e).getMinutes(),seconds:e=>new Date(e).getSeconds(),milliseconds:e=>new Date(e).getMilliseconds(),time:e=>new Date(e).getTime(),timezoneoffset:e=>new Date(e).getTimezoneOffset(),utcdate:e=>new Date(e).getUTCDate(),utcday:e=>new Date(e).getUTCDay(),utcyear:e=>new Date(e).getUTCFullYear(),utcmonth:e=>new Date(e).getUTCMonth(),utchours:e=>new Date(e).getUTCHours(),utcminutes:e=>new Date(e).getUTCMinutes(),utcseconds:e=>new Date(e).getUTCSeconds(),utcmilliseconds:e=>new Date(e).getUTCMilliseconds(),length:e=>e.length,join:function(){return nt("join",arguments)},indexof:function(){return nt("indexOf",arguments)},lastindexof:function(){return nt("lastIndexOf",arguments)},slice:function(){return nt("slice",arguments)},reverse:e=>e.slice().reverse(),parseFloat:parseFloat,parseInt:parseInt,upper:e=>String(e).toUpperCase(),lower:e=>String(e).toLowerCase(),substring:function(){return nt("substring",arguments,String)},split:function(){return nt("split",arguments,String)},replace:function(){return nt("replace",arguments,String)},trim:e=>String(e).trim(),regexp:RegExp,test:(e,t)=>RegExp(e).test(t)};const it=["view","item","group","xy","x","y"],ot=new Set([Function,eval,setTimeout,setInterval]);"function"==typeof setImmediate&&ot.add(setImmediate);const at={Literal:(e,t)=>t.value,Identifier:(e,t)=>{const n=t.name;return e.memberDepth>0?n:"datum"===n?e.datum:"event"===n?e.event:"item"===n?e.item:Ze[n]||e.params["$"+n]},MemberExpression:(e,t)=>{const n=!t.computed,r=e(t.object);n&&(e.memberDepth+=1);const i=e(t.property);if(n&&(e.memberDepth-=1),!ot.has(r[i]))return r[i];console.error(`Prevented interpretation of member "${i}" which could lead to insecure code execution`)},CallExpression:(e,t)=>{const n=t.arguments;let r=t.callee.name;return r.startsWith("_")&&(r=r.slice(1)),"if"===r?e(n[0])?e(n[1]):e(n[2]):(e.fn[r]||rt[r]).apply(e.fn,n.map(e))},ArrayExpression:(e,t)=>t.elements.map(e),BinaryExpression:(e,t)=>Ke[t.operator](e(t.left),e(t.right)),UnaryExpression:(e,t)=>et[t.operator](e(t.argument)),ConditionalExpression:(e,t)=>e(t.test)?e(t.consequent):e(t.alternate),LogicalExpression:(e,t)=>"&&"===t.operator?e(t.left)&&e(t.right):e(t.left)||e(t.right),ObjectExpression:(e,t)=>t.properties.reduce(((t,n)=>{e.memberDepth+=1;const r=e(n.key);return e.memberDepth-=1,ot.has(e(n.value))?console.error(`Prevented interpretation of property "${r}" which could lead to insecure code execution`):t[r]=e(n.value),t}),{})};function st(e,t,n,r,i,o){const a=e=>at[e.type](a,e);return a.memberDepth=0,a.fn=Object.create(t),a.params=n,a.datum=r,a.event=i,a.item=o,it.forEach((e=>a.fn[e]=function(){return i.vega[e](...arguments)})),a(e)}var lt={operator(e,t){const n=t.ast,r=e.functions;return e=>st(n,r,e)},parameter(e,t){const n=t.ast,r=e.functions;return(e,t)=>st(n,r,t,e)},event(e,t){const n=t.ast,r=e.functions;return e=>st(n,r,void 0,void 0,e)},handler(e,t){const n=t.ast,r=e.functions;return(e,t)=>{const i=t.item&&t.item.datum;return st(n,r,e,i,t)}},encode(e,t){const{marktype:n,channels:r}=t,i=e.functions,o="group"===n||"image"===n||"rect"===n;return(e,t)=>{const a=e.datum;let s,l=0;for(const n in r)s=st(r[n].ast,i,t,a,void 0,e),e[n]!==s&&(e[n]=s,l=1);return"rule"!==n&&function(e,t,n){let r;t.x2&&(t.x?(n&&e.x>e.x2&&(r=e.x,e.x=e.x2,e.x2=r),e.width=e.x2-e.x):e.x=e.x2-(e.width||0)),t.xc&&(e.x=e.xc-(e.width||0)/2),t.y2&&(t.y?(n&&e.y>e.y2&&(r=e.y,e.y=e.y2,e.y2=r),e.height=e.y2-e.y):e.y=e.y2-(e.height||0)),t.yc&&(e.y=e.yc-(e.height||0)/2)}(e,r,o),l}}};function ct(e){const[t,n]=/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3);return{library:t,version:n}}var ht="2.14.0";const ft="#fff",pt="#888",dt={background:"#333",view:{stroke:pt},title:{color:ft,subtitleColor:ft},style:{"guide-label":{fill:ft},"guide-title":{fill:ft}},axis:{domainColor:ft,gridColor:pt,tickColor:ft}},ut="#4572a7",gt={background:"#fff",arc:{fill:ut},area:{fill:ut},line:{stroke:ut,strokeWidth:2},path:{stroke:ut},rect:{fill:ut},shape:{stroke:ut},symbol:{fill:ut,strokeWidth:1.5,size:50},axis:{bandPosition:.5,grid:!0,gridColor:"#000000",gridOpacity:1,gridWidth:.5,labelPadding:10,tickSize:5,tickWidth:.5},axisBand:{grid:!1,tickExtra:!0},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:50,symbolType:"square"},range:{category:["#4572a7","#aa4643","#8aa453","#71598e","#4598ae","#d98445","#94aace","#d09393","#b9cc98","#a99cbc"]}},mt="#30a2da",vt="#cbcbcb",Et="#f0f0f0",bt="#333",yt={arc:{fill:mt},area:{fill:mt},axis:{domainColor:vt,grid:!0,gridColor:vt,gridWidth:1,labelColor:"#999",labelFontSize:10,titleColor:"#333",tickColor:vt,tickSize:10,titleFontSize:14,titlePadding:10,labelPadding:4},axisBand:{grid:!1},background:Et,group:{fill:Et},legend:{labelColor:bt,labelFontSize:11,padding:1,symbolSize:30,symbolType:"square",titleColor:bt,titleFontSize:14,titlePadding:10},line:{stroke:mt,strokeWidth:2},path:{stroke:mt,strokeWidth:.5},rect:{fill:mt},range:{category:["#30a2da","#fc4f30","#e5ae38","#6d904f","#8b8b8b","#b96db8","#ff9e27","#56cc60","#52d2ca","#52689e","#545454","#9fe4f8"],diverging:["#cc0020","#e77866","#f6e7e1","#d6e8ed","#91bfd9","#1d78b5"],heatmap:["#d6e8ed","#cee0e5","#91bfd9","#549cc6","#1d78b5"]},point:{filled:!0,shape:"circle"},shape:{stroke:mt},bar:{binSpacing:2,fill:mt,stroke:null},title:{anchor:"start",fontSize:24,fontWeight:600,offset:20}},wt="#000",At={group:{fill:"#e5e5e5"},arc:{fill:wt},area:{fill:wt},line:{stroke:wt},path:{stroke:wt},rect:{fill:wt},shape:{stroke:wt},symbol:{fill:wt,size:40},axis:{domain:!1,grid:!0,gridColor:"#FFFFFF",gridOpacity:1,labelColor:"#7F7F7F",labelPadding:4,tickColor:"#7F7F7F",tickSize:5.67,titleFontSize:16,titleFontWeight:"normal"},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:40},range:{category:["#000000","#7F7F7F","#1A1A1A","#999999","#333333","#B0B0B0","#4D4D4D","#C9C9C9","#666666","#DCDCDC"]}},Ot="Benton Gothic, sans-serif",xt="#82c6df",It="Benton Gothic Bold, sans-serif",Nt="normal",Lt={"category-6":["#ec8431","#829eb1","#c89d29","#3580b1","#adc839","#ab7fb4"],"fire-7":["#fbf2c7","#f9e39c","#f8d36e","#f4bb6a","#e68a4f","#d15a40","#ab4232"],"fireandice-6":["#e68a4f","#f4bb6a","#f9e39c","#dadfe2","#a6b7c6","#849eae"],"ice-7":["#edefee","#dadfe2","#c4ccd2","#a6b7c6","#849eae","#607785","#47525d"]},Rt={background:"#ffffff",title:{anchor:"start",color:"#000000",font:It,fontSize:22,fontWeight:"normal"},arc:{fill:xt},area:{fill:xt},line:{stroke:xt,strokeWidth:2},path:{stroke:xt},rect:{fill:xt},shape:{stroke:xt},symbol:{fill:xt,size:30},axis:{labelFont:Ot,labelFontSize:11.5,labelFontWeight:"normal",titleFont:It,titleFontSize:13,titleFontWeight:Nt},axisX:{labelAngle:0,labelPadding:4,tickSize:3},axisY:{labelBaseline:"middle",maxExtent:45,minExtent:45,tickSize:2,titleAlign:"left",titleAngle:0,titleX:-45,titleY:-11},legend:{labelFont:Ot,labelFontSize:11.5,symbolType:"square",titleFont:It,titleFontSize:13,titleFontWeight:Nt},range:{category:Lt["category-6"],diverging:Lt["fireandice-6"],heatmap:Lt["fire-7"],ordinal:Lt["fire-7"],ramp:Lt["fire-7"]}},$t="#ab5787",St="#979797",Tt={background:"#f9f9f9",arc:{fill:$t},area:{fill:$t},line:{stroke:$t},path:{stroke:$t},rect:{fill:$t},shape:{stroke:$t},symbol:{fill:$t,size:30},axis:{domainColor:St,domainWidth:.5,gridWidth:.2,labelColor:St,tickColor:St,tickWidth:.2,titleColor:St},axisBand:{grid:!1},axisX:{grid:!0,tickSize:10},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFontSize:11,padding:1,symbolSize:30,symbolType:"square"},range:{category:["#ab5787","#51b2e5","#703c5c","#168dd9","#d190b6","#00609f","#d365ba","#154866","#666666","#c4c4c4"]}},Ct="#3e5c69",Dt={background:"#fff",arc:{fill:Ct},area:{fill:Ct},line:{stroke:Ct},path:{stroke:Ct},rect:{fill:Ct},shape:{stroke:Ct},symbol:{fill:Ct},axis:{domainWidth:.5,grid:!0,labelPadding:2,tickSize:5,tickWidth:.5,titleFontWeight:"normal"},axisBand:{grid:!1},axisX:{gridWidth:.2},axisY:{gridDash:[3],gridWidth:.4},legend:{labelFontSize:11,padding:1,symbolType:"square"},range:{category:["#3e5c69","#6793a6","#182429","#0570b0","#3690c0","#74a9cf","#a6bddb","#e2ddf2"]}},Ft="#1696d2",kt="#000000",_t="Lato",Pt="Lato",Mt={"main-colors":["#1696d2","#d2d2d2","#000000","#fdbf11","#ec008b","#55b748","#5c5859","#db2b27"],"shades-blue":["#CFE8F3","#A2D4EC","#73BFE2","#46ABDB","#1696D2","#12719E","#0A4C6A","#062635"],"shades-gray":["#F5F5F5","#ECECEC","#E3E3E3","#DCDBDB","#D2D2D2","#9D9D9D","#696969","#353535"],"shades-yellow":["#FFF2CF","#FCE39E","#FDD870","#FCCB41","#FDBF11","#E88E2D","#CA5800","#843215"],"shades-magenta":["#F5CBDF","#EB99C2","#E46AA7","#E54096","#EC008B","#AF1F6B","#761548","#351123"],"shades-green":["#DCEDD9","#BCDEB4","#98CF90","#78C26D","#55B748","#408941","#2C5C2D","#1A2E19"],"shades-black":["#D5D5D4","#ADABAC","#848081","#5C5859","#332D2F","#262223","#1A1717","#0E0C0D"],"shades-red":["#F8D5D4","#F1AAA9","#E9807D","#E25552","#DB2B27","#A4201D","#6E1614","#370B0A"],"one-group":["#1696d2","#000000"],"two-groups-cat-1":["#1696d2","#000000"],"two-groups-cat-2":["#1696d2","#fdbf11"],"two-groups-cat-3":["#1696d2","#db2b27"],"two-groups-seq":["#a2d4ec","#1696d2"],"three-groups-cat":["#1696d2","#fdbf11","#000000"],"three-groups-seq":["#a2d4ec","#1696d2","#0a4c6a"],"four-groups-cat-1":["#000000","#d2d2d2","#fdbf11","#1696d2"],"four-groups-cat-2":["#1696d2","#ec0008b","#fdbf11","#5c5859"],"four-groups-seq":["#cfe8f3","#73bf42","#1696d2","#0a4c6a"],"five-groups-cat-1":["#1696d2","#fdbf11","#d2d2d2","#ec008b","#000000"],"five-groups-cat-2":["#1696d2","#0a4c6a","#d2d2d2","#fdbf11","#332d2f"],"five-groups-seq":["#cfe8f3","#73bf42","#1696d2","#0a4c6a","#000000"],"six-groups-cat-1":["#1696d2","#ec008b","#fdbf11","#000000","#d2d2d2","#55b748"],"six-groups-cat-2":["#1696d2","#d2d2d2","#ec008b","#fdbf11","#332d2f","#0a4c6a"],"six-groups-seq":["#cfe8f3","#a2d4ec","#73bfe2","#46abdb","#1696d2","#12719e"],"diverging-colors":["#ca5800","#fdbf11","#fdd870","#fff2cf","#cfe8f3","#73bfe2","#1696d2","#0a4c6a"]},jt={background:"#FFFFFF",title:{anchor:"start",fontSize:18,font:_t},axisX:{domain:!0,domainColor:kt,domainWidth:1,grid:!1,labelFontSize:12,labelFont:Pt,labelAngle:0,tickColor:kt,tickSize:5,titleFontSize:12,titlePadding:10,titleFont:_t},axisY:{domain:!1,domainWidth:1,grid:!0,gridColor:"#DEDDDD",gridWidth:1,labelFontSize:12,labelFont:Pt,labelPadding:8,ticks:!1,titleFontSize:12,titlePadding:10,titleFont:_t,titleAngle:0,titleY:-10,titleX:18},legend:{labelFontSize:12,labelFont:Pt,symbolSize:100,titleFontSize:12,titlePadding:10,titleFont:_t,orient:"right",offset:10},view:{stroke:"transparent"},range:{category:Mt["six-groups-cat-1"],diverging:Mt["diverging-colors"],heatmap:Mt["diverging-colors"],ordinal:Mt["six-groups-seq"],ramp:Mt["shades-blue"]},area:{fill:Ft},rect:{fill:Ft},line:{color:Ft,stroke:Ft,strokeWidth:5},trail:{color:Ft,stroke:Ft,strokeWidth:0,size:1},path:{stroke:Ft,strokeWidth:.5},point:{filled:!0},text:{font:"Lato",color:Ft,fontSize:11,align:"center",fontWeight:400,size:11},style:{bar:{fill:Ft,stroke:null}},arc:{fill:Ft},shape:{stroke:Ft},symbol:{fill:Ft,size:30}},zt="#3366CC",Ut="#ccc",Bt="Arial, sans-serif",Gt={arc:{fill:zt},area:{fill:zt},path:{stroke:zt},rect:{fill:zt},shape:{stroke:zt},symbol:{stroke:zt},circle:{fill:zt},background:"#fff",padding:{top:10,right:10,bottom:10,left:10},style:{"guide-label":{font:Bt,fontSize:12},"guide-title":{font:Bt,fontSize:12},"group-title":{font:Bt,fontSize:12}},title:{font:Bt,fontSize:14,fontWeight:"bold",dy:-3,anchor:"start"},axis:{gridColor:Ut,tickColor:Ut,domain:!1,grid:!0},range:{category:["#4285F4","#DB4437","#F4B400","#0F9D58","#AB47BC","#00ACC1","#FF7043","#9E9D24","#5C6BC0","#F06292","#00796B","#C2185B"],heatmap:["#c6dafc","#5e97f6","#2a56c6"]}},Wt=e=>e*(1/3+1),Xt=Wt(9),Vt=Wt(10),Ht=Wt(12),qt="Segoe UI",Yt="wf_standard-font, helvetica, arial, sans-serif",Jt="#252423",Qt="#605E5C",Zt="transparent",Kt="#118DFF",en="#DEEFFF",tn=[en,Kt],nn={view:{stroke:Zt},background:Zt,font:qt,header:{titleFont:Yt,titleFontSize:Ht,titleColor:Jt,labelFont:qt,labelFontSize:Vt,labelColor:Qt},axis:{ticks:!1,grid:!1,domain:!1,labelColor:Qt,labelFontSize:Xt,titleFont:Yt,titleColor:Jt,titleFontSize:Ht,titleFontWeight:"normal"},axisQuantitative:{tickCount:3,grid:!0,gridColor:"#C8C6C4",gridDash:[1,5],labelFlush:!1},axisBand:{tickExtra:!0},axisX:{labelPadding:5},axisY:{labelPadding:10},bar:{fill:Kt},line:{stroke:Kt,strokeWidth:3,strokeCap:"round",strokeJoin:"round"},text:{font:qt,fontSize:Xt,fill:Qt},arc:{fill:Kt},area:{fill:Kt,line:!0,opacity:.6},path:{stroke:Kt},rect:{fill:Kt},point:{fill:Kt,filled:!0,size:75},shape:{stroke:Kt},symbol:{fill:Kt,strokeWidth:1.5,size:50},legend:{titleFont:qt,titleFontWeight:"bold",titleColor:Qt,labelFont:qt,labelFontSize:Vt,labelColor:Qt,symbolType:"circle",symbolSize:75},range:{category:[Kt,"#12239E","#E66C37","#6B007B","#E044A7","#744EC2","#D9B300","#D64550"],diverging:tn,heatmap:tn,ordinal:[en,"#c7e4ff","#b0d9ff","#9aceff","#83c3ff","#6cb9ff","#55aeff","#3fa3ff","#2898ff",Kt]}},rn='IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,".sfnstext-regular",sans-serif',on=["#8a3ffc","#33b1ff","#007d79","#ff7eb6","#fa4d56","#fff1f1","#6fdc8c","#4589ff","#d12771","#d2a106","#08bdba","#bae6ff","#ba4e00","#d4bbff"],an=["#6929c4","#1192e8","#005d5d","#9f1853","#fa4d56","#570408","#198038","#002d9c","#ee538b","#b28600","#009d9a","#012749","#8a3800","#a56eff"];function sn({type:e,background:t}){const n="dark"===e?"#161616":"#ffffff",r="dark"===e?"#f4f4f4":"#161616",i="dark"===e?"#d4bbff":"#6929c4";return{background:t,arc:{fill:i},area:{fill:i},path:{stroke:i},rect:{fill:i},shape:{stroke:i},symbol:{stroke:i},circle:{fill:i},view:{fill:n,stroke:n},group:{fill:n},title:{color:r,anchor:"start",dy:-15,fontSize:16,font:rn,fontWeight:600},axis:{labelColor:r,labelFontSize:12,grid:!0,gridColor:"#525252",titleColor:r,labelAngle:0},style:{"guide-label":{font:rn,fill:r,fontWeight:400},"guide-title":{font:rn,fill:r,fontWeight:400}},range:{category:"dark"===e?on:an,diverging:["#750e13","#a2191f","#da1e28","#fa4d56","#ff8389","#ffb3b8","#ffd7d9","#fff1f1","#e5f6ff","#bae6ff","#82cfff","#33b1ff","#1192e8","#0072c3","#00539a","#003a6d"],heatmap:["#f6f2ff","#e8daff","#d4bbff","#be95ff","#a56eff","#8a3ffc","#6929c4","#491d8b","#31135e","#1c0f30"]}}}const ln=sn({type:"light",background:"#ffffff"}),cn=sn({type:"light",background:"#f4f4f4"}),hn=sn({type:"dark",background:"#262626"}),fn=sn({type:"dark",background:"#161616"}),pn=ht;var dn=Object.freeze({__proto__:null,carbong10:cn,carbong100:fn,carbong90:hn,carbonwhite:ln,dark:dt,excel:gt,fivethirtyeight:yt,ggplot2:At,googlecharts:Gt,latimes:Rt,powerbi:nn,quartz:Tt,urbaninstitute:jt,version:pn,vox:Dt});function un(e,t,n){return e.fields=t||[],e.fname=n,e}function gn(e){return 1===e.length?mn(e[0]):vn(e)}const mn=e=>function(t){return t[e]},vn=e=>{const t=e.length;return function(n){for(let r=0;rr&&c(),s=r=i+1):"]"===o&&(s||En("Access path missing open bracket: "+e),s>0&&c(),s=0,r=i+1):i>r?c():r=i+1}return s&&En("Access path missing closing bracket: "+e),a&&En("Access path missing closing quote: "+e),i>r&&(i++,c()),t}(e);e=1===r.length?r[0]:e,un((n&&n.get||gn)(r),[e],t||e)}("id"),un((e=>e),[],"identity"),un((()=>0),[],"zero"),un((()=>1),[],"one"),un((()=>!0),[],"true"),un((()=>!1),[],"false");var bn=Array.isArray;function yn(e){return e===Object(e)}function wn(e,t){return JSON.stringify(e,function(e){const t=[];return function(n,r){if("object"!=typeof r||null===r)return r;const i=t.indexOf(this)+1;return t.length=i,t.length>e?"[Object]":t.indexOf(r)>=0?"[Circular]":(t.push(r),r)}}(t))}var An="#vg-tooltip-element {\n visibility: hidden;\n padding: 8px;\n position: fixed;\n z-index: 1000;\n font-family: sans-serif;\n font-size: 11px;\n border-radius: 3px;\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);\n /* The default theme is the light theme. */\n background-color: rgba(255, 255, 255, 0.95);\n border: 1px solid #d9d9d9;\n color: black;\n}\n#vg-tooltip-element.visible {\n visibility: visible;\n}\n#vg-tooltip-element h2 {\n margin-top: 0;\n margin-bottom: 10px;\n font-size: 13px;\n}\n#vg-tooltip-element table {\n border-spacing: 0;\n}\n#vg-tooltip-element table tr {\n border: none;\n}\n#vg-tooltip-element table tr td {\n overflow: hidden;\n text-overflow: ellipsis;\n padding-top: 2px;\n padding-bottom: 2px;\n}\n#vg-tooltip-element table tr td.key {\n color: #808080;\n max-width: 150px;\n text-align: right;\n padding-right: 4px;\n}\n#vg-tooltip-element table tr td.value {\n display: block;\n max-width: 300px;\n max-height: 7em;\n text-align: left;\n}\n#vg-tooltip-element.dark-theme {\n background-color: rgba(32, 32, 32, 0.9);\n border: 1px solid #f5f5f5;\n color: white;\n}\n#vg-tooltip-element.dark-theme td.key {\n color: #bfbfbf;\n}\n";const On="vg-tooltip-element",xn={offsetX:10,offsetY:10,id:On,styleId:"vega-tooltip-style",theme:"light",disableDefaultStyle:!1,sanitize:function(e){return String(e).replace(/&/g,"&").replace(/t("string"==typeof e?e:wn(e,n)))).join(", ")}]`;if(yn(e)){let i="";const{title:o,image:a,...s}=e;o&&(i+=`

${t(o)}

`),a&&(i+=``);const l=Object.keys(s);if(l.length>0){i+="";for(const e of l){let r=s[e];void 0!==r&&(yn(r)&&(r=wn(r,n)),i+=``)}i+="
${t(e)}${t(r)}
"}return i||"{}"}return t(e)},baseURL:""};class In{constructor(e){this.options={...xn,...e};const t=this.options.id;if(this.el=null,this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){const e=document.createElement("style");e.setAttribute("id",this.options.styleId),e.innerHTML=function(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw new Error("Invalid HTML ID");return An.toString().replace(On,e)}(t);const n=document.head;n.childNodes.length>0?n.insertBefore(e,n.childNodes[0]):n.appendChild(e)}}tooltipHandler(e,t,n,r){if(this.el=document.getElementById(this.options.id),!this.el){this.el=document.createElement("div"),this.el.setAttribute("id",this.options.id),this.el.classList.add("vg-tooltip");(document.fullscreenElement??document.body).appendChild(this.el)}if(null==r||""===r)return void this.el.classList.remove("visible",`${this.options.theme}-theme`);this.el.innerHTML=this.options.formatTooltip(r,this.options.sanitize,this.options.maxDepth,this.options.baseURL),this.el.classList.add("visible",`${this.options.theme}-theme`);const{x:i,y:o}=function(e,t,n,r){let i=e.clientX+n;i+t.width>window.innerWidth&&(i=+e.clientX-n-t.width);let o=e.clientY+r;return o+t.height>window.innerHeight&&(o=+e.clientY-r-t.height),{x:i,y:o}}(t,this.el.getBoundingClientRect(),this.options.offsetX,this.options.offsetY);this.el.style.top=`${o}px`,this.el.style.left=`${i}px`}}var Nn='.vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n}\n.vega-embed.has-actions {\n padding-right: 38px;\n}\n.vega-embed details:not([open]) > :not(summary) {\n display: none !important;\n}\n.vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n cursor: pointer;\n line-height: 0px;\n}\n.vega-embed summary::-webkit-details-marker {\n display: none;\n}\n.vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset;\n}\n.vega-embed summary svg {\n width: 14px;\n height: 14px;\n}\n.vega-embed details[open] summary {\n opacity: 0.7;\n}\n.vega-embed:hover summary, .vega-embed:focus-within summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease;\n}\n.vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left;\n}\n.vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none;\n}\n.vega-embed .vega-actions a:hover, .vega-embed .vega-actions a:focus {\n background-color: #f7f7f9;\n color: black;\n}\n.vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: "";\n display: inline-block;\n position: absolute;\n}\n.vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid rgba(0, 0, 0, 0);\n border-bottom-color: #d9d9d9;\n}\n.vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid rgba(0, 0, 0, 0);\n border-bottom-color: #fff;\n}\n.vega-embed .chart-wrapper.fit-x {\n width: 100%;\n}\n.vega-embed .chart-wrapper.fit-y {\n height: 100%;\n}\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: auto;\n padding-right: 14px;\n}\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n';function Ln(e,...t){for(const n of t)Rn(e,n);return e}function Rn(t,n){for(const r of Object.keys(n))e.writeConfig(t,r,n[r],!0)}const $n="6.25.0",Sn=i;let Tn=o;const Cn="undefined"!=typeof window?window:void 0;void 0===Tn&&Cn?.vl?.compile&&(Tn=Cn.vl);const Dn={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},Fn={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},kn={vega:"Vega","vega-lite":"Vega-Lite"},_n={vega:Sn.version,"vega-lite":Tn?Tn.version:"not available"},Pn={vega:e=>e,"vega-lite":(e,t)=>Tn.compile(e,{config:t}).spec},Mn='\n\n \n \n \n',jn="chart-wrapper";function zn(e,t,n,r){const i=`${t}
`,o=`
${n}`,a=window.open("");a.document.write(i+e+o),a.document.title=`${kn[r]} JSON Source`}function Un(e){return!(!e||!("load"in e))}function Bn(e){return Un(e)?e:Sn.loader(e)}async function Gn(t,n,r={}){let i,o;e.isString(n)?(o=Bn(r.loader),i=JSON.parse(await o.load(n))):i=n;const a=function(t){const n=t.usermeta?.embedOptions??{};return e.isString(n.defaultStyle)&&(n.defaultStyle=!1),n}(i),s=a.loader;o&&!s||(o=Bn(r.loader??s));const l=await Wn(a,o),c=await Wn(r,o),h={...Ln(c,l),config:e.mergeConfig(c.config??{},l.config??{})};return await async function(t,n,r={},i){const o=r.theme?e.mergeConfig(dn[r.theme],r.config??{}):r.config,a=e.isBoolean(r.actions)?r.actions:Ln({},Dn,r.actions??{}),s={...Fn,...r.i18n},l=r.renderer??"canvas",c=r.logLevel??Sn.Warn,h=r.downloadFileName??"visualization",f="string"==typeof t?document.querySelector(t):t;if(!f)throw new Error(`${t} does not exist`);if(!1!==r.defaultStyle){const e="vega-embed-style",{root:t,rootContainer:n}=function(e){const t=e.getRootNode?e.getRootNode():document;return t instanceof ShadowRoot?{root:t,rootContainer:t}:{root:document,rootContainer:document.head??document.body}}(f);if(!t.getElementById(e)){const t=document.createElement("style");t.id=e,t.innerHTML=void 0===r.defaultStyle||!0===r.defaultStyle?Nn.toString():r.defaultStyle,n.appendChild(t)}}const p=function(e,t){if(e.$schema){const n=ct(e.$schema);t&&t!==n.library&&console.warn(`The given visualization spec is written in ${kn[n.library]}, but mode argument sets ${kn[t]??t}.`);const r=n.library;return Qe(_n[r],`^${n.version.slice(1)}`)||console.warn(`The input spec uses ${kn[r]} ${n.version}, but the current version of ${kn[r]} is v${_n[r]}.`),r}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":t??"vega"}(n,r.mode);let d=Pn[p](n,o);if("vega-lite"===p&&d.$schema){const e=ct(d.$schema);Qe(_n.vega,`^${e.version.slice(1)}`)||console.warn(`The compiled spec uses Vega ${e.version}, but current version is v${_n.vega}.`)}f.classList.add("vega-embed"),a&&f.classList.add("has-actions");f.innerHTML="";let u=f;if(a){const e=document.createElement("div");e.classList.add(jn),f.appendChild(e),u=e}const g=r.patch;g&&(d=g instanceof Function?g(d):O(d,g,!0,!1).newDocument);r.formatLocale&&Sn.formatLocale(r.formatLocale);r.timeFormatLocale&&Sn.timeFormatLocale(r.timeFormatLocale);if(r.expressionFunctions)for(const e in r.expressionFunctions){const t=r.expressionFunctions[e];"fn"in t?Sn.expressionFunction(e,t.fn,t.visitor):t instanceof Function&&Sn.expressionFunction(e,t)}const{ast:m}=r,v=Sn.parse(d,"vega-lite"===p?{}:o,{ast:m}),E=new(r.viewClass||Sn.View)(v,{loader:i,logLevel:c,renderer:l,...m?{expr:Sn.expressionInterpreter??r.expr??lt}:{}});if(E.addSignalListener("autosize",((e,t)=>{const{type:n}=t;"fit-x"==n?(u.classList.add("fit-x"),u.classList.remove("fit-y")):"fit-y"==n?(u.classList.remove("fit-x"),u.classList.add("fit-y")):"fit"==n?u.classList.add("fit-x","fit-y"):u.classList.remove("fit-x","fit-y")})),!1!==r.tooltip){const{loader:e,tooltip:t}=r,n=e&&!Un(e)?e?.baseURL:void 0,i="function"==typeof t?t:new In({baseURL:n,...!0===t?{}:t}).call;E.tooltip(i)}let b,{hover:y}=r;void 0===y&&(y="vega"===p);if(y){const{hoverSet:e,updateSet:t}="boolean"==typeof y?{}:y;E.hover(e,t)}r&&(null!=r.width&&E.width(r.width),null!=r.height&&E.height(r.height),null!=r.padding&&E.padding(r.padding));if(await E.initialize(u,r.bind).runAsync(),!1!==a){let t=f;if(!1!==r.defaultStyle||r.forceActionsMenu){const e=document.createElement("details");e.title=s.CLICK_TO_VIEW_ACTIONS,f.append(e),t=e;const n=document.createElement("summary");n.innerHTML=Mn,e.append(n),b=t=>{e.contains(t.target)||e.removeAttribute("open")},document.addEventListener("click",b)}const i=document.createElement("div");if(t.append(i),i.classList.add("vega-actions"),!0===a||!1!==a.export)for(const t of["svg","png"])if(!0===a||!0===a.export||a.export[t]){const n=s[`${t.toUpperCase()}_ACTION`],o=document.createElement("a"),a=e.isObject(r.scaleFactor)?r.scaleFactor[t]:r.scaleFactor;o.text=n,o.href="#",o.target="_blank",o.download=`${h}.${t}`,o.addEventListener("mousedown",(async function(e){e.preventDefault();const n=await E.toImageURL(t,a);this.href=n})),i.append(o)}if(!0===a||!1!==a.source){const e=document.createElement("a");e.text=s.SOURCE_ACTION,e.href="#",e.addEventListener("click",(function(e){zn(j(n),r.sourceHeader??"",r.sourceFooter??"",p),e.preventDefault()})),i.append(e)}if("vega-lite"===p&&(!0===a||!1!==a.compiled)){const e=document.createElement("a");e.text=s.COMPILED_ACTION,e.href="#",e.addEventListener("click",(function(e){zn(j(d),r.sourceHeader??"",r.sourceFooter??"","vega"),e.preventDefault()})),i.append(e)}if(!0===a||!1!==a.editor){const e=r.editorUrl??"https://vega.github.io/editor/",t=document.createElement("a");t.text=s.EDITOR_ACTION,t.href="#",t.addEventListener("click",(function(t){!function(e,t,n){const r=e.open(t),{origin:i}=new URL(t);let o=40;e.addEventListener("message",(function t(n){n.source===r&&(o=0,e.removeEventListener("message",t,!1))}),!1),setTimeout((function e(){o<=0||(r.postMessage(n,i),setTimeout(e,250),o-=1)}),250)}(window,e,{config:o,mode:p,renderer:l,spec:j(n)}),t.preventDefault()})),i.append(t)}}function w(){b&&document.removeEventListener("click",b),E.finalize()}return{view:E,spec:n,vgSpec:d,finalize:w,embedOptions:r}}(t,i,h,o)}async function Wn(t,n){const r=e.isString(t.config)?JSON.parse(await n.load(t.config)):t.config??{},i=e.isString(t.patch)?JSON.parse(await n.load(t.patch)):t.patch;return{...t,...i?{patch:i}:{},...r?{config:r}:{}}}async function Xn(e,t={}){const n=document.createElement("div");n.classList.add("vega-embed-wrapper");const r=document.createElement("div");n.appendChild(r);const i=!0===t.actions||!1===t.actions?t.actions:{export:!0,source:!1,compiled:!0,editor:!0,...t.actions},o=await Gn(r,e,{actions:i,...t});return n.value=o.view,n}const Vn=(...t)=>{return t.length>1&&(e.isString(t[0])&&!((n=t[0]).startsWith("http://")||n.startsWith("https://")||n.startsWith("//"))||t[0]instanceof HTMLElement||3===t.length)?Gn(t[0],t[1],t[2]):Xn(t[0],t[1]);var n};return Vn.vegaLite=Tn,Vn.vl=Tn,Vn.container=Xn,Vn.embed=Gn,Vn.vega=Sn,Vn.default=Gn,Vn.version=$n,Vn})); +//# sourceMappingURL=vega-embed.min.js.map diff --git a/assets/external/cdn.jsdelivr.net/npm/vega-lite@5.js b/assets/external/cdn.jsdelivr.net/npm/vega-lite@5.js new file mode 100644 index 00000000..72909a47 --- /dev/null +++ b/assets/external/cdn.jsdelivr.net/npm/vega-lite@5.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vega")):"function"==typeof define&&define.amd?define(["exports","vega"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).vegaLite={},e.vega)}(this,(function(e,t){"use strict";var n="5.18.0";function i(e){return!!e.or}function r(e){return!!e.and}function o(e){return!!e.not}function a(e,t){if(o(e))a(e.not,t);else if(r(e))for(const n of e.and)a(n,t);else if(i(e))for(const n of e.or)a(n,t);else t(e)}function s(e,t){return o(e)?{not:s(e.not,t)}:r(e)?{and:e.and.map((e=>s(e,t)))}:i(e)?{or:e.or.map((e=>s(e,t)))}:t(e)}const l=structuredClone;function c(e){throw new Error(e)}function u(e,n){const i={};for(const r of n)t.hasOwnProperty(e,r)&&(i[r]=e[r]);return i}function f(e,t){const n={...e};for(const e of t)delete n[e];return n}function d(e){if(t.isNumber(e))return e;const n=t.isString(e)?e:X(e);if(n.length<250)return n;let i=0;for(let e=0;e1?t-1:0),i=1;i0===t?e:`[${e}]`)),r=e.map(((t,n)=>e.slice(0,n+1).join("")));for(const e of r)n.add(e)}return n}function k(e,t){return void 0===e||void 0===t||$(w(e),w(t))}function S(e){return 0===D(e).length}Set.prototype.toJSON=function(){return`Set(${[...this].map((e=>X(e))).join(",")})`};const D=Object.keys,F=Object.values,z=Object.entries;function O(e){return!0===e||!1===e}function _(e){const t=e.replace(/\W/g,"_");return(e.match(/^\d+/)?"_":"")+t}function C(e,t){return o(e)?`!(${C(e.not,t)})`:r(e)?`(${e.and.map((e=>C(e,t))).join(") && (")})`:i(e)?`(${e.or.map((e=>C(e,t))).join(") || (")})`:t(e)}function N(e,t){if(0===t.length)return!0;const n=t.shift();return n in e&&N(e[n],t)&&delete e[n],S(e)}function P(e){return e.charAt(0).toUpperCase()+e.substr(1)}function A(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"datum";const i=t.splitAccessPath(e),r=[];for(let e=1;e<=i.length;e++){const o=`[${i.slice(0,e).map(t.stringValue).join("][")}]`;r.push(`${n}${o}`)}return r.join(" && ")}function j(e){return`${arguments.length>1&&void 0!==arguments[1]?arguments[1]:"datum"}[${t.stringValue(t.splitAccessPath(e).join("."))}]`}function T(e){return e.replace(/(\[|\]|\.|'|")/g,"\\$1")}function E(e){return`${t.splitAccessPath(e).map(T).join("\\.")}`}function M(e,t,n){return e.replace(new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function L(e){return`${t.splitAccessPath(e).join(".")}`}function q(e){return e?t.splitAccessPath(e).length:0}function U(){for(var e=arguments.length,t=new Array(e),n=0;nfn(e[t])?_(`_${t}_${z(e[t])}`):_(`_${t}_${e[t]}`))).join("")}function ln(e){return!0===e||un(e)&&!e.binned}function cn(e){return"binned"===e||un(e)&&!0===e.binned}function un(e){return t.isObject(e)}function fn(e){return e?.param}function dn(e){switch(e){case Q:case J:case ye:case me:case pe:case ge:case we:case be:case xe:case $e:case he:return 6;case ke:return 4;default:return 10}}function mn(e){return!!e?.expr}function pn(e){const t=D(e||{}),n={};for(const i of t)n[i]=Sn(e[i]);return n}function gn(e){const{anchor:t,frame:n,offset:i,orient:r,angle:o,limit:a,color:s,subtitleColor:l,subtitleFont:c,subtitleFontSize:f,subtitleFontStyle:d,subtitleFontWeight:m,subtitleLineHeight:p,subtitlePadding:g,...h}=e,y={...t?{anchor:t}:{},...n?{frame:n}:{},...i?{offset:i}:{},...r?{orient:r}:{},...void 0!==o?{angle:o}:{},...void 0!==a?{limit:a}:{}},v={...l?{subtitleColor:l}:{},...c?{subtitleFont:c}:{},...f?{subtitleFontSize:f}:{},...d?{subtitleFontStyle:d}:{},...m?{subtitleFontWeight:m}:{},...p?{subtitleLineHeight:p}:{},...g?{subtitlePadding:g}:{}};return{titleMarkConfig:{...h,...s?{fill:s}:{}},subtitleMarkConfig:u(e,["align","baseline","dx","dy","limit"]),nonMarkTitleProperties:y,subtitle:v}}function hn(e){return t.isString(e)||t.isArray(e)&&t.isString(e[0])}function yn(e){return!!e?.signal}function vn(e){return!!e.step}function bn(e){return!t.isArray(e)&&("field"in e&&"data"in e)}const xn=D({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),$n={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},wn=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];function kn(e){const n=t.isArray(e.condition)?e.condition.map(Dn):Dn(e.condition);return{...Sn(e),condition:n}}function Sn(e){if(mn(e)){const{expr:t,...n}=e;return{signal:t,...n}}return e}function Dn(e){if(mn(e)){const{expr:t,...n}=e;return{signal:t,...n}}return e}function Fn(e){if(mn(e)){const{expr:t,...n}=e;return{signal:t,...n}}return yn(e)?e:void 0!==e?{value:e}:void 0}function zn(e){return yn(e)?e.signal:t.stringValue(e.value)}function On(e){return yn(e)?e.signal:null==e?null:t.stringValue(e)}function _n(e,t,n){for(const i of n){const n=Pn(i,t.markDef,t.config);void 0!==n&&(e[i]=Fn(n))}return e}function Cn(e){return[].concat(e.type,e.style??[])}function Nn(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const{vgChannel:r,ignoreVgConfig:o}=i;return r&&void 0!==t[r]?t[r]:void 0!==t[e]?t[e]:!o||r&&r!==e?Pn(e,t,n,i):void 0}function Pn(e,t,n){let{vgChannel:i}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return U(i?An(e,t,n.style):void 0,An(e,t,n.style),i?n[t.type][i]:void 0,n[t.type][e],i?n.mark[i]:n.mark[e])}function An(e,t,n){return jn(e,Cn(t),n)}function jn(e,n,i){let r;n=t.array(n);for(const t of n){const n=i[t];n&&void 0!==n[e]&&(r=n[e])}return r}function Tn(e,n){return t.array(e).reduce(((e,t)=>(e.field.push(ta(t,n)),e.order.push(t.sort??"ascending"),e)),{field:[],order:[]})}function En(e,t){const n=[...e];return t.forEach((e=>{for(const t of n)if(Y(t,e))return;n.push(e)})),n}function Mn(e,n){return Y(e,n)||!n?e:e?[...t.array(e),...t.array(n)].join(", "):n}function Ln(e,t){const n=e.value,i=t.value;if(null==n||null===i)return{explicit:e.explicit,value:null};if((hn(n)||yn(n))&&(hn(i)||yn(i)))return{explicit:e.explicit,value:Mn(n,i)};if(hn(n)||yn(n))return{explicit:e.explicit,value:n};if(hn(i)||yn(i))return{explicit:e.explicit,value:i};if(!(hn(n)||yn(n)||hn(i)||yn(i)))return{explicit:e.explicit,value:En(n,i)};throw new Error("It should never reach here")}function qn(e){return`Invalid specification ${X(e)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}const Un='Autosize "fit" only works for single views and layered views.';function Rn(e){return`${"width"==e?"Width":"Height"} "container" only works for single views and layered views.`}function Wn(e){return`${"width"==e?"Width":"Height"} "container" only works well with autosize "fit" or "fit-${"width"==e?"x":"y"}".`}function Bn(e){return e?`Dropping "fit-${e}" because spec has discrete ${rt(e)}.`:'Dropping "fit" because spec has discrete size.'}function In(e){return`Unknown field for ${e}. Cannot calculate view size.`}function Hn(e){return`Cannot project a selection on encoding channel "${e}", which has no field.`}function Vn(e,t){return`Cannot project a selection on encoding channel "${e}" as it uses an aggregate function ("${t}").`}function Gn(e){return`Selection not supported for ${e} yet.`}const Yn="The same selection must be used to override scale domains in a layered view.";function Xn(e){return`The "columns" property cannot be used when "${e}" has nested row/column.`}function Qn(e,t,n){return`An ancestor parsed field "${e}" as ${n} but a child wants to parse the field as ${t}.`}function Jn(e){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${e} are dropped.`}function Kn(e){return`${e}Offset dropped because ${e} is continuous`}function Zn(e){return`Invalid field type "${e}".`}function ei(e,t){const{fill:n,stroke:i}=t;return`Dropping color ${e} as the plot also has ${n&&i?"fill and stroke":n?"fill":"stroke"}.`}function ti(e,t){return`Dropping ${X(e)} from channel "${t}" since it does not contain any data field, datum, value, or signal.`}function ni(e,t,n){return`${e} dropped as it is incompatible with "${t}"${n?` when ${n}`:""}.`}function ii(e){return`${e} encoding should be discrete (ordinal / nominal / binned).`}function ri(e){return`${e} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function oi(e,t){return`Using discrete channel "${e}" to encode "${t}" field can be misleading as it does not encode ${"ordinal"===t?"order":"magnitude"}.`}function ai(e){return`Using unaggregated domain with raw field has no effect (${X(e)}).`}function si(e){return`Unaggregated domain not applicable for "${e}" since it produces values outside the origin domain of the source data.`}function li(e){return`Unaggregated domain is currently unsupported for log scale (${X(e)}).`}function ci(e,t,n){return`${n}-scale's "${t}" is dropped as it does not work with ${e} scale.`}function ui(e){return`The step for "${e}" is dropped because the ${"width"===e?"x":"y"} is continuous.`}const fi="Domains that should be unioned has conflicting sort properties. Sort will be set to true.";function di(e,t){return`Invalid ${e}: ${X(t)}.`}function mi(e){return`1D error band does not support ${e}.`}function pi(e){return`Channel ${e} is required for "binned" bin.`}const gi=t.logger(t.Warn);let hi=gi;function yi(){hi.warn(...arguments)}function vi(e){if(e&&t.isObject(e))for(const t of Fi)if(t in e)return!0;return!1}const bi=["january","february","march","april","may","june","july","august","september","october","november","december"],xi=bi.map((e=>e.substr(0,3))),$i=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],wi=$i.map((e=>e.substr(0,3)));function ki(e,n){const i=[];if(n&&void 0!==e.day&&D(e).length>1&&(yi(function(e){return`Dropping day from datetime ${X(e)} as day cannot be combined with other units.`}(e)),delete(e=l(e)).day),void 0!==e.year?i.push(e.year):i.push(2012),void 0!==e.month){const r=n?function(e){if(V(e)&&(e=+e),t.isNumber(e))return e-1;{const t=e.toLowerCase(),n=bi.indexOf(t);if(-1!==n)return n;const i=t.substr(0,3),r=xi.indexOf(i);if(-1!==r)return r;throw new Error(di("month",e))}}(e.month):e.month;i.push(r)}else if(void 0!==e.quarter){const r=n?function(e){if(V(e)&&(e=+e),t.isNumber(e))return e>4&&yi(di("quarter",e)),e-1;throw new Error(di("quarter",e))}(e.quarter):e.quarter;i.push(t.isNumber(r)?3*r:`${r}*3`)}else i.push(0);if(void 0!==e.date)i.push(e.date);else if(void 0!==e.day){const r=n?function(e){if(V(e)&&(e=+e),t.isNumber(e))return e%7;{const t=e.toLowerCase(),n=$i.indexOf(t);if(-1!==n)return n;const i=t.substr(0,3),r=wi.indexOf(i);if(-1!==r)return r;throw new Error(di("day",e))}}(e.day):e.day;i.push(t.isNumber(r)?r+1:`${r}+1`)}else i.push(1);for(const t of["hours","minutes","seconds","milliseconds"]){const n=e[t];i.push(void 0===n?0:n)}return i}function Si(e){const t=ki(e,!0).join(", ");return e.utc?`utc(${t})`:`datetime(${t})`}const Di={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},Fi=D(Di);function zi(e){return t.isObject(e)?e.binned:Oi(e)}function Oi(e){return e&&e.startsWith("binned")}function _i(e){return e.startsWith("utc")}const Ci={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function Ni(e){return Fi.filter((t=>Ai(e,t)))}function Pi(e){const t=Ni(e);return t[t.length-1]}function Ai(e,t){const n=e.indexOf(t);return!(n<0)&&(!(n>0&&"seconds"===t&&"i"===e.charAt(n-1))&&(!(e.length>n+3&&"day"===t&&"o"===e.charAt(n+3))&&!(n>0&&"year"===t&&"f"===e.charAt(n-1))))}function ji(e,t){let{end:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{end:!1};const i=A(t),r=_i(e)?"utc":"";let o;const a={};for(const t of Fi)Ai(e,t)&&(a[t]="quarter"===(s=t)?`(${r}quarter(${i})-1)`:`${r}${s}(${i})`,o=t);var s;return n&&(a[o]+="+1"),function(e){const t=ki(e,!1).join(", ");return e.utc?`utc(${t})`:`datetime(${t})`}(a)}function Ti(e){if(!e)return;return`timeUnitSpecifier(${X(Ni(e))}, ${X(Ci)})`}function Ei(e){if(!e)return;let n;return t.isString(e)?n=Oi(e)?{unit:e.substring(6),binned:!0}:{unit:e}:t.isObject(e)&&(n={...e,...e.unit?{unit:e.unit}:{}}),_i(n.unit)&&(n.utc=!0,n.unit=n.unit.substring(3)),n}function Mi(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;const n=Ei(e),i=Pi(n.unit);if(i&&"day"!==i){const e={year:2001,month:1,date:1,hours:0,minutes:0,seconds:0,milliseconds:0},{step:r,part:o}=qi(i,n.step);return`${t(Si({...e,[o]:+e[o]+r}))} - ${t(Si(e))}`}}const Li={year:1,month:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1};function qi(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(function(e){return!!Li[e]}(e))return{part:e,step:t};switch(e){case"day":case"dayofyear":return{part:"date",step:t};case"quarter":return{part:"month",step:3*t};case"week":return{part:"date",step:7*t}}}function Ui(e){return!!e?.field&&void 0!==e.equal}function Ri(e){return!!e?.field&&void 0!==e.lt}function Wi(e){return!!e?.field&&void 0!==e.lte}function Bi(e){return!!e?.field&&void 0!==e.gt}function Ii(e){return!!e?.field&&void 0!==e.gte}function Hi(e){if(e?.field){if(t.isArray(e.range)&&2===e.range.length)return!0;if(yn(e.range))return!0}return!1}function Vi(e){return!!e?.field&&(t.isArray(e.oneOf)||t.isArray(e.in))}function Gi(e){return Vi(e)||Ui(e)||Hi(e)||Ri(e)||Bi(e)||Wi(e)||Ii(e)}function Yi(e,t){return va(e,{timeUnit:t,wrapTime:!0})}function Xi(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const{field:n}=e,i=Ei(e.timeUnit),{unit:r,binned:o}=i||{},a=ta(e,{expr:"datum"}),s=r?`time(${o?a:ji(r,n)})`:a;if(Ui(e))return`${s}===${Yi(e.equal,r)}`;if(Ri(e)){return`${s}<${Yi(e.lt,r)}`}if(Bi(e)){return`${s}>${Yi(e.gt,r)}`}if(Wi(e)){return`${s}<=${Yi(e.lte,r)}`}if(Ii(e)){return`${s}>=${Yi(e.gte,r)}`}if(Vi(e))return`indexof([${function(e,t){return e.map((e=>Yi(e,t)))}(e.oneOf,r).join(",")}], ${s}) !== -1`;if(function(e){return!!e?.field&&void 0!==e.valid}(e))return Qi(s,e.valid);if(Hi(e)){const{range:n}=e,i=yn(n)?{signal:`${n.signal}[0]`}:n[0],o=yn(n)?{signal:`${n.signal}[1]`}:n[1];if(null!==i&&null!==o&&t)return"inrange("+s+", ["+Yi(i,r)+", "+Yi(o,r)+"])";const a=[];return null!==i&&a.push(`${s} >= ${Yi(i,r)}`),null!==o&&a.push(`${s} <= ${Yi(o,r)}`),a.length>0?a.join(" && "):"true"}throw new Error(`Invalid field predicate: ${X(e)}`)}function Qi(e){return!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?`isValid(${e}) && isFinite(+${e})`:`!isValid(${e}) || !isFinite(+${e})`}function Ji(e){return Gi(e)&&e.timeUnit?{...e,timeUnit:Ei(e.timeUnit)}:e}function Ki(e){return"quantitative"===e||"temporal"===e}function Zi(e){return"ordinal"===e||"nominal"===e}const er="quantitative",tr="ordinal",nr="temporal",ir="nominal",rr="geojson";const or={LINEAR:"linear",LOG:"log",POW:"pow",SQRT:"sqrt",SYMLOG:"symlog",IDENTITY:"identity",SEQUENTIAL:"sequential",TIME:"time",UTC:"utc",QUANTILE:"quantile",QUANTIZE:"quantize",THRESHOLD:"threshold",BIN_ORDINAL:"bin-ordinal",ORDINAL:"ordinal",POINT:"point",BAND:"band"},ar={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",identity:"numeric",sequential:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"};function sr(e,t){const n=ar[e],i=ar[t];return n===i||"ordinal-position"===n&&"time"===i||"ordinal-position"===i&&"time"===n}const lr={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function cr(e){return lr[e]}const ur=new Set(["linear","log","pow","sqrt","symlog"]),fr=new Set([...ur,"time","utc"]);function dr(e){return ur.has(e)}const mr=new Set(["quantile","quantize","threshold"]),pr=new Set([...fr,...mr,"sequential","identity"]),gr=new Set(["ordinal","bin-ordinal","point","band"]);function hr(e){return gr.has(e)}function yr(e){return pr.has(e)}function vr(e){return fr.has(e)}function br(e){return mr.has(e)}function xr(e){return e?.param}const{type:$r,domain:wr,range:kr,rangeMax:Sr,rangeMin:Dr,scheme:Fr,...zr}={type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,domainRaw:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},Or=D(zr);function _r(e,t){switch(t){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(e);case"bins":return!["point","band","identity","ordinal"].includes(e);case"round":return vr(e)||"band"===e||"point"===e;case"padding":case"rangeMin":case"rangeMax":return vr(e)||["point","band"].includes(e);case"paddingOuter":case"align":return["point","band"].includes(e);case"paddingInner":return"band"===e;case"domainMax":case"domainMid":case"domainMin":case"domainRaw":case"clamp":return vr(e);case"nice":return vr(e)||"quantize"===e||"threshold"===e;case"exponent":return"pow"===e;case"base":return"log"===e;case"constant":return"symlog"===e;case"zero":return yr(e)&&!p(["log","time","utc","threshold","quantile"],e)}}function Cr(e,t){switch(t){case"interpolate":case"scheme":case"domainMid":return qe(e)?void 0:`Cannot use the scale property "${t}" with non-color channel.`;case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"domainRaw":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeMax":case"rangeMin":case"reverse":case"round":case"clamp":case"zero":return}}const Nr={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"},Pr=Nr.arc,Ar=Nr.area,jr=Nr.bar,Tr=Nr.image,Er=Nr.line,Mr=Nr.point,Lr=Nr.rect,qr=Nr.rule,Ur=Nr.text,Rr=Nr.tick,Wr=Nr.trail,Br=Nr.circle,Ir=Nr.square,Hr=Nr.geoshape;function Vr(e){return["line","area","trail"].includes(e)}function Gr(e){return["rect","bar","image","arc"].includes(e)}const Yr=new Set(D(Nr));function Xr(e){return e.type}const Qr=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit","fill","fillOpacity"],Jr=D({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),Kr=D({mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1});function Zr(e){return e&&null!=e.band}const eo={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},to={binSpacing:1,continuousBandSize:5,minBandSize:.25,timeUnitBandPosition:.5},no={binSpacing:0,continuousBandSize:5,minBandSize:.25,timeUnitBandPosition:.5};function io(e){const{channel:t,channelDef:n,markDef:i,scale:r,config:o}=e,a=lo(e);return Ro(n)&&!rn(n.aggregate)&&r&&vr(r.get("type"))?function(e){let{fieldDef:t,channel:n,markDef:i,ref:r,config:o}=e;if(Vr(i.type))return r;const a=Nn("invalid",i,o);if(null===a)return[ro(t,n),r];return r}({fieldDef:n,channel:t,markDef:i,ref:a,config:o}):a}function ro(e,t){return{test:oo(e,!0),..."y"===tt(t)?{field:{group:"height"}}:{value:0}}}function oo(e){let n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Qi(t.isString(e)?e:ta(e,{expr:"datum"}),!n)}function ao(e,t,n,i){const r={};if(t&&(r.scale=t),Bo(e)){const{datum:t}=e;vi(t)?r.signal=Si(t):yn(t)?r.signal=t.signal:mn(t)?r.signal=t.expr:r.value=t}else r.field=ta(e,n);if(i){const{offset:e,band:t}=i;e&&(r.offset=e),t&&(r.band=t)}return r}function so(e){let{scaleName:t,fieldOrDatumDef:n,fieldOrDatumDef2:i,offset:r,startSuffix:o,endSuffix:a="end",bandPosition:s=.5}=e;const l=!yn(s)&&01&&void 0!==arguments[1]?arguments[1]:{},n=e.field;const i=t.prefix;let r=t.suffix,o="";if(function(e){return"count"===e.aggregate}(e))n=B("count");else{let i;if(!t.nofn)if(function(e){return"op"in e}(e))i=e.op;else{const{bin:a,aggregate:s,timeUnit:l}=e;ln(a)?(i=sn(a),r=(t.binSuffix??"")+(t.suffix??"")):s?en(s)?(o=`["${n}"]`,n=`argmax_${s.argmax}`):Zt(s)?(o=`["${n}"]`,n=`argmin_${s.argmin}`):i=String(s):l&&!zi(l)&&(i=function(e){const{utc:t,...n}=Ei(e);return n.unit?(t?"utc":"")+D(n).map((e=>_(`${"unit"===e?"":`_${e}_`}${n[e]}`))).join(""):(t?"utc":"")+"timeunit"+D(n).map((e=>_(`_${e}_${n[e]}`))).join("")}(l),r=(!["range","mid"].includes(t.binSuffix)&&t.binSuffix||"")+(t.suffix??""))}i&&(n=n?`${i}_${n}`:i)}return r&&(n=`${n}_${r}`),i&&(n=`${i}_${n}`),t.forAs?L(n):t.expr?j(n,t.expr)+o:E(n)+o}function na(e){switch(e.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return Ro(e)&&!!e.bin;case"temporal":return!1}throw new Error(Zn(e.type))}const ia=(e,t)=>{switch(t.fieldTitle){case"plain":return e.field;case"functional":return function(e){const{aggregate:t,bin:n,timeUnit:i,field:r}=e;if(en(t))return`${r} for argmax(${t.argmax})`;if(Zt(t))return`${r} for argmin(${t.argmin})`;const o=i&&!zi(i)?Ei(i):void 0,a=t||o?.unit||o?.maxbins&&"timeunit"||ln(n)&&"bin";return a?`${a.toUpperCase()}(${r})`:r}(e);default:return function(e,t){const{field:n,bin:i,timeUnit:r,aggregate:o}=e;if("count"===o)return t.countTitle;if(ln(i))return`${n} (binned)`;if(r&&!zi(r)){const e=Ei(r)?.unit;if(e)return`${n} (${Ni(e).join("-")})`}else if(o)return en(o)?`${n} for max ${o.argmax}`:Zt(o)?`${n} for min ${o.argmin}`:`${P(o)} of ${n}`;return n}(e,t)}};let ra=ia;function oa(e){ra=e}function aa(e,t,n){let{allowDisabling:i,includeDefault:r=!0}=n;const o=sa(e)?.title;if(!Ro(e))return o??e.title;const a=e,s=r?la(a,t):void 0;return i?U(o,a.title,s):o??a.title??s}function sa(e){return Jo(e)&&e.axis?e.axis:Ko(e)&&e.legend?e.legend:Co(e)&&e.header?e.header:void 0}function la(e,t){return ra(e,t)}function ca(e){if(Zo(e)){const{format:t,formatType:n}=e;return{format:t,formatType:n}}{const t=sa(e)??{},{format:n,formatType:i}=t;return{format:n,formatType:i}}}function ua(e){return Ro(e)?e:qo(e)?e.condition:void 0}function fa(e){return Go(e)?e:Uo(e)?e.condition:void 0}function da(e,n,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(t.isString(e)||t.isNumber(e)||t.isBoolean(e)){return yi(function(e,t,n){return`Channel ${e} is a ${t}. Converted to {value: ${X(n)}}.`}(n,t.isString(e)?"string":t.isNumber(e)?"number":"boolean",e)),{value:e}}return Go(e)?ma(e,n,i,r):Uo(e)?{...e,condition:ma(e.condition,n,i,r)}:e}function ma(e,n,i,r){if(Zo(e)){const{format:t,formatType:o,...a}=e;if(uo(o)&&!i.customFormatTypes)return yi(Jn(n)),ma(a,n,i,r)}else{const t=Jo(e)?"axis":Ko(e)?"legend":Co(e)?"header":null;if(t&&e[t]){const{format:o,formatType:a,...s}=e[t];if(uo(a)&&!i.customFormatTypes)return yi(Jn(n)),ma({...e,[t]:s},n,i,r)}}return Ro(e)?pa(e,n,r):function(e){let n=e.type;if(n)return e;const{datum:i}=e;return n=t.isNumber(i)?"quantitative":t.isString(i)?"nominal":vi(i)?"temporal":void 0,{...e,type:n}}(e)}function pa(e,n){let{compositeMark:i=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{aggregate:r,timeUnit:o,bin:a,field:s}=e,l={...e};if(i||!r||tn(r)||en(r)||Zt(r)||(yi(function(e){return`Invalid aggregation operator "${e}".`}(r)),delete l.aggregate),o&&(l.timeUnit=Ei(o)),s&&(l.field=`${s}`),ln(a)&&(l.bin=ga(a,n)),cn(a)&&!zt(n)&&yi(function(e){return`Channel ${e} should not be used with "binned" bin.`}(n)),Yo(l)){const{type:e}=l,t=function(e){if(e)switch(e=e.toLowerCase()){case"q":case er:return"quantitative";case"t":case nr:return"temporal";case"o":case tr:return"ordinal";case"n":case ir:return"nominal";case rr:return"geojson"}}(e);e!==t&&(l.type=t),"quantitative"!==e&&rn(r)&&(yi(function(e,t){return`Invalid field type "${e}" for aggregate: "${t}", using "quantitative" instead.`}(e,r)),l.type="quantitative")}else if(!et(n)){const e=function(e,n){switch(n){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(Ao(e)&&t.isArray(e.sort))return"ordinal";const{aggregate:i,bin:r,timeUnit:o}=e;if(o)return"temporal";if(r||i&&!en(i)&&!Zt(i))return"quantitative";if(Qo(e)&&e.scale?.type)switch(ar[e.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}(l,n);l.type=e}if(Yo(l)){const{compatible:e,warning:t}=function(e,t){const n=e.type;if("geojson"===n&&"shape"!==t)return{compatible:!1,warning:`Channel ${t} should not be used with a geojson data.`};switch(t){case Q:case J:case K:return na(e)?ha:{compatible:!1,warning:ii(t)};case Z:case ee:case ie:case re:case me:case pe:case ge:case Se:case Fe:case ze:case Oe:case _e:case Ce:case ve:case se:case oe:case Ne:return ha;case ue:case de:case ce:case fe:return n!==er?{compatible:!1,warning:`Channel ${t} should be used with a quantitative field only, not ${e.type} field.`}:ha;case be:case xe:case $e:case we:case ye:case le:case ae:case te:case ne:return"nominal"!==n||e.sort?ha:{compatible:!1,warning:`Channel ${t} should not be used with an unsorted discrete field.`};case he:case ke:return na(e)||Qo(i=e)&&br(i.scale?.type)?ha:{compatible:!1,warning:ri(t)};case De:return"nominal"!==e.type||"sort"in e?ha:{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}}var i}(l,n)||{};!1===e&&yi(t)}if(Ao(l)&&t.isString(l.sort)){const{sort:e}=l;if(Do(e))return{...l,sort:{encoding:e}};const t=e.substr(1);if("-"===e.charAt(0)&&Do(t))return{...l,sort:{encoding:t,order:"descending"}}}if(Co(l)){const{header:e}=l;if(e){const{orient:t,...n}=e;if(t)return{...l,header:{...n,labelOrient:e.labelOrient||t,titleOrient:e.titleOrient||t}}}}return l}function ga(e,n){return t.isBoolean(e)?{maxbins:dn(n)}:"binned"===e?{binned:!0}:e.maxbins||e.step?e:{...e,maxbins:dn(n)}}const ha={compatible:!0};function ya(e){const{formatType:t}=ca(e);return"time"===t||!t&&((n=e)&&("temporal"===n.type||Ro(n)&&!!n.timeUnit));var n}function va(e,n){let{timeUnit:i,type:r,wrapTime:o,undefinedIfExprNotRequired:a}=n;const s=i&&Ei(i)?.unit;let l,c=s||"temporal"===r;return mn(e)?l=e.expr:yn(e)?l=e.signal:vi(e)?(c=!0,l=Si(e)):(t.isString(e)||t.isNumber(e))&&c&&(l=`datetime(${X(e)})`,function(e){return!!Di[e]}(s)&&(t.isNumber(e)&&e<1e4||t.isString(e)&&isNaN(Date.parse(e)))&&(l=Si({[s]:e}))),l?o&&c?`time(${l})`:l:a?void 0:X(e)}function ba(e,t){const{type:n}=e;return t.map((t=>{const i=va(t,{timeUnit:Ro(e)&&!zi(e.timeUnit)?e.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return void 0!==i?{signal:i}:t}))}function xa(e,t){return ln(e.bin)?Ht(t)&&["ordinal","nominal"].includes(e.type):(console.warn("Only call this method for binned field defs."),!1)}const $a={labelAlign:{part:"labels",vgProp:"align"},labelBaseline:{part:"labels",vgProp:"baseline"},labelColor:{part:"labels",vgProp:"fill"},labelFont:{part:"labels",vgProp:"font"},labelFontSize:{part:"labels",vgProp:"fontSize"},labelFontStyle:{part:"labels",vgProp:"fontStyle"},labelFontWeight:{part:"labels",vgProp:"fontWeight"},labelOpacity:{part:"labels",vgProp:"opacity"},labelOffset:null,labelPadding:null,gridColor:{part:"grid",vgProp:"stroke"},gridDash:{part:"grid",vgProp:"strokeDash"},gridDashOffset:{part:"grid",vgProp:"strokeDashOffset"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDashOffset"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"}};function wa(e){return e?.condition}const ka=["domain","grid","labels","ticks","title"],Sa={grid:"grid",gridCap:"grid",gridColor:"grid",gridDash:"grid",gridDashOffset:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",aria:"main",description:"main",domain:"main",domainCap:"main",domainColor:"main",domainDash:"main",domainDashOffset:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontStyle:"main",labelFontWeight:"main",labelLimit:"main",labelLineHeight:"main",labelOffset:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",labelSeparation:"main",maxExtent:"main",minExtent:"main",offset:"both",position:"main",tickCap:"main",tickColor:"main",tickDash:"main",tickDashOffset:"main",tickMinStep:"both",tickOffset:"both",tickOpacity:"main",tickRound:"both",ticks:"main",tickSize:"main",tickWidth:"both",title:"main",titleAlign:"main",titleAnchor:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontStyle:"main",titleFontWeight:"main",titleLimit:"main",titleLineHeight:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",encode:"both",scale:"both",tickBand:"both",tickCount:"both",tickExtra:"both",translate:"both",values:"both",zindex:"both"},Da={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},Fa={...Da,style:1,labelExpr:1,encoding:1};function za(e){return!!Fa[e]}const Oa=D({axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1});function _a(e){return"mark"in e}class Ca{constructor(e,t){this.name=e,this.run=t}hasMatchingType(e){return!!_a(e)&&(Xr(t=e.mark)?t.type:t)===this.name;var t}}function Na(e,n){const i=e&&e[n];return!!i&&(t.isArray(i)?g(i,(e=>!!e.field)):Ro(i)||qo(i))}function Pa(e,n){const i=e&&e[n];return!!i&&(t.isArray(i)?g(i,(e=>!!e.field)):Ro(i)||Bo(i)||Uo(i))}function Aa(e,t){if(zt(t)){const n=e[t];if((Ro(n)||Bo(n))&&(Zi(n.type)||Ro(n)&&n.timeUnit)){return Pa(e,at(t))}}return!1}function ja(e){return g(Be,(n=>{if(Na(e,n)){const i=e[n];if(t.isArray(i))return g(i,(e=>!!e.aggregate));{const e=ua(i);return e&&!!e.aggregate}}return!1}))}function Ta(e,t){const n=[],i=[],r=[],o=[],a={};return La(e,((s,l)=>{if(Ro(s)){const{field:c,aggregate:u,bin:f,timeUnit:d,...m}=s;if(u||d||f){const e=sa(s),p=e?.title;let g=ta(s,{forAs:!0});const h={...p?[]:{title:aa(s,t,{allowDisabling:!0})},...m,field:g};if(u){let e;if(en(u)?(e="argmax",g=ta({op:"argmax",field:u.argmax},{forAs:!0}),h.field=`${g}.${c}`):Zt(u)?(e="argmin",g=ta({op:"argmin",field:u.argmin},{forAs:!0}),h.field=`${g}.${c}`):"boxplot"!==u&&"errorbar"!==u&&"errorband"!==u&&(e=u),e){const t={op:e,as:g};c&&(t.field=c),o.push(t)}}else if(n.push(g),Yo(s)&&ln(f)){if(i.push({bin:f,field:c,as:g}),n.push(ta(s,{binSuffix:"end"})),xa(s,l)&&n.push(ta(s,{binSuffix:"range"})),zt(l)){const e={field:`${g}_end`};a[`${l}2`]=e}h.bin="binned",et(l)||(h.type=er)}else if(d&&!zi(d)){r.push({timeUnit:d,field:c,as:g});const e=Yo(s)&&s.type!==nr&&"time";e&&(l===Se||l===Oe?h.formatType=e:!function(e){return!!kt[e]}(l)?zt(l)&&(h.axis={formatType:e,...h.axis}):h.legend={formatType:e,...h.legend})}a[l]=h}else n.push(c),a[l]=e[l]}else a[l]=e[l]})),{bins:i,timeUnits:r,aggregate:o,groupby:n,encoding:a}}function Ea(e,t,n){const i=Vt(t,n);if(!i)return!1;if("binned"===i){const n=e[t===te?Z:ee];return!!(Ro(n)&&Ro(e[t])&&cn(n.bin))}return!0}function Ma(e,t){const n={};for(const i of D(e)){const r=da(e[i],i,t,{compositeMark:!0});n[i]=r}return n}function La(e,n,i){if(e)for(const r of D(e)){const o=e[r];if(t.isArray(o))for(const e of o)n.call(i,e,r);else n.call(i,o,r)}}function qa(e,n){return D(n).reduce(((i,r)=>{switch(r){case Z:case ee:case _e:case Ne:case Ce:case te:case ne:case ie:case re:case se:case le:case oe:case ae:case ce:case ue:case fe:case de:case Se:case he:case ve:case Oe:return i;case De:if("line"===e||"trail"===e)return i;case Fe:case ze:{const e=n[r];if(t.isArray(e)||Ro(e))for(const n of t.array(e))n.aggregate||i.push(ta(n,{}));return i}case ye:if("trail"===e)return i;case me:case pe:case ge:case be:case xe:case $e:case ke:case we:{const e=ua(n[r]);return e&&!e.aggregate&&i.push(ta(e,{})),i}}}),[])}function Ua(e,n,i){let r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if("tooltip"in i)return{tooltip:i.tooltip};return{tooltip:[...e.map((e=>{let{fieldPrefix:t,titlePrefix:i}=e;const o=r?` of ${Ra(n)}`:"";return{field:t+n.field,type:n.type,title:yn(i)?{signal:`${i}"${escape(o)}"`}:i+o}})),...b(function(e){const n=[];for(const i of D(e))if(Na(e,i)){const r=e[i],o=t.array(r);for(const e of o)Ro(e)?n.push(e):qo(e)&&n.push(e.condition)}return n}(i).map(ea),d)]}}function Ra(e){const{title:t,field:n}=e;return U(t,n)}function Wa(e,n,i,r,o){const{scale:a,axis:s}=i;return l=>{let{partName:c,mark:u,positionPrefix:f,endPositionPrefix:d,extraEncoding:m={}}=l;const p=Ra(i);return Ba(e,c,o,{mark:u,encoding:{[n]:{field:`${f}_${i.field}`,type:i.type,...void 0!==p?{title:p}:{},...void 0!==a?{scale:a}:{},...void 0!==s?{axis:s}:{}},...t.isString(d)?{[`${n}2`]:{field:`${d}_${i.field}`}}:{},...r,...m}})}}function Ba(e,n,i,r){const{clip:o,color:a,opacity:s}=e,l=e.type;return e[n]||void 0===e[n]&&i[n]?[{...r,mark:{...i[n],...o?{clip:o}:{},...a?{color:a}:{},...s?{opacity:s}:{},...Xr(r.mark)?r.mark:{type:r.mark},style:`${l}-${String(n)}`,...t.isBoolean(e[n])?{}:e[n]}}]:[]}function Ia(e,t,n){const{encoding:i}=e,r="vertical"===t?"y":"x",o=i[r],a=i[`${r}2`],s=i[`${r}Error`],l=i[`${r}Error2`];return{continuousAxisChannelDef:Ha(o,n),continuousAxisChannelDef2:Ha(a,n),continuousAxisChannelDefError:Ha(s,n),continuousAxisChannelDefError2:Ha(l,n),continuousAxis:r}}function Ha(e,t){if(e?.aggregate){const{aggregate:n,...i}=e;return n!==t&&yi(function(e,t){return`Continuous axis should not have customized aggregation function ${e}; ${t} already agregates the axis.`}(n,t)),i}return e}function Va(e,t){const{mark:n,encoding:i}=e,{x:r,y:o}=i;if(Xr(n)&&n.orient)return n.orient;if(Io(r)){if(Io(o)){const e=Ro(r)&&r.aggregate,n=Ro(o)&&o.aggregate;if(e||n!==t){if(n||e!==t){if(e===t&&n===t)throw new Error("Both x and y cannot have aggregate");return ya(o)&&!ya(r)?"horizontal":"vertical"}return"horizontal"}return"vertical"}return"horizontal"}if(Io(o))return"vertical";throw new Error(`Need a valid continuous axis for ${t}s`)}const Ga="boxplot",Ya=new Ca(Ga,Qa);function Xa(e){return t.isNumber(e)?"tukey":e}function Qa(e,n){let{config:i}=n;e={...e,encoding:Ma(e.encoding,i)};const{mark:r,encoding:o,params:a,projection:s,...l}=e,c=Xr(r)?r:{type:r};a&&yi(Gn("boxplot"));const u=c.extent??i.boxplot.extent,d=Nn("size",c,i),m=c.invalid,p=Xa(u),{bins:g,timeUnits:h,transform:y,continuousAxisChannelDef:v,continuousAxis:b,groupby:x,aggregate:$,encodingWithoutContinuousAxis:w,ticksOrient:k,boxOrient:D,customTooltipWithoutAggregatedField:F}=function(e,n,i){const r=Va(e,Ga),{continuousAxisChannelDef:o,continuousAxis:a}=Ia(e,r,Ga),s=o.field,l=L(s),c=Xa(n),u=[...Ja(s),{op:"median",field:s,as:`mid_box_${l}`},{op:"min",field:s,as:("min-max"===c?"lower_whisker_":"min_")+l},{op:"max",field:s,as:("min-max"===c?"upper_whisker_":"max_")+l}],f="min-max"===c||"tukey"===c?[]:[{calculate:`datum["upper_box_${l}"] - datum["lower_box_${l}"]`,as:`iqr_${l}`},{calculate:`min(datum["upper_box_${l}"] + datum["iqr_${l}"] * ${n}, datum["max_${l}"])`,as:`upper_whisker_${l}`},{calculate:`max(datum["lower_box_${l}"] - datum["iqr_${l}"] * ${n}, datum["min_${l}"])`,as:`lower_whisker_${l}`}],{[a]:d,...m}=e.encoding,{customTooltipWithoutAggregatedField:p,filteredEncoding:g}=function(e){const{tooltip:n,...i}=e;if(!n)return{filteredEncoding:i};let r,o;if(t.isArray(n)){for(const e of n)e.aggregate?(r||(r=[]),r.push(e)):(o||(o=[]),o.push(e));r&&(i.tooltip=r)}else n.aggregate?i.tooltip=n:o=n;return t.isArray(o)&&1===o.length&&(o=o[0]),{customTooltipWithoutAggregatedField:o,filteredEncoding:i}}(m),{bins:h,timeUnits:y,aggregate:v,groupby:b,encoding:x}=Ta(g,i),$="vertical"===r?"horizontal":"vertical",w=r,k=[...h,...y,{aggregate:[...v,...u],groupby:b},...f];return{bins:h,timeUnits:y,transform:k,groupby:b,aggregate:v,continuousAxisChannelDef:o,continuousAxis:a,encodingWithoutContinuousAxis:x,ticksOrient:$,boxOrient:w,customTooltipWithoutAggregatedField:p}}(e,u,i),z=L(v.field),{color:O,size:_,...C}=w,N=e=>Wa(c,b,v,e,i.boxplot),P=N(C),A=N(w),j=(t.isObject(i.boxplot.box)?i.boxplot.box.color:i.mark.color)||"#4c78a8",T=N({...C,..._?{size:_}:{},color:{condition:{test:`datum['lower_box_${v.field}'] >= datum['upper_box_${v.field}']`,...O||{value:j}}}}),E=Ua([{fieldPrefix:"min-max"===p?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:"min-max"===p?"lower_whisker_":"min_",titlePrefix:"Min"}],v,w),M={type:"tick",color:"black",opacity:1,orient:k,invalid:m,aria:!1},q="min-max"===p?E:Ua([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],v,w),U=[...P({partName:"rule",mark:{type:"rule",invalid:m,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:q}),...P({partName:"rule",mark:{type:"rule",invalid:m,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:q}),...P({partName:"ticks",mark:M,positionPrefix:"lower_whisker",extraEncoding:q}),...P({partName:"ticks",mark:M,positionPrefix:"upper_whisker",extraEncoding:q})],R=[..."tukey"!==p?U:[],...A({partName:"box",mark:{type:"bar",...d?{size:d}:{},orient:D,invalid:m,ariaRoleDescription:"box"},positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:E}),...T({partName:"median",mark:{type:"tick",invalid:m,...t.isObject(i.boxplot.median)&&i.boxplot.median.color?{color:i.boxplot.median.color}:{},...d?{size:d}:{},orient:k,aria:!1},positionPrefix:"mid_box",extraEncoding:E})];if("min-max"===p)return{...l,transform:(l.transform??[]).concat(y),layer:R};const W=`datum["lower_box_${v.field}"]`,B=`datum["upper_box_${v.field}"]`,I=`(${B} - ${W})`,H=`${W} - ${u} * ${I}`,V=`${B} + ${u} * ${I}`,G=`datum["${v.field}"]`,Y={joinaggregate:Ja(v.field),groupby:x},X={transform:[{filter:`(${H} <= ${G}) && (${G} <= ${V})`},{aggregate:[{op:"min",field:v.field,as:`lower_whisker_${z}`},{op:"max",field:v.field,as:`upper_whisker_${z}`},{op:"min",field:`lower_box_${v.field}`,as:`lower_box_${z}`},{op:"max",field:`upper_box_${v.field}`,as:`upper_box_${z}`},...$],groupby:x}],layer:U},{tooltip:Q,...J}=C,{scale:K,axis:Z}=v,ee=Ra(v),te=f(Z,["title"]),ne=Ba(c,"outliers",i.boxplot,{transform:[{filter:`(${G} < ${H}) || (${G} > ${V})`}],mark:"point",encoding:{[b]:{field:v.field,type:v.type,...void 0!==ee?{title:ee}:{},...void 0!==K?{scale:K}:{},...S(te)?{}:{axis:te}},...J,...O?{color:O}:{},...F?{tooltip:F}:{}}})[0];let ie;const re=[...g,...h,Y];return ne?ie={transform:re,layer:[ne,X]}:(ie=X,ie.transform.unshift(...re)),{...l,layer:[ie,{transform:y,layer:R}]}}function Ja(e){const t=L(e);return[{op:"q1",field:e,as:`lower_box_${t}`},{op:"q3",field:e,as:`upper_box_${t}`}]}const Ka="errorbar",Za=new Ca(Ka,es);function es(e,t){let{config:n}=t;e={...e,encoding:Ma(e.encoding,n)};const{transform:i,continuousAxisChannelDef:r,continuousAxis:o,encodingWithoutContinuousAxis:a,ticksOrient:s,markDef:l,outerSpec:c,tooltipEncoding:u}=ns(e,Ka,n);delete a.size;const f=Wa(l,o,r,a,n.errorbar),d=l.thickness,m=l.size,p={type:"tick",orient:s,aria:!1,...void 0!==d?{thickness:d}:{},...void 0!==m?{size:m}:{}},g=[...f({partName:"ticks",mark:p,positionPrefix:"lower",extraEncoding:u}),...f({partName:"ticks",mark:p,positionPrefix:"upper",extraEncoding:u}),...f({partName:"rule",mark:{type:"rule",ariaRoleDescription:"errorbar",...void 0!==d?{size:d}:{}},positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:u})];return{...c,transform:i,...g.length>1?{layer:g}:{...g[0]}}}function ts(e,t){const{encoding:n}=e;if(function(e){return(Go(e.x)||Go(e.y))&&!Go(e.x2)&&!Go(e.y2)&&!Go(e.xError)&&!Go(e.xError2)&&!Go(e.yError)&&!Go(e.yError2)}(n))return{orient:Va(e,t),inputType:"raw"};const i=function(e){return Go(e.x2)||Go(e.y2)}(n),r=function(e){return Go(e.xError)||Go(e.xError2)||Go(e.yError)||Go(e.yError2)}(n),o=n.x,a=n.y;if(i){if(r)throw new Error(`${t} cannot be both type aggregated-upper-lower and aggregated-error`);const e=n.x2,i=n.y2;if(Go(e)&&Go(i))throw new Error(`${t} cannot have both x2 and y2`);if(Go(e)){if(Io(o))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw new Error(`Both x and x2 have to be quantitative in ${t}`)}if(Go(i)){if(Io(a))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw new Error(`Both y and y2 have to be quantitative in ${t}`)}throw new Error("No ranged axis")}{const e=n.xError,i=n.xError2,r=n.yError,s=n.yError2;if(Go(i)&&!Go(e))throw new Error(`${t} cannot have xError2 without xError`);if(Go(s)&&!Go(r))throw new Error(`${t} cannot have yError2 without yError`);if(Go(e)&&Go(r))throw new Error(`${t} cannot have both xError and yError with both are quantiative`);if(Go(e)){if(Io(o))return{orient:"horizontal",inputType:"aggregated-error"};throw new Error("All x, xError, and xError2 (if exist) have to be quantitative")}if(Go(r)){if(Io(a))return{orient:"vertical",inputType:"aggregated-error"};throw new Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw new Error("No ranged axis")}}function ns(e,t,n){const{mark:i,encoding:r,params:o,projection:a,...s}=e,l=Xr(i)?i:{type:i};o&&yi(Gn(t));const{orient:c,inputType:u}=ts(e,t),{continuousAxisChannelDef:f,continuousAxisChannelDef2:d,continuousAxisChannelDefError:m,continuousAxisChannelDefError2:p,continuousAxis:g}=Ia(e,c,t),{errorBarSpecificAggregate:h,postAggregateCalculates:y,tooltipSummary:v,tooltipTitleWithFieldName:b}=function(e,t,n,i,r,o,a,s){let l=[],c=[];const u=t.field;let f,d=!1;if("raw"===o){const t=e.center?e.center:e.extent?"iqr"===e.extent?"median":"mean":s.errorbar.center,n=e.extent?e.extent:"mean"===t?"stderr":"iqr";if("median"===t!=("iqr"===n)&&yi(function(e,t,n){return`${e} is not usually used with ${t} for ${n}.`}(t,n,a)),"stderr"===n||"stdev"===n)l=[{op:n,field:u,as:`extent_${u}`},{op:t,field:u,as:`center_${u}`}],c=[{calculate:`datum["center_${u}"] + datum["extent_${u}"]`,as:`upper_${u}`},{calculate:`datum["center_${u}"] - datum["extent_${u}"]`,as:`lower_${u}`}],f=[{fieldPrefix:"center_",titlePrefix:P(t)},{fieldPrefix:"upper_",titlePrefix:is(t,n,"+")},{fieldPrefix:"lower_",titlePrefix:is(t,n,"-")}],d=!0;else{let e,t,i;"ci"===n?(e="mean",t="ci0",i="ci1"):(e="median",t="q1",i="q3"),l=[{op:t,field:u,as:`lower_${u}`},{op:i,field:u,as:`upper_${u}`},{op:e,field:u,as:`center_${u}`}],f=[{fieldPrefix:"upper_",titlePrefix:aa({field:u,aggregate:i,type:"quantitative"},s,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:aa({field:u,aggregate:t,type:"quantitative"},s,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:aa({field:u,aggregate:e,type:"quantitative"},s,{allowDisabling:!1})}]}}else{(e.center||e.extent)&&yi((m=e.center,`${(p=e.extent)?"extent ":""}${p&&m?"and ":""}${m?"center ":""}${p&&m?"are ":"is "}not needed when data are aggregated.`)),"aggregated-upper-lower"===o?(f=[],c=[{calculate:`datum["${n.field}"]`,as:`upper_${u}`},{calculate:`datum["${u}"]`,as:`lower_${u}`}]):"aggregated-error"===o&&(f=[{fieldPrefix:"",titlePrefix:u}],c=[{calculate:`datum["${u}"] + datum["${i.field}"]`,as:`upper_${u}`}],r?c.push({calculate:`datum["${u}"] + datum["${r.field}"]`,as:`lower_${u}`}):c.push({calculate:`datum["${u}"] - datum["${i.field}"]`,as:`lower_${u}`}));for(const e of c)f.push({fieldPrefix:e.as.substring(0,6),titlePrefix:M(M(e.calculate,'datum["',""),'"]',"")})}var m,p;return{postAggregateCalculates:c,errorBarSpecificAggregate:l,tooltipSummary:f,tooltipTitleWithFieldName:d}}(l,f,d,m,p,u,t,n),{[g]:x,["x"===g?"x2":"y2"]:$,["x"===g?"xError":"yError"]:w,["x"===g?"xError2":"yError2"]:k,...S}=r,{bins:D,timeUnits:F,aggregate:z,groupby:O,encoding:_}=Ta(S,n),C=[...z,...h],N="raw"!==u?[]:O,A=Ua(v,f,_,b);return{transform:[...s.transform??[],...D,...F,...0===C.length?[]:[{aggregate:C,groupby:N}],...y],groupby:N,continuousAxisChannelDef:f,continuousAxis:g,encodingWithoutContinuousAxis:_,ticksOrient:"vertical"===c?"horizontal":"vertical",markDef:l,outerSpec:s,tooltipEncoding:A}}function is(e,t,n){return`${P(e)} ${n} ${t}`}const rs="errorband",os=new Ca(rs,as);function as(e,t){let{config:n}=t;e={...e,encoding:Ma(e.encoding,n)};const{transform:i,continuousAxisChannelDef:r,continuousAxis:o,encodingWithoutContinuousAxis:a,markDef:s,outerSpec:l,tooltipEncoding:c}=ns(e,rs,n),u=s,f=Wa(u,o,r,a,n.errorband),d=void 0!==e.encoding.x&&void 0!==e.encoding.y;let m={type:d?"area":"rect"},p={type:d?"line":"rule"};const g={...u.interpolate?{interpolate:u.interpolate}:{},...u.tension&&u.interpolate?{tension:u.tension}:{}};return d?(m={...m,...g,ariaRoleDescription:"errorband"},p={...p,...g,aria:!1}):u.interpolate?yi(mi("interpolate")):u.tension&&yi(mi("tension")),{...l,transform:i,layer:[...f({partName:"band",mark:m,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:c}),...f({partName:"borders",mark:p,positionPrefix:"lower",extraEncoding:c}),...f({partName:"borders",mark:p,positionPrefix:"upper",extraEncoding:c})]}}const ss={};function ls(e,t,n){const i=new Ca(e,t);ss[e]={normalizer:i,parts:n}}ls(Ga,Qa,["box","median","outliers","rule","ticks"]),ls(Ka,es,["ticks","rule"]),ls(rs,as,["band","borders"]);const cs=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],us={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleLineHeight:"lineHeight",titleOrient:"orient",titlePadding:"offset"},fs={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelBaseline:"baseline",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelLimit:"limit",labelLineHeight:"lineHeight",labelOrient:"orient",labelPadding:"offset"},ds=D(us),ms=D(fs),ps=D({header:1,headerRow:1,headerColumn:1,headerFacet:1}),gs=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],hs="_vgsid_",ys={point:{on:"click",fields:[hs],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[pointerdown, window:pointerup] > window:pointermove!",encodings:["x","y"],translate:"[pointerdown, window:pointerup] > window:pointermove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}};function vs(e){return"legend"===e||!!e?.legend}function bs(e){return vs(e)&&t.isObject(e)}function xs(e){return!!e?.select}function $s(e){const t=[];for(const n of e||[]){if(xs(n))continue;const{expr:e,bind:i,...r}=n;if(i&&e){const n={...r,bind:i,init:e};t.push(n)}else{const n={...r,...e?{update:e}:{},...i?{bind:i}:{}};t.push(n)}}return t}function ws(e){return"concat"in e}function ks(e){return"vconcat"in e}function Ss(e){return"hconcat"in e}function Ds(e){let{step:t,offsetIsDiscrete:n}=e;return n?t.for??"offset":"position"}function Fs(e){return t.isObject(e)&&void 0!==e.step}function zs(e){return e.view||e.width||e.height}const Os=D({align:1,bounds:1,center:1,columns:1,spacing:1});function _s(e,t){return e[t]??e["width"===t?"continuousWidth":"continuousHeight"]}function Cs(e,t){const n=Ns(e,t);return Fs(n)?n.step:Ps}function Ns(e,t){return U(e[t]??e["width"===t?"discreteWidth":"discreteHeight"],{step:e.step})}const Ps=20,As={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:200,continuousHeight:200,step:Ps},mark:{color:"#4c78a8",invalid:"filter",timeUnitBandSize:1},arc:{},area:{},bar:to,circle:{},geoshape:{},image:{},line:{},point:{},rect:no,rule:{color:"black"},square:{},text:{color:"black"},tick:{thickness:1},trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:{pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:9,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4,zero:!0},projection:{},legend:{gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:ys,style:{},title:{},facet:{spacing:20},concat:{spacing:20},normalizedNumberFormat:".0%"},js=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],Ts={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},Es={blue:js[0],orange:js[1],red:js[2],teal:js[3],green:js[4],yellow:js[5],purple:js[6],pink:js[7],brown:js[8],gray0:"#000",gray1:"#111",gray2:"#222",gray3:"#333",gray4:"#444",gray5:"#555",gray6:"#666",gray7:"#777",gray8:"#888",gray9:"#999",gray10:"#aaa",gray11:"#bbb",gray12:"#ccc",gray13:"#ddd",gray14:"#eee",gray15:"#fff"};function Ms(e){const t=D(e||{}),n={};for(const i of t){const t=e[i];n[i]=wa(t)?kn(t):Sn(t)}return n}const Ls=[...Kr,...Oa,...ps,"background","padding","legend","lineBreak","scale","style","title","view"];function qs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{color:n,font:i,fontSize:r,selection:o,...a}=e,s=t.mergeConfig({},l(As),i?function(e){return{text:{font:e},style:{"guide-label":{font:e},"guide-title":{font:e},"group-title":{font:e},"group-subtitle":{font:e}}}}(i):{},n?function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{signals:[{name:"color",value:t.isObject(e)?{...Es,...e}:Es}],mark:{color:{signal:"color.blue"}},rule:{color:{signal:"color.gray0"}},text:{color:{signal:"color.gray0"}},style:{"guide-label":{fill:{signal:"color.gray0"}},"guide-title":{fill:{signal:"color.gray0"}},"group-title":{fill:{signal:"color.gray0"}},"group-subtitle":{fill:{signal:"color.gray0"}},cell:{stroke:{signal:"color.gray8"}}},axis:{domainColor:{signal:"color.gray13"},gridColor:{signal:"color.gray8"},tickColor:{signal:"color.gray13"}},range:{category:[{signal:"color.blue"},{signal:"color.orange"},{signal:"color.red"},{signal:"color.teal"},{signal:"color.green"},{signal:"color.yellow"},{signal:"color.purple"},{signal:"color.pink"},{signal:"color.brown"},{signal:"color.grey8"}]}}}(n):{},r?function(e){return{signals:[{name:"fontSize",value:t.isObject(e)?{...Ts,...e}:Ts}],text:{fontSize:{signal:"fontSize.text"}},style:{"guide-label":{fontSize:{signal:"fontSize.guideLabel"}},"guide-title":{fontSize:{signal:"fontSize.guideTitle"}},"group-title":{fontSize:{signal:"fontSize.groupTitle"}},"group-subtitle":{fontSize:{signal:"fontSize.groupSubtitle"}}}}}(r):{},a||{});o&&t.writeConfig(s,"selection",o,!0);const c=f(s,Ls);for(const e of["background","lineBreak","padding"])s[e]&&(c[e]=Sn(s[e]));for(const e of Kr)s[e]&&(c[e]=pn(s[e]));for(const e of Oa)s[e]&&(c[e]=Ms(s[e]));for(const e of ps)s[e]&&(c[e]=pn(s[e]));return s.legend&&(c.legend=pn(s.legend)),s.scale&&(c.scale=pn(s.scale)),s.style&&(c.style=function(e){const t=D(e),n={};for(const i of t)n[i]=Ms(e[i]);return n}(s.style)),s.title&&(c.title=pn(s.title)),s.view&&(c.view=pn(s.view)),c}const Us=new Set(["view",...Yr]),Rs=["color","fontSize","background","padding","facet","concat","numberFormat","numberFormatType","normalizedNumberFormat","normalizedNumberFormatType","timeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],Ws={view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"],area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize","minBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize","minBandSize"],line:["point"],tick:["bandSize","thickness"]};function Bs(e){e=l(e);for(const t of Rs)delete e[t];if(e.axis)for(const t in e.axis)wa(e.axis[t])&&delete e.axis[t];if(e.legend)for(const t of cs)delete e.legend[t];if(e.mark){for(const t of Jr)delete e.mark[t];e.mark.tooltip&&t.isObject(e.mark.tooltip)&&delete e.mark.tooltip}e.params&&(e.signals=(e.signals||[]).concat($s(e.params)),delete e.params);for(const t of Us){for(const n of Jr)delete e[t][n];const n=Ws[t];if(n)for(const i of n)delete e[t][i];Is(e,t)}for(const t of D(ss))delete e[t];!function(e){const{titleMarkConfig:t,subtitleMarkConfig:n,subtitle:i}=gn(e.title);S(t)||(e.style["group-title"]={...e.style["group-title"],...t});S(n)||(e.style["group-subtitle"]={...e.style["group-subtitle"],...n});S(i)?delete e.title:e.title=i}(e);for(const n in e)t.isObject(e[n])&&S(e[n])&&delete e[n];return S(e)?void 0:e}function Is(e,t,n,i){"view"===t&&(n="cell");const r={...i?e[t][i]:e[t],...e.style[n??t]};S(r)||(e.style[n??t]=r),i||delete e[t]}function Hs(e){return"layer"in e}class Vs{map(e,t){return No(e)?this.mapFacet(e,t):function(e){return"repeat"in e}(e)?this.mapRepeat(e,t):Ss(e)?this.mapHConcat(e,t):ks(e)?this.mapVConcat(e,t):ws(e)?this.mapConcat(e,t):this.mapLayerOrUnit(e,t)}mapLayerOrUnit(e,t){if(Hs(e))return this.mapLayer(e,t);if(_a(e))return this.mapUnit(e,t);throw new Error(qn(e))}mapLayer(e,t){return{...e,layer:e.layer.map((e=>this.mapLayerOrUnit(e,t)))}}mapHConcat(e,t){return{...e,hconcat:e.hconcat.map((e=>this.map(e,t)))}}mapVConcat(e,t){return{...e,vconcat:e.vconcat.map((e=>this.map(e,t)))}}mapConcat(e,t){const{concat:n,...i}=e;return{...i,concat:n.map((e=>this.map(e,t)))}}mapFacet(e,t){return{...e,spec:this.map(e.spec,t)}}mapRepeat(e,t){return{...e,spec:this.map(e.spec,t)}}}const Gs={zero:1,center:1,normalize:1};const Ys=new Set([Pr,jr,Ar,qr,Mr,Br,Ir,Er,Ur,Rr]),Xs=new Set([jr,Ar,Pr]);function Qs(e){return Ro(e)&&"quantitative"===Wo(e)&&!e.bin}function Js(e,t,n){let{orient:i,type:r}=n;const o="x"===t?"y":"radius",a="x"===t&&["bar","area"].includes(r),s=e[t],l=e[o];if(Ro(s)&&Ro(l))if(Qs(s)&&Qs(l)){if(s.stack)return t;if(l.stack)return o;const e=Ro(s)&&!!s.aggregate;if(e!==(Ro(l)&&!!l.aggregate))return e?t:o;if(a){if("vertical"===i)return o;if("horizontal"===i)return t}}else{if(Qs(s))return t;if(Qs(l))return o}else{if(Qs(s)){if(a&&"vertical"===i)return;return t}if(Qs(l)){if(a&&"horizontal"===i)return;return o}}}function Ks(e,n){const i=Xr(e)?e:{type:e},r=i.type;if(!Ys.has(r))return null;const o=Js(n,"x",i)||Js(n,"theta",i);if(!o)return null;const a=n[o],s=Ro(a)?ta(a,{}):void 0,l=function(e){switch(e){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}(o),c=[],u=new Set;if(n[l]){const e=n[l],t=Ro(e)?ta(e,{}):void 0;t&&t!==s&&(c.push(l),u.add(t))}const f="x"===l?"xOffset":"yOffset",d=n[f],m=Ro(d)?ta(d,{}):void 0;m&&m!==s&&(c.push(f),u.add(m));const p=St.reduce(((e,i)=>{if("tooltip"!==i&&Na(n,i)){const r=n[i];for(const n of t.array(r)){const t=ua(n);if(t.aggregate)continue;const r=ta(t,{});r&&u.has(r)||e.push({channel:i,fieldDef:t})}}return e}),[]);let g;return void 0!==a.stack?g=t.isBoolean(a.stack)?a.stack?"zero":null:a.stack:Xs.has(r)&&(g="zero"),g&&g in Gs?ja(n)&&0===p.length?null:a?.scale?.type&&a?.scale?.type!==or.LINEAR?(a?.stack&&yi(function(e){return`Cannot stack non-linear scale (${e}).`}(a.scale.type)),null):Go(n[it(o)])?(void 0!==a.stack&&yi(`Cannot stack "${h=o}" if there is already "${h}2".`),null):(Ro(a)&&a.aggregate&&!on.has(a.aggregate)&&yi(`Stacking is applied even though the aggregate function is non-summative ("${a.aggregate}").`),{groupbyChannels:c,groupbyFields:u,fieldChannel:o,impute:null!==a.impute&&Vr(r),stackBy:p,offset:g}):null;var h}function Zs(e,t,n){const i=pn(e),r=Nn("orient",i,n);if(i.orient=function(e,t,n){switch(e){case Mr:case Br:case Ir:case Ur:case Lr:case Tr:return}const{x:i,y:r,x2:o,y2:a}=t;switch(e){case jr:if(Ro(i)&&(cn(i.bin)||Ro(r)&&r.aggregate&&!i.aggregate))return"vertical";if(Ro(r)&&(cn(r.bin)||Ro(i)&&i.aggregate&&!r.aggregate))return"horizontal";if(a||o){if(n)return n;if(!o)return(Ro(i)&&i.type===er&&!ln(i.bin)||Vo(i))&&Ro(r)&&cn(r.bin)?"horizontal":"vertical";if(!a)return(Ro(r)&&r.type===er&&!ln(r.bin)||Vo(r))&&Ro(i)&&cn(i.bin)?"vertical":"horizontal"}case qr:if(o&&(!Ro(i)||!cn(i.bin))&&a&&(!Ro(r)||!cn(r.bin)))return;case Ar:if(a)return Ro(r)&&cn(r.bin)?"horizontal":"vertical";if(o)return Ro(i)&&cn(i.bin)?"vertical":"horizontal";if(e===qr){if(i&&!r)return"vertical";if(r&&!i)return"horizontal"}case Er:case Rr:{const t=Ho(i),o=Ho(r);if(n)return n;if(t&&!o)return"tick"!==e?"horizontal":"vertical";if(!t&&o)return"tick"!==e?"vertical":"horizontal";if(t&&o)return"vertical";{const e=Yo(i)&&i.type===nr,t=Yo(r)&&r.type===nr;if(e&&!t)return"vertical";if(!e&&t)return"horizontal"}return}}return"vertical"}(i.type,t,r),void 0!==r&&r!==i.orient&&yi(`Specified orient "${i.orient}" overridden with "${r}".`),"bar"===i.type&&i.orient){const e=Nn("cornerRadiusEnd",i,n);if(void 0!==e){const n="horizontal"===i.orient&&t.x2||"vertical"===i.orient&&t.y2?["cornerRadius"]:eo[i.orient];for(const t of n)i[t]=e;void 0!==i.cornerRadiusEnd&&delete i.cornerRadiusEnd}}const o=Nn("opacity",i,n),a=Nn("fillOpacity",i,n);void 0===o&&void 0===a&&(i.opacity=function(e,t){if(p([Mr,Rr,Br,Ir],e)&&!ja(t))return.7;return}(i.type,t));return void 0===Nn("cursor",i,n)&&(i.cursor=function(e,t,n){if(t.href||e.href||Nn("href",e,n))return"pointer";return e.cursor}(i,t,n)),i}function el(e){const{point:t,line:n,...i}=e;return D(i).length>1?i:i.type}function tl(e){for(const t of["line","area","rule","trail"])e[t]&&(e={...e,[t]:f(e[t],["point","line"])});return e}function nl(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;return"transparent"===e.point?{opacity:0}:e.point?t.isObject(e.point)?e.point:{}:void 0!==e.point?null:n.point||i.shape?t.isObject(n.point)?n.point:{}:void 0}function il(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.line?!0===e.line?{}:e.line:void 0!==e.line?null:t.line?!0===t.line?{}:t.line:void 0}class rl{name="path-overlay";hasMatchingType(e,t){if(_a(e)){const{mark:n,encoding:i}=e,r=Xr(n)?n:{type:n};switch(r.type){case"line":case"rule":case"trail":return!!nl(r,t[r.type],i);case"area":return!!nl(r,t[r.type],i)||!!il(r,t[r.type])}}return!1}run(e,t,n){const{config:i}=t,{params:r,projection:o,mark:a,name:s,encoding:l,...c}=e,d=Ma(l,i),m=Xr(a)?a:{type:a},p=nl(m,i[m.type],d),g="area"===m.type&&il(m,i[m.type]),h=[{name:s,...r?{params:r}:{},mark:el({..."area"===m.type&&void 0===m.opacity&&void 0===m.fillOpacity?{opacity:.7}:{},...m}),encoding:f(d,["shape"])}],y=Ks(Zs(m,d,i),d);let v=d;if(y){const{fieldChannel:e,offset:t}=y;v={...d,[e]:{...d[e],...t?{stack:t}:{}}}}return v=f(v,["y2","x2"]),g&&h.push({...o?{projection:o}:{},mark:{type:"line",...u(m,["clip","interpolate","tension","tooltip"]),...g},encoding:v}),p&&h.push({...o?{projection:o}:{},mark:{type:"point",opacity:1,filled:!0,...u(m,["clip","tooltip"]),...p},encoding:v}),n({...c,layer:h},{...t,config:tl(i)})}}function ol(e,t){return t?_o(e)?fl(e,t):ll(e,t):e}function al(e,t){return t?fl(e,t):e}function sl(e,n,i){const r=n[e];return(o=r)&&!t.isString(o)&&"repeat"in o?r.repeat in i?{...n,[e]:i[r.repeat]}:void yi(function(e){return`Unknown repeated value "${e}".`}(r.repeat)):n;var o}function ll(e,t){if(void 0!==(e=sl("field",e,t))){if(null===e)return null;if(Ao(e)&&zo(e.sort)){const n=sl("field",e.sort,t);e={...e,...n?{sort:n}:{}}}return e}}function cl(e,t){if(Ro(e))return ll(e,t);{const n=sl("datum",e,t);return n===e||n.type||(n.type="nominal"),n}}function ul(e,t){if(!Go(e)){if(Uo(e)){const n=cl(e.condition,t);if(n)return{...e,condition:n};{const{condition:t,...n}=e;return n}}return e}{const n=cl(e,t);if(n)return n;if(Lo(e))return{condition:e.condition}}}function fl(e,n){const i={};for(const r in e)if(t.hasOwnProperty(e,r)){const o=e[r];if(t.isArray(o))i[r]=o.map((e=>ul(e,n))).filter((e=>e));else{const e=ul(o,n);void 0!==e&&(i[r]=e)}}return i}class dl{name="RuleForRangedLine";hasMatchingType(e){if(_a(e)){const{encoding:t,mark:n}=e;if("line"===n||Xr(n)&&"line"===n.type)for(const e of Ze){const n=t[tt(e)];if(t[e]&&(Ro(n)&&!cn(n.bin)||Bo(n)))return!0}}return!1}run(e,n,i){const{encoding:r,mark:o}=e;var a,s;return yi((a=!!r.x2,s=!!r.y2,`Line mark is for continuous lines and thus cannot be used with ${a&&s?"x2 and y2":a?"x2":"y2"}. We will use the rule mark (line segments) instead.`)),i({...e,mark:t.isObject(o)?{...o,type:"rule"}:"rule"},n)}}function ml(e){let{parentEncoding:n,encoding:i={},layer:r}=e,o={};if(n){const e=new Set([...D(n),...D(i)]);for(const a of e){const e=i[a],s=n[a];if(Go(e)){const t={...s,...e};o[a]=t}else Uo(e)?o[a]={...e,condition:{...s,...e.condition}}:e||null===e?o[a]=e:(r||Xo(s)||yn(s)||Go(s)||t.isArray(s))&&(o[a]=s)}}else o=i;return!o||S(o)?void 0:o}function pl(e){const{parentProjection:t,projection:n}=e;return t&&n&&yi(function(e){const{parentProjection:t,projection:n}=e;return`Layer's shared projection ${X(t)} is overridden by a child projection ${X(n)}.`}({parentProjection:t,projection:n})),n??t}function gl(e){return"filter"in e}function hl(e){return"lookup"in e}function yl(e){return"pivot"in e}function vl(e){return"density"in e}function bl(e){return"quantile"in e}function xl(e){return"regression"in e}function $l(e){return"loess"in e}function wl(e){return"sample"in e}function kl(e){return"window"in e}function Sl(e){return"joinaggregate"in e}function Dl(e){return"flatten"in e}function Fl(e){return"calculate"in e}function zl(e){return"bin"in e}function Ol(e){return"impute"in e}function _l(e){return"timeUnit"in e}function Cl(e){return"aggregate"in e}function Nl(e){return"stack"in e}function Pl(e){return"fold"in e}function Al(e){return"extent"in e&&!("density"in e)}function jl(e,t){const{transform:n,...i}=e;if(n){return{...i,transform:n.map((e=>{if(gl(e))return{filter:Ml(e,t)};if(zl(e)&&un(e.bin))return{...e,bin:El(e.bin)};if(hl(e)){const{selection:t,...n}=e.from;return t?{...e,from:{param:t,...n}}:e}return e}))}}return e}function Tl(e,n){const i=l(e);if(Ro(i)&&un(i.bin)&&(i.bin=El(i.bin)),Qo(i)&&i.scale?.domain?.selection){const{selection:e,...t}=i.scale.domain;i.scale.domain={...t,...e?{param:e}:{}}}if(Lo(i))if(t.isArray(i.condition))i.condition=i.condition.map((e=>{const{selection:t,param:i,test:r,...o}=e;return i?e:{...o,test:Ml(e,n)}}));else{const{selection:e,param:t,test:r,...o}=Tl(i.condition,n);i.condition=t?i.condition:{...o,test:Ml(i.condition,n)}}return i}function El(e){const t=e.extent;if(t?.selection){const{selection:n,...i}=t;return{...e,extent:{...i,param:n}}}return e}function Ml(e,t){const n=e=>s(e,(e=>{const n={param:e,empty:t.emptySelections[e]??!0};return t.selectionPredicates[e]??=[],t.selectionPredicates[e].push(n),n}));return e.selection?n(e.selection):s(e.test||e.filter,(e=>e.selection?n(e.selection):e))}class Ll extends Vs{map(e,t){const n=t.selections??[];if(e.params&&!_a(e)){const t=[];for(const i of e.params)xs(i)?n.push(i):t.push(i);e.params=t}return t.selections=n,super.map(e,t)}mapUnit(e,n){const i=n.selections;if(!i||!i.length)return e;const r=(n.path??[]).concat(e.name),o=[];for(const n of i)if(n.views&&n.views.length)for(const i of n.views)(t.isString(i)&&(i===e.name||r.includes(i))||t.isArray(i)&&i.map((e=>r.indexOf(e))).every(((e,t,n)=>-1!==e&&(0===t||e>n[t-1]))))&&o.push(n);else o.push(n);return o.length&&(e.params=o),e}}for(const e of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){const t=Ll.prototype[e];Ll.prototype[e]=function(e,n){return t.call(this,e,ql(e,n))}}function ql(e,t){return e.name?{...t,path:(t.path??[]).concat(e.name)}:t}function Ul(e,t){void 0===t&&(t=qs(e.config));const n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={config:t};return Bl.map(Rl.map(Wl.map(e,n),n),n)}(e,t),{width:i,height:r}=e,o=function(e,t,n){let{width:i,height:r}=t;const o=_a(e)||Hs(e),a={};o?"container"==i&&"container"==r?(a.type="fit",a.contains="padding"):"container"==i?(a.type="fit-x",a.contains="padding"):"container"==r&&(a.type="fit-y",a.contains="padding"):("container"==i&&(yi(Rn("width")),i=void 0),"container"==r&&(yi(Rn("height")),r=void 0));const s={type:"pad",...a,...n?Il(n.autosize):{},...Il(e.autosize)};"fit"!==s.type||o||(yi(Un),s.type="pad");"container"==i&&"fit"!=s.type&&"fit-x"!=s.type&&yi(Wn("width"));"container"==r&&"fit"!=s.type&&"fit-y"!=s.type&&yi(Wn("height"));if(Y(s,{type:"pad"}))return;return s}(n,{width:i,height:r,autosize:e.autosize},t);return{...n,...o?{autosize:o}:{}}}const Rl=new class extends Vs{nonFacetUnitNormalizers=[Ya,Za,os,new rl,new dl];map(e,t){if(_a(e)){const n=Na(e.encoding,Q),i=Na(e.encoding,J),r=Na(e.encoding,K);if(n||i||r)return this.mapFacetedUnit(e,t)}return super.map(e,t)}mapUnit(e,t){const{parentEncoding:n,parentProjection:i}=t,r=al(e.encoding,t.repeater),o={...e,...e.name?{name:[t.repeaterPrefix,e.name].filter((e=>e)).join("_")}:{},...r?{encoding:r}:{}};if(n||i)return this.mapUnitWithParentEncodingOrProjection(o,t);const a=this.mapLayerOrUnit.bind(this);for(const e of this.nonFacetUnitNormalizers)if(e.hasMatchingType(o,t.config))return e.run(o,t,a);return o}mapRepeat(e,n){return function(e){return!t.isArray(e.repeat)&&e.repeat.layer}(e)?this.mapLayerRepeat(e,n):this.mapNonLayerRepeat(e,n)}mapLayerRepeat(e,t){const{repeat:n,spec:i,...r}=e,{row:o,column:a,layer:s}=n,{repeater:l={},repeaterPrefix:c=""}=t;return o||a?this.mapRepeat({...e,repeat:{...o?{row:o}:{},...a?{column:a}:{}},spec:{repeat:{layer:s},spec:i}},t):{...r,layer:s.map((e=>{const n={...l,layer:e},r=`${(i.name?`${i.name}_`:"")+c}child__layer_${_(e)}`,o=this.mapLayerOrUnit(i,{...t,repeater:n,repeaterPrefix:r});return o.name=r,o}))}}mapNonLayerRepeat(e,n){const{repeat:i,spec:r,data:o,...a}=e;!t.isArray(i)&&e.columns&&(e=f(e,["columns"]),yi(Xn("repeat")));const s=[],{repeater:l={},repeaterPrefix:c=""}=n,u=!t.isArray(i)&&i.row||[l?l.row:null],d=!t.isArray(i)&&i.column||[l?l.column:null],m=t.isArray(i)&&i||[l?l.repeat:null];for(const e of m)for(const o of u)for(const a of d){const u={repeat:e,row:o,column:a,layer:l.layer},d=(r.name?`${r.name}_`:"")+c+"child__"+(t.isArray(i)?`${_(e)}`:(i.row?`row_${_(o)}`:"")+(i.column?`column_${_(a)}`:"")),m=this.map(r,{...n,repeater:u,repeaterPrefix:d});m.name=d,s.push(f(m,["data"]))}const p=t.isArray(i)?e.columns:i.column?i.column.length:1;return{data:r.data??o,align:"all",...a,columns:p,concat:s}}mapFacet(e,t){const{facet:n}=e;return _o(n)&&e.columns&&(e=f(e,["columns"]),yi(Xn("facet"))),super.mapFacet(e,t)}mapUnitWithParentEncodingOrProjection(e,t){const{encoding:n,projection:i}=e,{parentEncoding:r,parentProjection:o,config:a}=t,s=pl({parentProjection:o,projection:i}),l=ml({parentEncoding:r,encoding:al(n,t.repeater)});return this.mapUnit({...e,...s?{projection:s}:{},...l?{encoding:l}:{}},{config:a})}mapFacetedUnit(e,t){const{row:n,column:i,facet:r,...o}=e.encoding,{mark:a,width:s,projection:l,height:c,view:u,params:f,encoding:d,...m}=e,{facetMapping:p,layout:g}=this.getFacetMappingAndLayout({row:n,column:i,facet:r},t),h=al(o,t.repeater);return this.mapFacet({...m,...g,facet:p,spec:{...s?{width:s}:{},...c?{height:c}:{},...u?{view:u}:{},...l?{projection:l}:{},mark:a,encoding:h,...f?{params:f}:{}}},t)}getFacetMappingAndLayout(e,t){const{row:n,column:i,facet:r}=e;if(n||i){r&&yi(`Facet encoding dropped as ${(o=[...n?[Q]:[],...i?[J]:[]]).join(" and ")} ${o.length>1?"are":"is"} also specified.`);const t={},a={};for(const n of[Q,J]){const i=e[n];if(i){const{align:e,center:r,spacing:o,columns:s,...l}=i;t[n]=l;for(const e of["align","center","spacing"])void 0!==i[e]&&(a[e]??={},a[e][n]=i[e])}}return{facetMapping:t,layout:a}}{const{align:e,center:n,spacing:i,columns:o,...a}=r;return{facetMapping:ol(a,t.repeater),layout:{...e?{align:e}:{},...n?{center:n}:{},...i?{spacing:i}:{},...o?{columns:o}:{}}}}var o}mapLayer(e,t){let{parentEncoding:n,parentProjection:i,...r}=t;const{encoding:o,projection:a,...s}=e,l={...r,parentEncoding:ml({parentEncoding:n,encoding:o,layer:!0}),parentProjection:pl({parentProjection:i,projection:a})};return super.mapLayer({...s,...e.name?{name:[l.repeaterPrefix,e.name].filter((e=>e)).join("_")}:{}},l)}},Wl=new class extends Vs{map(e,t){return t.emptySelections??={},t.selectionPredicates??={},e=jl(e,t),super.map(e,t)}mapLayerOrUnit(e,t){if((e=jl(e,t)).encoding){const n={};for(const[i,r]of z(e.encoding))n[i]=Tl(r,t);e={...e,encoding:n}}return super.mapLayerOrUnit(e,t)}mapUnit(e,t){const{selection:n,...i}=e;return n?{...i,params:z(n).map((e=>{let[n,i]=e;const{init:r,bind:o,empty:a,...s}=i;"single"===s.type?(s.type="point",s.toggle=!1):"multi"===s.type&&(s.type="point"),t.emptySelections[n]="none"!==a;for(const e of F(t.selectionPredicates[n]??{}))e.empty="none"!==a;return{name:n,value:r,select:s,bind:o}}))}:e}},Bl=new Ll;function Il(e){return t.isString(e)?{type:e}:e??{}}const Hl=["background","padding"];function Vl(e,t){const n={};for(const t of Hl)e&&void 0!==e[t]&&(n[t]=Sn(e[t]));return t&&(n.params=e.params),n}class Gl{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.explicit=e,this.implicit=t}clone(){return new Gl(l(this.explicit),l(this.implicit))}combine(){return{...this.explicit,...this.implicit}}get(e){return U(this.explicit[e],this.implicit[e])}getWithExplicit(e){return void 0!==this.explicit[e]?{explicit:!0,value:this.explicit[e]}:void 0!==this.implicit[e]?{explicit:!1,value:this.implicit[e]}:{explicit:!1,value:void 0}}setWithExplicit(e,t){let{value:n,explicit:i}=t;void 0!==n&&this.set(e,n,i)}set(e,t,n){return delete this[n?"implicit":"explicit"][e],this[n?"explicit":"implicit"][e]=t,this}copyKeyFromSplit(e,t){let{explicit:n,implicit:i}=t;void 0!==n[e]?this.set(e,n[e],!0):void 0!==i[e]&&this.set(e,i[e],!1)}copyKeyFromObject(e,t){void 0!==t[e]&&this.set(e,t[e],!0)}copyAll(e){for(const t of D(e.combine())){const n=e.getWithExplicit(t);this.setWithExplicit(t,n)}}}function Yl(e){return{explicit:!0,value:e}}function Xl(e){return{explicit:!1,value:e}}function Ql(e){return(t,n,i,r)=>{const o=e(t.value,n.value);return o>0?t:o<0?n:Jl(t,n,i,r)}}function Jl(e,t,n,i){return e.explicit&&t.explicit&&yi(function(e,t,n,i){return`Conflicting ${t.toString()} property "${e.toString()}" (${X(n)} and ${X(i)}). Using ${X(n)}.`}(n,i,e.value,t.value)),e}function Kl(e,t,n,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Jl;return void 0===e||void 0===e.value?t:e.explicit&&!t.explicit?e:t.explicit&&!e.explicit?t:Y(e.value,t.value)?e:r(e,t,n,i)}class Zl extends Gl{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];super(e,t),this.explicit=e,this.implicit=t,this.parseNothing=n}clone(){const e=super.clone();return e.parseNothing=this.parseNothing,e}}function ec(e){return"url"in e}function tc(e){return"values"in e}function nc(e){return"name"in e&&!ec(e)&&!tc(e)&&!ic(e)}function ic(e){return e&&(rc(e)||oc(e)||ac(e))}function rc(e){return"sequence"in e}function oc(e){return"sphere"in e}function ac(e){return"graticule"in e}let sc=function(e){return e[e.Raw=0]="Raw",e[e.Main=1]="Main",e[e.Row=2]="Row",e[e.Column=3]="Column",e[e.Lookup=4]="Lookup",e}({});function lc(e){const{signals:t,hasLegend:n,index:i,...r}=e;return r.field=E(r.field),r}function cc(e){let n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.identity;if(t.isArray(e)){const t=e.map((e=>cc(e,n,i)));return n?`[${t.join(", ")}]`:t}return vi(e)?i(n?Si(e):function(e){const t=ki(e,!0);return e.utc?+new Date(Date.UTC(...t)):+new Date(...t)}(e)):n?i(X(e)):e}function uc(e,n){for(const i of F(e.component.selection??{})){const r=i.name;let o=`${r}${_u}, ${"global"===i.resolve?"true":`{unit: ${Au(e)}}`}`;for(const t of Pu)t.defined(i)&&(t.signals&&(n=t.signals(e,i,n)),t.modifyExpr&&(o=t.modifyExpr(e,i,o)));n.push({name:r+Cu,on:[{events:{signal:i.name+_u},update:`modify(${t.stringValue(i.name+Ou)}, ${o})`}]})}return mc(n)}function fc(e,n){if(e.component.selection&&D(e.component.selection).length){const i=t.stringValue(e.getName("cell"));n.unshift({name:"facet",value:{},on:[{events:t.parseSelector("pointermove","scope"),update:`isTuple(facet) ? facet : group(${i}).datum`}]})}return mc(n)}function dc(e,t){for(const n of F(e.component.selection??{}))for(const i of Pu)i.defined(n)&&i.marks&&(t=i.marks(e,n,t));return t}function mc(e){return e.map((e=>(e.on&&!e.on.length&&delete e.on,e)))}class pc{_children=[];_parent=null;constructor(e,t){this.debugName=t,e&&(this.parent=e)}clone(){throw new Error("Cannot clone node")}get parent(){return this._parent}set parent(e){this._parent=e,e&&e.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(e,t){this._children.includes(e)?yi("Attempt to add the same child twice."):void 0!==t?this._children.splice(t,0,e):this._children.push(e)}removeChild(e){const t=this._children.indexOf(e);return this._children.splice(t,1),t}remove(){let e=this._parent.removeChild(this);for(const t of this._children)t._parent=this._parent,this._parent.addChild(t,e++)}insertAsParentOf(e){const t=e.parent;t.removeChild(this),this.parent=t,e.parent=this}swapWithParent(){const e=this._parent,t=e.parent;for(const t of this._children)t.parent=e;this._children=[],e.removeChild(this);const n=e.parent.removeChild(e);this._parent=t,t.addChild(this,n),e.parent=this}}class gc extends pc{clone(){const e=new this.constructor;return e.debugName=`clone_${this.debugName}`,e._source=this._source,e._name=`clone_${this._name}`,e.type=this.type,e.refCounts=this.refCounts,e.refCounts[e._name]=0,e}constructor(e,t,n,i){super(e,t),this.type=n,this.refCounts=i,this._source=this._name=t,this.refCounts&&!(this._name in this.refCounts)&&(this.refCounts[this._name]=0)}dependentFields(){return new Set}producedFields(){return new Set}hash(){return void 0===this._hash&&(this._hash=`Output ${W()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(e){this._source=e}}function hc(e){return void 0!==e.as}function yc(e){return`${e}_end`}class vc extends pc{clone(){return new vc(null,l(this.timeUnits))}constructor(e,t){super(e),this.timeUnits=t}static makeFromEncoding(e,t){const n=t.reduceFieldDef(((e,n,i)=>{const{field:r,timeUnit:o}=n;if(o){let a;if(zi(o)){if(gm(t)){const{mark:e,markDef:i,config:s}=t,l=jo({fieldDef:n,markDef:i,config:s});(Gr(e)||l)&&(a={timeUnit:Ei(o),field:r})}}else a={as:ta(n,{forAs:!0}),field:r,timeUnit:o};if(gm(t)){const{mark:e,markDef:r,config:o}=t,s=jo({fieldDef:n,markDef:r,config:o});Gr(e)&&zt(i)&&.5!==s&&(a.rectBandPosition=s)}a&&(e[d(a)]=a)}return e}),{});return S(n)?null:new vc(e,n)}static makeFromTransform(e,t){const{timeUnit:n,...i}={...t},r={...i,timeUnit:Ei(n)};return new vc(e,{[d(r)]:r})}merge(e){this.timeUnits={...this.timeUnits};for(const t in e.timeUnits)this.timeUnits[t]||(this.timeUnits[t]=e.timeUnits[t]);for(const t of e.children)e.removeChild(t),t.parent=this;e.remove()}removeFormulas(e){const t={};for(const[n,i]of z(this.timeUnits)){const r=hc(i)?i.as:`${i.field}_end`;e.has(r)||(t[n]=i)}this.timeUnits=t}producedFields(){return new Set(F(this.timeUnits).map((e=>hc(e)?e.as:yc(e.field))))}dependentFields(){return new Set(F(this.timeUnits).map((e=>e.field)))}hash(){return`TimeUnit ${d(this.timeUnits)}`}assemble(){const e=[];for(const t of F(this.timeUnits)){const{rectBandPosition:n}=t,i=Ei(t.timeUnit);if(hc(t)){const{field:r,as:o}=t,{unit:a,utc:s,...l}=i,c=[o,`${o}_end`];e.push({field:E(r),type:"timeunit",...a?{units:Ni(a)}:{},...s?{timezone:"utc"}:{},...l,as:c}),e.push(...wc(c,n,i))}else if(t){const{field:r}=t,o=r.replaceAll("\\.","."),a=$c({timeUnit:i,field:o}),s=yc(o);e.push({type:"formula",expr:a,as:s}),e.push(...wc([o,s],n,i))}}return e}}const bc="offsetted_rect_start",xc="offsetted_rect_end";function $c(e){let{timeUnit:t,field:n,reverse:i}=e;const{unit:r,utc:o}=t,a=Pi(r),{part:s,step:l}=qi(a,t.step);return`${o?"utcOffset":"timeOffset"}('${s}', datum['${n}'], ${i?-l:l})`}function wc(e,t,n){let[i,r]=e;if(void 0!==t&&.5!==t){const e=`datum['${i}']`,o=`datum['${r}']`;return[{type:"formula",expr:kc([$c({timeUnit:n,field:i,reverse:!0}),e],t+.5),as:`${i}_${bc}`},{type:"formula",expr:kc([e,o],t+.5),as:`${i}_${xc}`}]}return[]}function kc(e,t){let[n,i]=e;return`${1-t} * ${n} + ${t} * ${i}`}const Sc="_tuple_fields";class Dc{constructor(){for(var e=arguments.length,t=new Array(e),n=0;n!0,parse:(e,n,i)=>{const r=n.name,o=n.project??=new Dc,a={},s={},l=new Set,c=(e,t)=>{const n="visual"===t?e.channel:e.field;let i=_(`${r}_${n}`);for(let e=1;l.has(i);e++)i=_(`${r}_${n}_${e}`);return l.add(i),{[t]:i}},u=n.type,f=e.config.selection[u],m=void 0!==i.value?t.array(i.value):null;let{fields:p,encodings:g}=t.isObject(i.select)?i.select:{};if(!p&&!g&&m)for(const e of m)if(t.isObject(e))for(const t of D(e))Je[t]?(g||(g=[])).push(t):"interval"===u?(yi('Interval selections should be initialized using "x", "y", "longitude", or "latitude" keys.'),g=f.encodings):(p??=[]).push(t);p||g||(g=f.encodings,"fields"in f&&(p=f.fields));for(const t of g??[]){const n=e.fieldDef(t);if(n){let i=n.field;if(n.aggregate){yi(Vn(t,n.aggregate));continue}if(!i){yi(Hn(t));continue}if(n.timeUnit&&!zi(n.timeUnit)){i=e.vgField(t);const r={timeUnit:n.timeUnit,as:i,field:n.field};s[d(r)]=r}if(!a[i]){const r={field:i,channel:t,type:"interval"===u&&Ht(t)&&yr(e.getScaleComponent(t).get("type"))?"R":n.bin?"R-RE":"E",index:o.items.length};r.signals={...c(r,"data"),...c(r,"visual")},o.items.push(a[i]=r),o.hasField[i]=a[i],o.hasSelectionId=o.hasSelectionId||i===hs,Ee(t)?(r.geoChannel=t,r.channel=Te(t),o.hasChannel[r.channel]=a[i]):o.hasChannel[t]=a[i]}}else yi(Hn(t))}for(const e of p??[]){if(o.hasField[e])continue;const t={type:"E",field:e,index:o.items.length};t.signals={...c(t,"data")},o.items.push(t),o.hasField[e]=t,o.hasSelectionId=o.hasSelectionId||e===hs}m&&(n.init=m.map((e=>o.items.map((n=>t.isObject(e)?void 0!==e[n.geoChannel||n.channel]?e[n.geoChannel||n.channel]:e[n.field]:e))))),S(s)||(o.timeUnit=new vc(null,s))},signals:(e,t,n)=>{const i=t.name+Sc;return n.filter((e=>e.name===i)).length>0||t.project.hasSelectionId?n:n.concat({name:i,value:t.project.items.map(lc)})}},zc={defined:e=>"interval"===e.type&&"global"===e.resolve&&e.bind&&"scales"===e.bind,parse:(e,t)=>{const n=t.scales=[];for(const i of t.project.items){const r=i.channel;if(!Ht(r))continue;const o=e.getScaleComponent(r),a=o?o.get("type"):void 0;"sequential"==a&&yi("Sequntial scales are deprecated. The available quantitative scale type values are linear, log, pow, sqrt, symlog, time and utc"),o&&yr(a)?(o.set("selectionExtent",{param:t.name,field:i.field},!0),n.push(i)):yi("Scale bindings are currently only supported for scales with unbinned, continuous domains.")}},topLevelSignals:(e,n,i)=>{const r=n.scales.filter((e=>0===i.filter((t=>t.name===e.signals.data)).length));if(!e.parent||_c(e)||0===r.length)return i;const o=i.filter((e=>e.name===n.name))[0];let a=o.update;if(a.indexOf(Nu)>=0)o.update=`{${r.map((e=>`${t.stringValue(E(e.field))}: ${e.signals.data}`)).join(", ")}}`;else{for(const e of r){const n=`${t.stringValue(E(e.field))}: ${e.signals.data}`;a.includes(n)||(a=`${a.substring(0,a.length-1)}, ${n}}`)}o.update=a}return i.concat(r.map((e=>({name:e.signals.data}))))},signals:(e,t,n)=>{if(e.parent&&!_c(e))for(const e of t.scales){const t=n.find((t=>t.name===e.signals.data));t.push="outer",delete t.value,delete t.update}return n}};function Oc(e,n){return`domain(${t.stringValue(e.scaleName(n))})`}function _c(e){return e.parent&&vm(e.parent)&&(!e.parent.parent??_c(e.parent.parent))}const Cc="_brush",Nc="_scale_trigger",Pc="geo_interval_init_tick",Ac="_init",jc={defined:e=>"interval"===e.type,parse:(e,n,i)=>{if(e.hasProjection){const e={...t.isObject(i.select)?i.select:{}};e.fields=[hs],e.encodings||(e.encodings=i.value?D(i.value):[ue,ce]),i.select={type:"interval",...e}}if(n.translate&&!zc.defined(n)){const e=`!event.item || event.item.mark.name !== ${t.stringValue(n.name+Cc)}`;for(const i of n.events){if(!i.between){yi(`${i} is not an ordered event stream for interval selections.`);continue}const n=t.array(i.between[0].filter??=[]);n.indexOf(e)<0&&n.push(e)}}},signals:(e,n,i)=>{const r=n.name,o=r+_u,a=F(n.project.hasChannel).filter((e=>e.channel===Z||e.channel===ee)),s=n.init?n.init[0]:null;if(i.push(...a.reduce(((i,r)=>i.concat(function(e,n,i,r){const o=!e.hasProjection,a=i.channel,s=i.signals.visual,l=t.stringValue(o?e.scaleName(a):e.projectionName()),c=e=>`scale(${l}, ${e})`,u=e.getSizeSignalRef(a===Z?"width":"height").signal,f=`${a}(unit)`,d=n.events.reduce(((e,t)=>[...e,{events:t.between[0],update:`[${f}, ${f}]`},{events:t,update:`[${s}[0], clamp(${f}, 0, ${u})]`}]),[]);if(o){const t=i.signals.data,o=zc.defined(n),u=e.getScaleComponent(a),f=u?u.get("type"):void 0,m=r?{init:cc(r,!0,c)}:{value:[]};return d.push({events:{signal:n.name+Nc},update:yr(f)?`[${c(`${t}[0]`)}, ${c(`${t}[1]`)}]`:"[0, 0]"}),o?[{name:t,on:[]}]:[{name:s,...m,on:d},{name:t,...r?{init:cc(r)}:{},on:[{events:{signal:s},update:`${s}[0] === ${s}[1] ? null : invert(${l}, ${s})`}]}]}{const e=a===Z?0:1,t=n.name+Ac;return[{name:s,...r?{init:`[${t}[0][${e}], ${t}[1][${e}]]`}:{value:[]},on:d}]}}(e,n,r,s&&s[r.index]))),[])),e.hasProjection){const l=t.stringValue(e.projectionName()),c=e.projectionName()+"_center",{x:u,y:f}=n.project.hasChannel,d=u&&u.signals.visual,m=f&&f.signals.visual,p=u?s&&s[u.index]:`${c}[0]`,g=f?s&&s[f.index]:`${c}[1]`,h=t=>e.getSizeSignalRef(t).signal,y=`[[${d?d+"[0]":"0"}, ${m?m+"[0]":"0"}],[${d?d+"[1]":h("width")}, ${m?m+"[1]":h("height")}]]`;if(s&&(i.unshift({name:r+Ac,init:`[scale(${l}, [${u?p[0]:p}, ${f?g[0]:g}]), scale(${l}, [${u?p[1]:p}, ${f?g[1]:g}])]`}),!u||!f)){i.find((e=>e.name===c))||i.unshift({name:c,update:`invert(${l}, [${h("width")}/2, ${h("height")}/2])`})}const v=`vlSelectionTuples(${`intersect(${y}, {markname: ${t.stringValue(e.getName("marks"))}}, unit.mark)`}, ${`{unit: ${Au(e)}}`})`,b=a.map((e=>e.signals.visual));return i.concat({name:o,on:[{events:[...b.length?[{signal:b.join(" || ")}]:[],...s?[{signal:Pc}]:[]],update:v}]})}{if(!zc.defined(n)){const n=r+Nc,o=a.map((n=>{const i=n.channel,{data:r,visual:o}=n.signals,a=t.stringValue(e.scaleName(i)),s=yr(e.getScaleComponent(i).get("type"))?"+":"";return`(!isArray(${r}) || (${s}invert(${a}, ${o})[0] === ${s}${r}[0] && ${s}invert(${a}, ${o})[1] === ${s}${r}[1]))`}));o.length&&i.push({name:n,value:{},on:[{events:a.map((t=>({scale:e.scaleName(t.channel)}))),update:o.join(" && ")+` ? ${n} : {}`}]})}const l=a.map((e=>e.signals.data)),c=`unit: ${Au(e)}, fields: ${r+Sc}, values`;return i.concat({name:o,...s?{init:`{${c}: ${cc(s)}}`}:{},...l.length?{on:[{events:[{signal:l.join(" || ")}],update:`${l.join(" && ")} ? {${c}: [${l}]} : null`}]}:{}})}},topLevelSignals:(e,t,n)=>{if(gm(e)&&e.hasProjection&&t.init){n.filter((e=>e.name===Pc)).length||n.unshift({name:Pc,value:null,on:[{events:"timer{1}",update:`${Pc} === null ? {} : ${Pc}`}]})}return n},marks:(e,n,i)=>{const r=n.name,{x:o,y:a}=n.project.hasChannel,s=o?.signals.visual,l=a?.signals.visual,c=`data(${t.stringValue(n.name+Ou)})`;if(zc.defined(n)||!o&&!a)return i;const u={x:void 0!==o?{signal:`${s}[0]`}:{value:0},y:void 0!==a?{signal:`${l}[0]`}:{value:0},x2:void 0!==o?{signal:`${s}[1]`}:{field:{group:"width"}},y2:void 0!==a?{signal:`${l}[1]`}:{field:{group:"height"}}};if("global"===n.resolve)for(const t of D(u))u[t]=[{test:`${c}.length && ${c}[0].unit === ${Au(e)}`,...u[t]},{value:0}];const{fill:f,fillOpacity:d,cursor:m,...p}=n.mark,g=D(p).reduce(((e,t)=>(e[t]=[{test:[void 0!==o&&`${s}[0] !== ${s}[1]`,void 0!==a&&`${l}[0] !== ${l}[1]`].filter((e=>e)).join(" && "),value:p[t]},{value:null}],e)),{}),h=m??(n.translate?"move":null);return[{name:`${r+Cc}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:f},fillOpacity:{value:d}},update:u}},...i,{name:r+Cc,type:"rect",clip:!0,encode:{enter:{...h?{cursor:{value:h}}:{},fill:{value:"transparent"}},update:{...u,...g}}}]}};const Tc={defined:e=>"point"===e.type,signals:(e,n,i)=>{const r=n.name,o=r+Sc,a=n.project,s="(item().isVoronoi ? datum.datum : datum)",l=F(e.component.selection??{}).reduce(((e,t)=>"interval"===t.type?e.concat(t.name+Cc):e),[]).map((e=>`indexof(item().mark.name, '${e}') < 0`)).join(" && "),c="datum && item().mark.marktype !== 'group' && indexof(item().mark.role, 'legend') < 0"+(l?` && ${l}`:"");let u=`unit: ${Au(e)}, `;if(n.project.hasSelectionId)u+=`${hs}: ${s}[${t.stringValue(hs)}]`;else{u+=`fields: ${o}, values: [${a.items.map((n=>{const i=e.fieldDef(n.channel);return i?.bin?`[${s}[${t.stringValue(e.vgField(n.channel,{}))}], ${s}[${t.stringValue(e.vgField(n.channel,{binSuffix:"end"}))}]]`:`${s}[${t.stringValue(n.field)}]`})).join(", ")}]`}const f=n.events;return i.concat([{name:r+_u,on:f?[{events:f,update:`${c} ? {${u}} : null`,force:!0}]:[]}])}};function Ec(e,n,i,r){const o=Lo(n)&&n.condition,a=r(n);if(o){return{[i]:[...t.array(o).map((t=>{const n=r(t);if(function(e){return e.param}(t)){const{param:i,empty:r}=t;return{test:Uu(e,{param:i,empty:r}),...n}}return{test:Wu(e,t.test),...n}})),...void 0!==a?[a]:[]]}}return void 0!==a?{[i]:a}:{}}function Mc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"text";const n=e.encoding[t];return Ec(e,n,t,(t=>Lc(t,e.config)))}function Lc(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"datum";if(e){if(Xo(e))return Fn(e.value);if(Go(e)){const{format:i,formatType:r}=ca(e);return po({fieldOrDatumDef:e,format:i,formatType:r,expr:n,config:t})}}}function qc(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{encoding:i,markDef:r,config:o,stack:a}=e,s=i.tooltip;if(t.isArray(s))return{tooltip:Rc({tooltip:s},a,o,n)};{const l=n.reactiveGeom?"datum.datum":"datum";return Ec(e,s,"tooltip",(e=>{const s=Lc(e,o,l);if(s)return s;if(null===e)return;let c=Nn("tooltip",r,o);return!0===c&&(c={content:"encoding"}),t.isString(c)?{value:c}:t.isObject(c)?yn(c)?c:"encoding"===c.content?Rc(i,a,o,n):{signal:l}:void 0}))}}function Uc(e,n,i){let{reactiveGeom:r}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o={...i,...i.tooltipFormat},a={},s=r?"datum.datum":"datum",l=[];function c(i,r){const c=tt(r),u=Yo(i)?i:{...i,type:e[c].type},f=u.title||la(u,o),d=t.array(f).join(", ").replaceAll(/"/g,'\\"');let m;if(zt(r)){const t="x"===r?"x2":"y2",n=ua(e[t]);if(cn(u.bin)&&n){const e=ta(u,{expr:s}),i=ta(n,{expr:s}),{format:r,formatType:l}=ca(u);m=wo(e,i,r,l,o),a[t]=!0}}if((zt(r)||r===se||r===oe)&&n&&n.fieldChannel===r&&"normalize"===n.offset){const{format:e,formatType:t}=ca(u);m=po({fieldOrDatumDef:u,format:e,formatType:t,expr:s,config:o,normalizeStack:!0}).signal}m??=Lc(u,o,s).signal,l.push({channel:r,key:d,value:m})}La(e,((e,t)=>{Ro(e)?c(e,t):qo(e)&&c(e.condition,t)}));const u={};for(const{channel:e,key:t,value:n}of l)a[e]||u[t]||(u[t]=n);return u}function Rc(e,t,n){let{reactiveGeom:i}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const r=Uc(e,t,n,{reactiveGeom:i}),o=z(r).map((e=>{let[t,n]=e;return`"${t}": ${n}`}));return o.length>0?{signal:`{${o.join(", ")}}`}:void 0}function Wc(e){const{markDef:t,config:n}=e,i=Nn("aria",t,n);return!1===i?{}:{...i?{aria:i}:{},...Bc(e),...Ic(e)}}function Bc(e){const{mark:t,markDef:n,config:i}=e;if(!1===i.aria)return{};const r=Nn("ariaRoleDescription",n,i);return null!=r?{ariaRoleDescription:{value:r}}:t in $n?{}:{ariaRoleDescription:{value:t}}}function Ic(e){const{encoding:t,markDef:n,config:i,stack:r}=e,o=t.description;if(o)return Ec(e,o,"description",(t=>Lc(t,e.config)));const a=Nn("description",n,i);if(null!=a)return{description:Fn(a)};if(!1===i.aria)return{};const s=Uc(t,r,i);return S(s)?void 0:{description:{signal:z(s).map(((e,t)=>{let[n,i]=e;return`"${t>0?"; ":""}${n}: " + (${i})`})).join(" + ")}}}function Hc(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{markDef:i,encoding:r,config:o}=t,{vgChannel:a}=n;let{defaultRef:s,defaultValue:l}=n;void 0===s&&(l??=Nn(e,i,o,{vgChannel:a,ignoreVgConfig:!0}),void 0!==l&&(s=Fn(l)));const c=r[e];return Ec(t,c,a??e,(n=>lo({channel:e,channelDef:n,markDef:i,config:o,scaleName:t.scaleName(e),scale:t.getScaleComponent(e),stack:null,defaultRef:s})))}function Vc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{filled:void 0};const{markDef:n,encoding:i,config:r}=e,{type:o}=n,a=t.filled??Nn("filled",n,r),s=p(["bar","point","circle","square","geoshape"],o)?"transparent":void 0,l=Nn(!0===a?"color":void 0,n,r,{vgChannel:"fill"})??r.mark[!0===a&&"color"]??s,c=Nn(!1===a?"color":void 0,n,r,{vgChannel:"stroke"})??r.mark[!1===a&&"color"],u=a?"fill":"stroke",f={...l?{fill:Fn(l)}:{},...c?{stroke:Fn(c)}:{}};return n.color&&(a?n.fill:n.stroke)&&yi(ei("property",{fill:"fill"in n,stroke:"stroke"in n})),{...f,...Hc("color",e,{vgChannel:u,defaultValue:a?l:c}),...Hc("fill",e,{defaultValue:i.fill?l:void 0}),...Hc("stroke",e,{defaultValue:i.stroke?c:void 0})}}function Gc(e){const{encoding:t,mark:n}=e,i=t.order;return!Vr(n)&&Xo(i)?Ec(e,i,"zindex",(e=>Fn(e.value))):{}}function Yc(e){let{channel:t,markDef:n,encoding:i={},model:r,bandPosition:o}=e;const a=`${t}Offset`,s=n[a],l=i[a];if(("xOffset"===a||"yOffset"===a)&&l){return{offsetType:"encoding",offset:lo({channel:a,channelDef:l,markDef:n,config:r?.config,scaleName:r.scaleName(a),scale:r.getScaleComponent(a),stack:null,defaultRef:Fn(s),bandPosition:o})}}const c=n[a];return c?{offsetType:"visual",offset:c}:{}}function Xc(e,t,n){let{defaultPos:i,vgChannel:r}=n;const{encoding:o,markDef:a,config:s,stack:l}=t,c=o[e],u=o[it(e)],f=t.scaleName(e),d=t.getScaleComponent(e),{offset:m,offsetType:p}=Yc({channel:e,markDef:a,encoding:o,model:t,bandPosition:.5}),g=Qc({model:t,defaultPos:i,channel:e,scaleName:f,scale:d}),h=!c&&zt(e)&&(o.latitude||o.longitude)?{field:t.getName(e)}:function(e){const{channel:t,channelDef:n,scaleName:i,stack:r,offset:o,markDef:a}=e;if(Go(n)&&r&&t===r.fieldChannel){if(Ro(n)){let e=n.bandPosition;if(void 0!==e||"text"!==a.type||"radius"!==t&&"theta"!==t||(e=.5),void 0!==e)return so({scaleName:i,fieldOrDatumDef:n,startSuffix:"start",bandPosition:e,offset:o})}return ao(n,i,{suffix:"end"},{offset:o})}return io(e)}({channel:e,channelDef:c,channel2Def:u,markDef:a,config:s,scaleName:f,scale:d,stack:l,offset:m,defaultRef:g,bandPosition:"encoding"===p?0:void 0});return h?{[r||e]:h}:void 0}function Qc(e){let{model:t,defaultPos:n,channel:i,scaleName:r,scale:o}=e;const{markDef:a,config:s}=t;return()=>{const e=tt(i),l=nt(i),c=Nn(i,a,s,{vgChannel:l});if(void 0!==c)return co(i,c);switch(n){case"zeroOrMin":case"zeroOrMax":if(r){const e=o.get("type");if(p([or.LOG,or.TIME,or.UTC],e));else if(o.domainDefinitelyIncludesZero())return{scale:r,value:0}}if("zeroOrMin"===n)return"y"===e?{field:{group:"height"}}:{value:0};switch(e){case"radius":return{signal:`min(${t.width.signal},${t.height.signal})/2`};case"theta":return{signal:"2*PI"};case"x":return{field:{group:"width"}};case"y":return{value:0}}break;case"mid":return{...t[rt(i)],mult:.5}}}}const Jc={left:"x",center:"xc",right:"x2"},Kc={top:"y",middle:"yc",bottom:"y2"};function Zc(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"middle";if("radius"===e||"theta"===e)return nt(e);const r="x"===e?"align":"baseline",o=Nn(r,t,n);let a;return yn(o)?(yi(function(e){return`The ${e} for range marks cannot be an expression`}(r)),a=void 0):a=o,"x"===e?Jc[a||("top"===i?"left":"center")]:Kc[a||i]}function eu(e,t,n){let{defaultPos:i,defaultPos2:r,range:o}=n;return o?tu(e,t,{defaultPos:i,defaultPos2:r}):Xc(e,t,{defaultPos:i})}function tu(e,t,n){let{defaultPos:i,defaultPos2:r}=n;const{markDef:o,config:a}=t,s=it(e),l=rt(e),c=function(e,t,n){const{encoding:i,mark:r,markDef:o,stack:a,config:s}=e,l=tt(n),c=rt(n),u=nt(n),f=i[l],d=e.scaleName(l),m=e.getScaleComponent(l),{offset:p}=Yc(n in i||n in o?{channel:n,markDef:o,encoding:i,model:e}:{channel:l,markDef:o,encoding:i,model:e});if(!f&&("x2"===n||"y2"===n)&&(i.latitude||i.longitude)){const t=rt(n),i=e.markDef[t];return null!=i?{[t]:{value:i}}:{[u]:{field:e.getName(n)}}}const g=function(e){let{channel:t,channelDef:n,channel2Def:i,markDef:r,config:o,scaleName:a,scale:s,stack:l,offset:c,defaultRef:u}=e;if(Go(n)&&l&&t.charAt(0)===l.fieldChannel.charAt(0))return ao(n,a,{suffix:"start"},{offset:c});return io({channel:t,channelDef:i,scaleName:a,scale:s,stack:l,markDef:r,config:o,offset:c,defaultRef:u})}({channel:n,channelDef:f,channel2Def:i[n],markDef:o,config:s,scaleName:d,scale:m,stack:a,offset:p,defaultRef:void 0});if(void 0!==g)return{[u]:g};return nu(n,o)||nu(n,{[n]:An(n,o,s.style),[c]:An(c,o,s.style)})||nu(n,s[r])||nu(n,s.mark)||{[u]:Qc({model:e,defaultPos:t,channel:n,scaleName:d,scale:m})()}}(t,r,s);return{...Xc(e,t,{defaultPos:i,vgChannel:c[l]?Zc(e,o,a):nt(e)}),...c}}function nu(e,t){const n=rt(e),i=nt(e);if(void 0!==t[i])return{[i]:co(e,t[i])};if(void 0!==t[e])return{[i]:co(e,t[e])};if(t[n]){const i=t[n];if(!Zr(i))return{[n]:co(e,i)};yi(function(e){return`Position range does not support relative band size for ${e}.`}(n))}}function iu(e,n){const{config:i,encoding:r,markDef:o}=e,a=o.type,s=it(n),l=rt(n),c=r[n],u=r[s],f=e.getScaleComponent(n),d=f?f.get("type"):void 0,m=o.orient,p=r[l]??r.size??Nn("size",o,i,{vgChannel:l}),g=ot(n),h="bar"===a&&("x"===n?"vertical"===m:"horizontal"===m);return!Ro(c)||!(ln(c.bin)||cn(c.bin)||c.timeUnit&&!u)||p&&!Zr(p)||r[g]||hr(d)?(Go(c)&&hr(d)||h)&&!u?function(e,n,i){const{markDef:r,encoding:o,config:a,stack:s}=i,l=r.orient,c=i.scaleName(n),u=i.getScaleComponent(n),f=rt(n),d=it(n),m=ot(n),p=i.scaleName(m),g=i.getScaleComponent(at(n)),h="horizontal"===l&&"y"===n||"vertical"===l&&"x"===n;let y;(o.size||r.size)&&(h?y=Hc("size",i,{vgChannel:f,defaultRef:Fn(r.size)}):yi(function(e){return`Cannot apply size to non-oriented mark "${e}".`}(r.type)));const v=!!y,b=To({channel:n,fieldDef:e,markDef:r,config:a,scaleType:(u||g)?.get("type"),useVlSizeChannel:h});y=y||{[f]:ru(f,p||c,g||u,a,b,!!e,r.type)};const x="band"===(u||g)?.get("type")&&Zr(b)&&!v?"top":"middle",$=Zc(n,r,a,x),w="xc"===$||"yc"===$,{offset:k,offsetType:S}=Yc({channel:n,markDef:r,encoding:o,model:i,bandPosition:w?.5:0}),D=io({channel:n,channelDef:e,markDef:r,config:a,scaleName:c,scale:u,stack:s,offset:k,defaultRef:Qc({model:i,defaultPos:"mid",channel:n,scaleName:c,scale:u}),bandPosition:w?"encoding"===S?0:.5:yn(b)?{signal:`(1-${b})/2`}:Zr(b)?(1-b.band)/2:0});if(f)return{[$]:D,...y};{const e=nt(d),n=y[f],i=k?{...n,offset:k}:n;return{[$]:D,[e]:t.isArray(D)?[D[0],{...D[1],offset:i}]:{...D,offset:i}}}}(c,n,e):tu(n,e,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"}):function(e){let{fieldDef:t,fieldDef2:n,channel:i,model:r}=e;const{config:o,markDef:a,encoding:s}=r,l=r.getScaleComponent(i),c=r.scaleName(i),u=l?l.get("type"):void 0,f=l.get("reverse"),d=To({channel:i,fieldDef:t,markDef:a,config:o,scaleType:u}),m=r.component.axes[i]?.[0],p=m?.get("translate")??.5,g=zt(i)?Nn("binSpacing",a,o)??0:0,h=it(i),y=nt(i),v=nt(h),b=Pn("minBandSize",a,o),{offset:x}=Yc({channel:i,markDef:a,encoding:s,model:r,bandPosition:0}),{offset:$}=Yc({channel:h,markDef:a,encoding:s,model:r,bandPosition:0}),w=function(e){let{scaleName:t,fieldDef:n}=e;const i=ta(n,{expr:"datum"});return`abs(scale("${t}", ${ta(n,{expr:"datum",suffix:"end"})}) - scale("${t}", ${i}))`}({fieldDef:t,scaleName:c}),k=ou(i,g,f,p,x,b,w),S=ou(h,g,f,p,$??x,b,w),D=yn(d)?{signal:`(1-${d.signal})/2`}:Zr(d)?(1-d.band)/2:.5,F=jo({fieldDef:t,fieldDef2:n,markDef:a,config:o});if(ln(t.bin)||t.timeUnit){const e=t.timeUnit&&.5!==F;return{[v]:au({fieldDef:t,scaleName:c,bandPosition:D,offset:S,useRectOffsetField:e}),[y]:au({fieldDef:t,scaleName:c,bandPosition:yn(D)?{signal:`1-${D.signal}`}:1-D,offset:k,useRectOffsetField:e})}}if(cn(t.bin)){const e=ao(t,c,{},{offset:S});if(Ro(n))return{[v]:e,[y]:ao(n,c,{},{offset:k})};if(un(t.bin)&&t.bin.step)return{[v]:e,[y]:{signal:`scale("${c}", ${ta(t,{expr:"datum"})} + ${t.bin.step})`,offset:k}}}return void yi(pi(h))}({fieldDef:c,fieldDef2:u,channel:n,model:e})}function ru(e,n,i,r,o,a,s){if(Zr(o)){if(!i)return{mult:o.band,field:{group:e}};{const e=i.get("type");if("band"===e){let e=`bandwidth('${n}')`;1!==o.band&&(e=`${o.band} * ${e}`);const t=Pn("minBandSize",{type:s},r);return{signal:t?`max(${On(t)}, ${e})`:e}}1!==o.band&&(yi(function(e){return`Cannot use the relative band size with ${e} scale.`}(e)),o=void 0)}}else{if(yn(o))return o;if(o)return{value:o}}if(i){const e=i.get("range");if(vn(e)&&t.isNumber(e.step))return{value:e.step-2}}if(!a){const{bandPaddingInner:n,barBandPaddingInner:i,rectBandPaddingInner:o}=r.scale,a=U(n,"bar"===s?i:o);if(yn(a))return{signal:`(1 - (${a.signal})) * ${e}`};if(t.isNumber(a))return{signal:`${1-a} * ${e}`}}return{value:Cs(r.view,e)-2}}function ou(e,t,n,i,r,o,a){if(Ae(e))return 0;const s="x"===e||"y2"===e,l=s?-t/2:t/2;if(yn(n)||yn(r)||yn(i)||o){const e=On(n),t=On(r),c=On(i),u=On(o),f=o?`(${a} < ${u} ? ${s?"":"-"}0.5 * (${u} - (${a})) : ${l})`:l;return{signal:(c?`${c} + `:"")+(e?`(${e} ? -1 : 1) * `:"")+(t?`(${t} + ${f})`:f)}}return r=r||0,i+(n?-r-l:+r+l)}function au(e){let{fieldDef:t,scaleName:n,bandPosition:i,offset:r,useRectOffsetField:o}=e;return so({scaleName:n,fieldOrDatumDef:t,bandPosition:i,offset:r,...o?{startSuffix:bc,endSuffix:xc}:{}})}const su=new Set(["aria","width","height"]);function lu(e,t){const{fill:n,stroke:i}="include"===t.color?Vc(e):{};return{...uu(e.markDef,t),...cu(e,"fill",n),...cu(e,"stroke",i),...Hc("opacity",e),...Hc("fillOpacity",e),...Hc("strokeOpacity",e),...Hc("strokeWidth",e),...Hc("strokeDash",e),...Gc(e),...qc(e),...Mc(e,"href"),...Wc(e)}}function cu(e,n,i){const{config:r,mark:o,markDef:a}=e;if("hide"===Nn("invalid",a,r)&&i&&!Vr(o)){const r=function(e,t){let{invalid:n=!1,channels:i}=t;const r=i.reduce(((t,n)=>{const i=e.getScaleComponent(n);if(i){const r=i.get("type"),o=e.vgField(n,{expr:"datum"});o&&yr(r)&&(t[o]=!0)}return t}),{}),o=D(r);if(o.length>0){const e=n?"||":"&&";return o.map((e=>oo(e,n))).join(` ${e} `)}return}(e,{invalid:!0,channels:It});if(r)return{[n]:[{test:r,value:null},...t.array(i)]}}return i?{[n]:i}:{}}function uu(e,t){return xn.reduce(((n,i)=>(su.has(i)||void 0===e[i]||"ignore"===t[i]||(n[i]=Fn(e[i])),n)),{})}function fu(e){const{config:t,markDef:n}=e;if(Nn("invalid",n,t)){const t=function(e,t){let{invalid:n=!1,channels:i}=t;const r=i.reduce(((t,n)=>{const i=e.getScaleComponent(n);if(i){const r=i.get("type"),o=e.vgField(n,{expr:"datum",binSuffix:e.stack?.impute?"mid":void 0});o&&yr(r)&&(t[o]=!0)}return t}),{}),o=D(r);if(o.length>0){const e=n?"||":"&&";return o.map((e=>oo(e,n))).join(` ${e} `)}return}(e,{channels:Ft});if(t)return{defined:{signal:t}}}return{}}function du(e,t){if(void 0!==t)return{[e]:Fn(t)}}const mu="voronoi",pu={defined:e=>"point"===e.type&&e.nearest,parse:(e,t)=>{if(t.events)for(const n of t.events)n.markname=e.getName(mu)},marks:(e,t,n)=>{const{x:i,y:r}=t.project.hasChannel,o=e.mark;if(Vr(o))return yi(`The "nearest" transform is not supported for ${o} marks.`),n;const a={name:e.getName(mu),type:"path",interactive:!0,from:{data:e.getName("marks")},encode:{update:{fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0},...qc(e,{reactiveGeom:!0})}},transform:[{type:"voronoi",x:{expr:i||!r?"datum.datum.x || 0":"0"},y:{expr:r||!i?"datum.datum.y || 0":"0"},size:[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]}]};let s=0,l=!1;return n.forEach(((t,n)=>{const i=t.name??"";i===e.component.mark[0].name?s=n:i.indexOf(mu)>=0&&(l=!0)})),l||n.splice(s+1,0,a),n}},gu={defined:e=>"point"===e.type&&"global"===e.resolve&&e.bind&&"scales"!==e.bind&&!vs(e.bind),parse:(e,t,n)=>Tu(t,n),topLevelSignals:(e,n,i)=>{const r=n.name,o=n.project,a=n.bind,s=n.init&&n.init[0],l=pu.defined(n)?"(item().isVoronoi ? datum.datum : datum)":"datum";return o.items.forEach(((e,o)=>{const c=_(`${r}_${e.field}`);i.filter((e=>e.name===c)).length||i.unshift({name:c,...s?{init:cc(s[o])}:{value:null},on:n.events?[{events:n.events,update:`datum && item().mark.marktype !== 'group' ? ${l}[${t.stringValue(e.field)}] : null`}]:[],bind:a[e.field]??a[e.channel]??a})})),i},signals:(e,t,n)=>{const i=t.name,r=t.project,o=n.filter((e=>e.name===i+_u))[0],a=i+Sc,s=r.items.map((e=>_(`${i}_${e.field}`))),l=s.map((e=>`${e} !== null`)).join(" && ");return s.length&&(o.update=`${l} ? {fields: ${a}, values: [${s.join(", ")}]} : null`),delete o.value,delete o.on,n}},hu="_toggle",yu={defined:e=>"point"===e.type&&!!e.toggle,signals:(e,t,n)=>n.concat({name:t.name+hu,value:!1,on:[{events:t.events,update:t.toggle}]}),modifyExpr:(e,t)=>{const n=t.name+_u,i=t.name+hu;return`${i} ? null : ${n}, `+("global"===t.resolve?`${i} ? null : true, `:`${i} ? null : {unit: ${Au(e)}}, `)+`${i} ? ${n} : null`}},vu={defined:e=>void 0!==e.clear&&!1!==e.clear,parse:(e,n)=>{n.clear&&(n.clear=t.isString(n.clear)?t.parseSelector(n.clear,"view"):n.clear)},topLevelSignals:(e,t,n)=>{if(gu.defined(t))for(const e of t.project.items){const i=n.findIndex((n=>n.name===_(`${t.name}_${e.field}`)));-1!==i&&n[i].on.push({events:t.clear,update:"null"})}return n},signals:(e,t,n)=>{function i(e,i){-1!==e&&n[e].on&&n[e].on.push({events:t.clear,update:i})}if("interval"===t.type)for(const e of t.project.items){const t=n.findIndex((t=>t.name===e.signals.visual));if(i(t,"[0, 0]"),-1===t){i(n.findIndex((t=>t.name===e.signals.data)),"null")}}else{let e=n.findIndex((e=>e.name===t.name+_u));i(e,"null"),yu.defined(t)&&(e=n.findIndex((e=>e.name===t.name+hu)),i(e,"false"))}return n}},bu={defined:e=>{const t="global"===e.resolve&&e.bind&&vs(e.bind),n=1===e.project.items.length&&e.project.items[0].field!==hs;return t&&!n&&yi("Legend bindings are only supported for selections over an individual field or encoding channel."),t&&n},parse:(e,n,i)=>{const r=l(i);if(r.select=t.isString(r.select)?{type:r.select,toggle:n.toggle}:{...r.select,toggle:n.toggle},Tu(n,r),t.isObject(i.select)&&(i.select.on||i.select.clear)){const e='event.item && indexof(event.item.mark.role, "legend") < 0';for(const i of n.events)i.filter=t.array(i.filter??[]),i.filter.includes(e)||i.filter.push(e)}const o=bs(n.bind)?n.bind.legend:"click",a=t.isString(o)?t.parseSelector(o,"view"):t.array(o);n.bind={legend:{merge:a}}},topLevelSignals:(e,t,n)=>{const i=t.name,r=bs(t.bind)&&t.bind.legend,o=e=>t=>{const n=l(t);return n.markname=e,n};for(const e of t.project.items){if(!e.hasLegend)continue;const a=`${_(e.field)}_legend`,s=`${i}_${a}`;if(0===n.filter((e=>e.name===s)).length){const e=r.merge.map(o(`${a}_symbols`)).concat(r.merge.map(o(`${a}_labels`))).concat(r.merge.map(o(`${a}_entries`)));n.unshift({name:s,...t.init?{}:{value:null},on:[{events:e,update:"isDefined(datum.value) ? datum.value : item().items[0].items[0].datum.value",force:!0},{events:r.merge,update:`!event.item || !datum ? null : ${s}`,force:!0}]})}}return n},signals:(e,t,n)=>{const i=t.name,r=t.project,o=n.find((e=>e.name===i+_u)),a=i+Sc,s=r.items.filter((e=>e.hasLegend)).map((e=>_(`${i}_${_(e.field)}_legend`))),l=`${s.map((e=>`${e} !== null`)).join(" && ")} ? {fields: ${a}, values: [${s.join(", ")}]} : null`;t.events&&s.length>0?o.on.push({events:s.map((e=>({signal:e}))),update:l}):s.length>0&&(o.update=l,delete o.value,delete o.on);const c=n.find((e=>e.name===i+hu)),u=bs(t.bind)&&t.bind.legend;return c&&(t.events?c.on.push({...c.on[0],events:u}):c.on[0].events=u),n}};const xu="_translate_anchor",$u="_translate_delta",wu={defined:e=>"interval"===e.type&&e.translate,signals:(e,n,i)=>{const r=n.name,o=zc.defined(n),a=r+xu,{x:s,y:l}=n.project.hasChannel;let c=t.parseSelector(n.translate,"scope");return o||(c=c.map((e=>(e.between[0].markname=r+Cc,e)))),i.push({name:a,value:{},on:[{events:c.map((e=>e.between[0])),update:"{x: x(unit), y: y(unit)"+(void 0!==s?`, extent_x: ${o?Oc(e,Z):`slice(${s.signals.visual})`}`:"")+(void 0!==l?`, extent_y: ${o?Oc(e,ee):`slice(${l.signals.visual})`}`:"")+"}"}]},{name:r+$u,value:{},on:[{events:c,update:`{x: ${a}.x - x(unit), y: ${a}.y - y(unit)}`}]}),void 0!==s&&ku(e,n,s,"width",i),void 0!==l&&ku(e,n,l,"height",i),i}};function ku(e,t,n,i,r){const o=t.name,a=o+xu,s=o+$u,l=n.channel,c=zc.defined(t),u=r.filter((e=>e.name===n.signals[c?"data":"visual"]))[0],f=e.getSizeSignalRef(i).signal,d=e.getScaleComponent(l),m=d&&d.get("type"),p=d&&d.get("reverse"),g=`${a}.extent_${l}`,h=`${c&&d?"log"===m?"panLog":"symlog"===m?"panSymlog":"pow"===m?"panPow":"panLinear":"panLinear"}(${g}, ${`${c?l===Z?p?"":"-":p?"-":"":""}${s}.${l} / ${c?`${f}`:`span(${g})`}`}${c?"pow"===m?`, ${d.get("exponent")??1}`:"symlog"===m?`, ${d.get("constant")??1}`:"":""})`;u.on.push({events:{signal:s},update:c?h:`clampRange(${h}, 0, ${f})`})}const Su="_zoom_anchor",Du="_zoom_delta",Fu={defined:e=>"interval"===e.type&&e.zoom,signals:(e,n,i)=>{const r=n.name,o=zc.defined(n),a=r+Du,{x:s,y:l}=n.project.hasChannel,c=t.stringValue(e.scaleName(Z)),u=t.stringValue(e.scaleName(ee));let f=t.parseSelector(n.zoom,"scope");return o||(f=f.map((e=>(e.markname=r+Cc,e)))),i.push({name:r+Su,on:[{events:f,update:o?"{"+[c?`x: invert(${c}, x(unit))`:"",u?`y: invert(${u}, y(unit))`:""].filter((e=>e)).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:a,on:[{events:f,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),void 0!==s&&zu(e,n,s,"width",i),void 0!==l&&zu(e,n,l,"height",i),i}};function zu(e,t,n,i,r){const o=t.name,a=n.channel,s=zc.defined(t),l=r.filter((e=>e.name===n.signals[s?"data":"visual"]))[0],c=e.getSizeSignalRef(i).signal,u=e.getScaleComponent(a),f=u&&u.get("type"),d=s?Oc(e,a):l.name,m=o+Du,p=`${s&&u?"log"===f?"zoomLog":"symlog"===f?"zoomSymlog":"pow"===f?"zoomPow":"zoomLinear":"zoomLinear"}(${d}, ${`${o}${Su}.${a}`}, ${m}${s?"pow"===f?`, ${u.get("exponent")??1}`:"symlog"===f?`, ${u.get("constant")??1}`:"":""})`;l.on.push({events:{signal:m},update:s?p:`clampRange(${p}, 0, ${c})`})}const Ou="_store",_u="_tuple",Cu="_modify",Nu="vlSelectionResolve",Pu=[Tc,jc,Fc,yu,gu,zc,bu,vu,wu,Fu,pu];function Au(e){let{escape:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{escape:!0},i=n?t.stringValue(e.name):e.name;const r=function(e){let t=e.parent;for(;t&&!hm(t);)t=t.parent;return t}(e);if(r){const{facet:e}=r;for(const n of Re)e[n]&&(i+=` + '__facet_${n}_' + (facet[${t.stringValue(r.vgField(n))}])`)}return i}function ju(e){return F(e.component.selection??{}).reduce(((e,t)=>e||t.project.hasSelectionId),!1)}function Tu(e,n){!t.isString(n.select)&&n.select.on||delete e.events,!t.isString(n.select)&&n.select.clear||delete e.clear,!t.isString(n.select)&&n.select.toggle||delete e.toggle}function Eu(e){const t=[];return"Identifier"===e.type?[e.name]:"Literal"===e.type?[e.value]:("MemberExpression"===e.type&&(t.push(...Eu(e.object)),t.push(...Eu(e.property))),t)}function Mu(e){return"MemberExpression"===e.object.type?Mu(e.object):"datum"===e.object.name}function Lu(e){const n=t.parseExpression(e),i=new Set;return n.visit((e=>{"MemberExpression"===e.type&&Mu(e)&&i.add(Eu(e).slice(1).join("."))})),i}class qu extends pc{clone(){return new qu(null,this.model,l(this.filter))}constructor(e,t,n){super(e),this.model=t,this.filter=n,this.expr=Wu(this.model,this.filter,this),this._dependentFields=Lu(this.expr)}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}}function Uu(e,n,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"datum";const o=t.isString(n)?n:n.param,a=_(o),s=t.stringValue(a+Ou);let l;try{l=e.getSelectionComponent(a,o)}catch(e){return`!!${a}`}if(l.project.timeUnit){const t=i??e.component.data.raw,n=l.project.timeUnit.clone();t.parent?n.insertAsParentOf(t):t.parent=n}const c=`${l.project.hasSelectionId?"vlSelectionIdTest(":"vlSelectionTest("}${s}, ${r}${"global"===l.resolve?")":`, ${t.stringValue(l.resolve)})`}`,u=`length(data(${s}))`;return!1===n.empty?`${u} && ${c}`:`!${u} || ${c}`}function Ru(e,n,i){const r=_(n),o=i.encoding;let a,s=i.field;try{a=e.getSelectionComponent(r,n)}catch(e){return r}if(o||s){if(o&&!s){const e=a.project.items.filter((e=>e.channel===o));!e.length||e.length>1?(s=a.project.items[0].field,yi((e.length?"Multiple ":"No ")+`matching ${t.stringValue(o)} encoding found for selection ${t.stringValue(i.param)}. `+`Using "field": ${t.stringValue(s)}.`)):s=e[0].field}}else s=a.project.items[0].field,a.project.items.length>1&&yi(`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${t.stringValue(s)}.`);return`${a.name}[${t.stringValue(E(s))}]`}function Wu(e,n,i){return C(n,(n=>t.isString(n)?n:function(e){return e?.param}(n)?Uu(e,n,i):Xi(n)))}function Bu(e,t,n,i){e.encode??={},e.encode[t]??={},e.encode[t].update??={},e.encode[t].update[n]=i}function Iu(e,n,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{header:!1};const{disable:o,orient:a,scale:s,labelExpr:l,title:c,zindex:u,...f}=e.combine();if(!o){for(const e in f){const i=Sa[e],r=f[e];if(i&&i!==n&&"both"!==i)delete f[e];else if(wa(r)){const{condition:n,...i}=r,o=t.array(n),a=$a[e];if(a){const{vgProp:t,part:n}=a;Bu(f,n,t,[...o.map((e=>{const{test:t,...n}=e;return{test:Wu(null,t),...n}})),i]),delete f[e]}else if(null===a){const t={signal:o.map((e=>{const{test:t,...n}=e;return`${Wu(null,t)} ? ${zn(n)} : `})).join("")+zn(i)};f[e]=t}}else if(yn(r)){const t=$a[e];if(t){const{vgProp:n,part:i}=t;Bu(f,i,n,r),delete f[e]}}p(["labelAlign","labelBaseline"],e)&&null===f[e]&&delete f[e]}if("grid"===n){if(!f.grid)return;if(f.encode){const{grid:e}=f.encode;f.encode={...e?{grid:e}:{}},S(f.encode)&&delete f.encode}return{scale:s,orient:a,...f,domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:U(u,0)}}{if(!r.header&&e.mainExtracted)return;if(void 0!==l){let e=l;f.encode?.labels?.update&&yn(f.encode.labels.update.text)&&(e=M(l,"datum.label",f.encode.labels.update.text.signal)),Bu(f,"labels","text",{signal:e})}if(null===f.labelAlign&&delete f.labelAlign,f.encode){for(const t of ka)e.hasAxisPart(t)||delete f.encode[t];S(f.encode)&&delete f.encode}const n=function(e,n){if(e)return t.isArray(e)&&!hn(e)?e.map((e=>la(e,n))).join(", "):e}(c,i);return{scale:s,orient:a,grid:!1,...n?{title:n}:{},...f,...!1===i.aria?{aria:!1}:{},zindex:U(u,0)}}}}function Hu(e){const{axes:t}=e.component,n=[];for(const i of Ft)if(t[i])for(const r of t[i])if(!r.get("disable")&&!r.get("gridScale")){const t="x"===i?"height":"width",r=e.getSizeSignalRef(t).signal;t!==r&&n.push({name:t,update:r})}return n}function Vu(e,t,n,i){return Object.assign.apply(null,[{},...e.map((e=>{if("axisOrient"===e){const e="x"===n?"bottom":"left",r=t["x"===n?"axisBottom":"axisLeft"]||{},o=t["x"===n?"axisTop":"axisRight"]||{},a=new Set([...D(r),...D(o)]),s={};for(const t of a.values())s[t]={signal:`${i.signal} === "${e}" ? ${On(r[t])} : ${On(o[t])}`};return s}return t[e]}))])}function Gu(e,n){const i=[{}];for(const r of e){let e=n[r]?.style;if(e){e=t.array(e);for(const t of e)i.push(n.style[t])}}return Object.assign.apply(null,i)}function Yu(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const r=jn(e,n,t);if(void 0!==r)return{configFrom:"style",configValue:r};for(const t of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(void 0!==i[t]?.[e])return{configFrom:t,configValue:i[t][e]};return{}}const Xu={scale:e=>{let{model:t,channel:n}=e;return t.scaleName(n)},format:e=>{let{format:t}=e;return t},formatType:e=>{let{formatType:t}=e;return t},grid:e=>{let{fieldOrDatumDef:t,axis:n,scaleType:i}=e;return n.grid??function(e,t){return!hr(e)&&Ro(t)&&!ln(t?.bin)&&!cn(t?.bin)}(i,t)},gridScale:e=>{let{model:t,channel:n}=e;return function(e,t){const n="x"===t?"y":"x";if(e.getScaleComponent(n))return e.scaleName(n);return}(t,n)},labelAlign:e=>{let{axis:t,labelAngle:n,orient:i,channel:r}=e;return t.labelAlign||Ku(n,i,r)},labelAngle:e=>{let{labelAngle:t}=e;return t},labelBaseline:e=>{let{axis:t,labelAngle:n,orient:i,channel:r}=e;return t.labelBaseline||Ju(n,i,r)},labelFlush:e=>{let{axis:t,fieldOrDatumDef:n,channel:i}=e;return t.labelFlush??function(e,t){if("x"===t&&p(["quantitative","temporal"],e))return!0;return}(n.type,i)},labelOverlap:e=>{let{axis:n,fieldOrDatumDef:i,scaleType:r}=e;return n.labelOverlap??function(e,n,i,r){if(i&&!t.isObject(r)||"nominal"!==e&&"ordinal"!==e)return"log"!==n&&"symlog"!==n||"greedy";return}(i.type,r,Ro(i)&&!!i.timeUnit,Ro(i)?i.sort:void 0)},orient:e=>{let{orient:t}=e;return t},tickCount:e=>{let{channel:t,model:n,axis:i,fieldOrDatumDef:r,scaleType:o}=e;const a="x"===t?"width":"y"===t?"height":void 0,s=a?n.getSizeSignalRef(a):void 0;return i.tickCount??function(e){let{fieldOrDatumDef:t,scaleType:n,size:i,values:r}=e;if(!r&&!hr(n)&&"log"!==n){if(Ro(t)){if(ln(t.bin))return{signal:`ceil(${i.signal}/10)`};if(t.timeUnit&&p(["month","hours","day","quarter"],Ei(t.timeUnit)?.unit))return}return{signal:`ceil(${i.signal}/40)`}}return}({fieldOrDatumDef:r,scaleType:o,size:s,values:i.values})},tickMinStep:function(e){let{format:t,fieldOrDatumDef:n}=e;if("d"===t)return 1;if(Ro(n)){const{timeUnit:e}=n;if(e){const t=Mi(e);if(t)return{signal:t}}}return},title:e=>{let{axis:t,model:n,channel:i}=e;if(void 0!==t.title)return t.title;const r=Zu(n,i);if(void 0!==r)return r;const o=n.typedFieldDef(i),a="x"===i?"x2":"y2",s=n.fieldDef(a);return En(o?[Po(o)]:[],Ro(s)?[Po(s)]:[])},values:e=>{let{axis:n,fieldOrDatumDef:i}=e;return function(e,n){const i=e.values;if(t.isArray(i))return ba(n,i);if(yn(i))return i;return}(n,i)},zindex:e=>{let{axis:t,fieldOrDatumDef:n,mark:i}=e;return t.zindex??function(e,t){if("rect"===e&&na(t))return 1;return 0}(i,n)}};function Qu(e){return`(((${e.signal} % 360) + 360) % 360)`}function Ju(e,t,n,i){if(void 0!==e){if("x"===n){if(yn(e)){const n=Qu(e);return{signal:`(45 < ${n} && ${n} < 135) || (225 < ${n} && ${n} < 315) ? "middle" :(${n} <= 45 || 315 <= ${n}) === ${yn(t)?`(${t.signal} === "top")`:"top"===t} ? "bottom" : "top"`}}if(45{if(Qo(t)&&Oo(t.sort)){const{field:i,timeUnit:r}=t,o=t.sort,a=o.map(((e,t)=>`${Xi({field:i,timeUnit:r,equal:e})} ? ${t} : `)).join("")+o.length;e=new ef(e,{calculate:a,as:tf(t,n,{forAs:!0})})}})),e}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${d(this.transform)}`}}function tf(e,t,n){return ta(e,{prefix:t,suffix:"sort_index",...n})}function nf(e,t){return p(["top","bottom"],t)?"column":p(["left","right"],t)||"row"===e?"row":"column"}function rf(e,t,n,i){const r="row"===i?n.headerRow:"column"===i?n.headerColumn:n.headerFacet;return U((t||{})[e],r[e],n.header[e])}function of(e,t,n,i){const r={};for(const o of e){const e=rf(o,t||{},n,i);void 0!==e&&(r[o]=e)}return r}const af=["row","column"],sf=["header","footer"];function lf(e,t){const n=e.component.layoutHeaders[t].title,i=e.config?e.config:void 0,r=e.component.layoutHeaders[t].facetFieldDef?e.component.layoutHeaders[t].facetFieldDef:void 0,{titleAnchor:o,titleAngle:a,titleOrient:s}=of(["titleAnchor","titleAngle","titleOrient"],r.header,i,t),l=nf(t,s),c=H(a);return{name:`${t}-title`,type:"group",role:`${l}-title`,title:{text:n,..."row"===t?{orient:"left"}:{},style:"guide-title",...uf(c,l),...cf(l,c,o),...yf(i,r,t,ds,us)}}}function cf(e,t){switch(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"middle"){case"start":return{align:"left"};case"end":return{align:"right"}}const n=Ku(t,"row"===e?"left":"top","row"===e?"y":"x");return n?{align:n}:{}}function uf(e,t){const n=Ju(e,"row"===t?"left":"top","row"===t?"y":"x",!0);return n?{baseline:n}:{}}function ff(e,t){const n=e.component.layoutHeaders[t],i=[];for(const r of sf)if(n[r])for(const o of n[r]){const a=pf(e,t,r,n,o);null!=a&&i.push(a)}return i}function df(e,n){const{sort:i}=e;return zo(i)?{field:ta(i,{expr:"datum"}),order:i.order??"ascending"}:t.isArray(i)?{field:tf(e,n,{expr:"datum"}),order:"ascending"}:{field:ta(e,{expr:"datum"}),order:i??"ascending"}}function mf(e,t,n){const{format:i,formatType:r,labelAngle:o,labelAnchor:a,labelOrient:s,labelExpr:l}=of(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],e.header,n,t),c=po({fieldOrDatumDef:e,format:i,formatType:r,expr:"parent",config:n}).signal,u=nf(t,s);return{text:{signal:l?M(M(l,"datum.label",c),"datum.value",ta(e,{expr:"parent"})):c},..."row"===t?{orient:"left"}:{},style:"guide-label",frame:"group",...uf(o,u),...cf(u,o,a),...yf(n,e,t,ms,fs)}}function pf(e,t,n,i,r){if(r){let o=null;const{facetFieldDef:a}=i,s=e.config?e.config:void 0;if(a&&r.labels){const{labelOrient:e}=of(["labelOrient"],a.header,s,t);("row"===t&&!p(["top","bottom"],e)||"column"===t&&!p(["left","right"],e))&&(o=mf(a,t,s))}const l=hm(e)&&!_o(e.facet),c=r.axes,u=c?.length>0;if(o||u){const s="row"===t?"height":"width";return{name:e.getName(`${t}_${n}`),type:"group",role:`${t}-${n}`,...i.facetFieldDef?{from:{data:e.getName(`${t}_domain`)},sort:df(a,t)}:{},...u&&l?{from:{data:e.getName(`facet_domain_${t}`)}}:{},...o?{title:o}:{},...r.sizeSignal?{encode:{update:{[s]:r.sizeSignal}}}:{},...u?{axes:c}:{}}}}return null}const gf={column:{start:0,end:1},row:{start:1,end:0}};function hf(e,t){return gf[t][e]}function yf(e,t,n,i,r){const o={};for(const a of i){if(!r[a])continue;const i=rf(a,t?.header,e,n);void 0!==i&&(o[r[a]]=i)}return o}function vf(e){return[...bf(e,"width"),...bf(e,"height"),...bf(e,"childWidth"),...bf(e,"childHeight")]}function bf(e,t){const n="width"===t?"x":"y",i=e.component.layoutSize.get(t);if(!i||"merged"===i)return[];const r=e.getSizeSignalRef(t).signal;if("step"===i){const t=e.getScaleComponent(n);if(t){const i=t.get("type"),o=t.get("range");if(hr(i)&&vn(o)){const i=e.scaleName(n);if(hm(e.parent)){if("independent"===e.parent.component.resolve.scale[n])return[xf(i,o)]}return[xf(i,o),{name:r,update:$f(i,t,`domain('${i}').length`)}]}}throw new Error("layout size is step although width/height is not step.")}if("container"==i){const t=r.endsWith("width"),n=t?"containerSize()[0]":"containerSize()[1]",i=`isFinite(${n}) ? ${n} : ${_s(e.config.view,t?"width":"height")}`;return[{name:r,init:i,on:[{update:i,events:"window:resize"}]}]}return[{name:r,value:i}]}function xf(e,t){const n=`${e}_step`;return yn(t.step)?{name:n,update:t.step.signal}:{name:n,value:t.step}}function $f(e,t,n){const i=t.get("type"),r=t.get("padding"),o=U(t.get("paddingOuter"),r);let a=t.get("paddingInner");return a="band"===i?void 0!==a?a:r:1,`bandspace(${n}, ${On(a)}, ${On(o)}) * ${e}_step`}function wf(e){return"childWidth"===e?"width":"childHeight"===e?"height":e}function kf(e,t){return D(e).reduce(((n,i)=>{const r=e[i];return{...n,...Ec(t,r,i,(e=>Fn(e.value)))}}),{})}function Sf(e,t){if(hm(t))return"theta"===e?"independent":"shared";if(vm(t))return"shared";if(ym(t))return zt(e)||"theta"===e||"radius"===e?"independent":"shared";throw new Error("invalid model type for resolve")}function Df(e,t){const n=e.scale[t],i=zt(t)?"axis":"legend";return"independent"===n?("shared"===e[i][t]&&yi(function(e){return`Setting the scale to be independent for "${e}" means we also have to set the guide (axis or legend) to be independent.`}(t)),"independent"):e[i][t]||"shared"}const Ff=D({aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1,disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1});class zf extends Gl{}const Of={symbols:function(e,n){let{fieldOrDatumDef:i,model:r,channel:o,legendCmpt:a,legendType:s}=n;if("symbol"!==s)return;const{markDef:l,encoding:c,config:u,mark:f}=r,d=l.filled&&"trail"!==f;let m={..._n({},r,Qr),...Vc(r,{filled:d})};const p=a.get("symbolOpacity")??u.legend.symbolOpacity,g=a.get("symbolFillColor")??u.legend.symbolFillColor,h=a.get("symbolStrokeColor")??u.legend.symbolStrokeColor,y=void 0===p?_f(c.opacity)??l.opacity:void 0;if(m.fill)if("fill"===o||d&&o===me)delete m.fill;else if(m.fill.field)g?delete m.fill:(m.fill=Fn(u.legend.symbolBaseFillColor??"black"),m.fillOpacity=Fn(y??1));else if(t.isArray(m.fill)){const e=Cf(c.fill??c.color)??l.fill??(d&&l.color);e&&(m.fill=Fn(e))}if(m.stroke)if("stroke"===o||!d&&o===me)delete m.stroke;else if(m.stroke.field||h)delete m.stroke;else if(t.isArray(m.stroke)){const e=U(Cf(c.stroke||c.color),l.stroke,d?l.color:void 0);e&&(m.stroke={value:e})}if(o!==be){const e=Ro(i)&&Pf(r,a,i);e?m.opacity=[{test:e,...Fn(y??1)},Fn(u.legend.unselectedOpacity)]:y&&(m.opacity=Fn(y))}return m={...m,...e},S(m)?void 0:m},gradient:function(e,t){let{model:n,legendType:i,legendCmpt:r}=t;if("gradient"!==i)return;const{config:o,markDef:a,encoding:s}=n;let l={};const c=void 0===(r.get("gradientOpacity")??o.legend.gradientOpacity)?_f(s.opacity)||a.opacity:void 0;c&&(l.opacity=Fn(c));return l={...l,...e},S(l)?void 0:l},labels:function(e,t){let{fieldOrDatumDef:n,model:i,channel:r,legendCmpt:o}=t;const a=i.legend(r)||{},s=i.config,l=Ro(n)?Pf(i,o,n):void 0,c=l?[{test:l,value:1},{value:s.legend.unselectedOpacity}]:void 0,{format:u,formatType:f}=a;let d;uo(f)?d=ho({fieldOrDatumDef:n,field:"datum.value",format:u,formatType:f,config:s}):void 0===u&&void 0===f&&s.customFormatTypes&&("quantitative"===n.type&&s.numberFormatType?d=ho({fieldOrDatumDef:n,field:"datum.value",format:s.numberFormat,formatType:s.numberFormatType,config:s}):"temporal"===n.type&&s.timeFormatType&&Ro(n)&&void 0===n.timeUnit&&(d=ho({fieldOrDatumDef:n,field:"datum.value",format:s.timeFormat,formatType:s.timeFormatType,config:s})));const m={...c?{opacity:c}:{},...d?{text:d}:{},...e};return S(m)?void 0:m},entries:function(e,t){let{legendCmpt:n}=t;const i=n.get("selections");return i?.length?{...e,fill:{value:"transparent"}}:e}};function _f(e){return Nf(e,((e,t)=>Math.max(e,t.value)))}function Cf(e){return Nf(e,((e,t)=>U(e,t.value)))}function Nf(e,n){return function(e){const n=e?.condition;return!!n&&(t.isArray(n)||Xo(n))}(e)?t.array(e.condition).reduce(n,e.value):Xo(e)?e.value:void 0}function Pf(e,n,i){const r=n.get("selections");if(!r?.length)return;const o=t.stringValue(i.field);return r.map((e=>`(!length(data(${t.stringValue(_(e)+Ou)})) || (${e}[${o}] && indexof(${e}[${o}], datum.value) >= 0))`)).join(" || ")}const Af={direction:e=>{let{direction:t}=e;return t},format:e=>{let{fieldOrDatumDef:t,legend:n,config:i}=e;const{format:r,formatType:o}=n;return yo(t,t.type,r,o,i,!1)},formatType:e=>{let{legend:t,fieldOrDatumDef:n,scaleType:i}=e;const{formatType:r}=t;return vo(r,n,i)},gradientLength:e=>{const{legend:t,legendConfig:n}=e;return t.gradientLength??n.gradientLength??function(e){let{legendConfig:t,model:n,direction:i,orient:r,scaleType:o}=e;const{gradientHorizontalMaxLength:a,gradientHorizontalMinLength:s,gradientVerticalMaxLength:l,gradientVerticalMinLength:c}=t;if(vr(o))return"horizontal"===i?"top"===r||"bottom"===r?Ef(n,"width",s,a):s:Ef(n,"height",c,l);return}(e)},labelOverlap:e=>{let{legend:t,legendConfig:n,scaleType:i}=e;return t.labelOverlap??n.labelOverlap??function(e){if(p(["quantile","threshold","log","symlog"],e))return"greedy";return}(i)},symbolType:e=>{let{legend:t,markDef:n,channel:i,encoding:r}=e;return t.symbolType??function(e,t,n,i){if("shape"!==t){const e=Cf(n)??i;if(e)return e}switch(e){case"bar":case"rect":case"image":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"arc":case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}(n.type,i,r.shape,n.shape)},title:e=>{let{fieldOrDatumDef:t,config:n}=e;return aa(t,n,{allowDisabling:!0})},type:e=>{let{legendType:t,scaleType:n,channel:i}=e;if(qe(i)&&vr(n)){if("gradient"===t)return}else if("symbol"===t)return;return t},values:e=>{let{fieldOrDatumDef:n,legend:i}=e;return function(e,n){const i=e.values;if(t.isArray(i))return ba(n,i);if(yn(i))return i;return}(i,n)}};function jf(e){const{legend:t}=e;return U(t.type,function(e){let{channel:t,timeUnit:n,scaleType:i}=e;if(qe(t)){if(p(["quarter","month","day"],n))return"symbol";if(vr(i))return"gradient"}return"symbol"}(e))}function Tf(e){let{legendConfig:t,legendType:n,orient:i,legend:r}=e;return r.direction??t[n?"gradientDirection":"symbolDirection"]??function(e,t){switch(e){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return"gradient"===t?"horizontal":void 0}}(i,n)}function Ef(e,t,n,i){return{signal:`clamp(${e.getSizeSignalRef(t).signal}, ${n}, ${i})`}}function Mf(e){const t=gm(e)?function(e){const{encoding:t}=e,n={};for(const i of[me,...gs]){const r=fa(t[i]);r&&e.getScaleComponent(i)&&(i===he&&Ro(r)&&r.type===rr||(n[i]=qf(e,i)))}return n}(e):function(e){const{legends:t,resolve:n}=e.component;for(const i of e.children){Mf(i);for(const r of D(i.component.legends))n.legend[r]=Df(e.component.resolve,r),"shared"===n.legend[r]&&(t[r]=Uf(t[r],i.component.legends[r]),t[r]||(n.legend[r]="independent",delete t[r]))}for(const i of D(t))for(const t of e.children)t.component.legends[i]&&"shared"===n.legend[i]&&delete t.component.legends[i];return t}(e);return e.component.legends=t,t}function Lf(e,t,n,i){switch(t){case"disable":return void 0!==n;case"values":return!!n?.values;case"title":if("title"===t&&e===i?.title)return!0}return e===(n||{})[t]}function qf(e,t){let n=e.legend(t);const{markDef:i,encoding:r,config:o}=e,a=o.legend,s=new zf({},function(e,t){const n=e.scaleName(t);if("trail"===e.mark){if("color"===t)return{stroke:n};if("size"===t)return{strokeWidth:n}}return"color"===t?e.markDef.filled?{fill:n}:{stroke:n}:{[t]:n}}(e,t));!function(e,t,n){const i=e.fieldDef(t)?.field;for(const r of F(e.component.selection??{})){const e=r.project.hasField[i]??r.project.hasChannel[t];if(e&&bu.defined(r)){const t=n.get("selections")??[];t.push(r.name),n.set("selections",t,!1),e.hasLegend=!0}}}(e,t,s);const l=void 0!==n?!n:a.disable;if(s.set("disable",l,void 0!==n),l)return s;n=n||{};const c=e.getScaleComponent(t).get("type"),u=fa(r[t]),f=Ro(u)?Ei(u.timeUnit)?.unit:void 0,d=n.orient||o.legend.orient||"right",m=jf({legend:n,channel:t,timeUnit:f,scaleType:c}),p={legend:n,channel:t,model:e,markDef:i,encoding:r,fieldOrDatumDef:u,legendConfig:a,config:o,scaleType:c,orient:d,legendType:m,direction:Tf({legend:n,legendType:m,orient:d,legendConfig:a})};for(const i of Ff){if("gradient"===m&&i.startsWith("symbol")||"symbol"===m&&i.startsWith("gradient"))continue;const r=i in Af?Af[i](p):n[i];if(void 0!==r){const a=Lf(r,i,n,e.fieldDef(t));(a||void 0===o.legend[i])&&s.set(i,r,a)}}const g=n?.encoding??{},h=s.get("selections"),y={},v={fieldOrDatumDef:u,model:e,channel:t,legendCmpt:s,legendType:m};for(const t of["labels","legend","title","symbols","gradient","entries"]){const n=kf(g[t]??{},e),i=t in Of?Of[t](n,v):n;void 0===i||S(i)||(y[t]={...h?.length&&Ro(u)?{name:`${_(u.field)}_legend_${t}`}:{},...h?.length?{interactive:!!h}:{},update:i})}return S(y)||s.set("encode",y,!!n?.encoding),s}function Uf(e,t){if(!e)return t.clone();const n=e.getWithExplicit("orient"),i=t.getWithExplicit("orient");if(n.explicit&&i.explicit&&n.value!==i.value)return;let r=!1;for(const n of Ff){const i=Kl(e.getWithExplicit(n),t.getWithExplicit(n),n,"legend",((e,t)=>{switch(n){case"symbolType":return Rf(e,t);case"title":return Ln(e,t);case"type":return r=!0,Xl("symbol")}return Jl(e,t,n,"legend")}));e.setWithExplicit(n,i)}return r&&(e.implicit?.encode?.gradient&&N(e.implicit,["encode","gradient"]),e.explicit?.encode?.gradient&&N(e.explicit,["encode","gradient"])),e}function Rf(e,t){return"circle"===t.value?t:e}function Wf(e){const t=e.component.legends,n={};for(const i of D(t)){const r=X(e.getScaleComponent(i).get("domains"));if(n[r])for(const e of n[r]){Uf(e,t[i])||n[r].push(t[i])}else n[r]=[t[i].clone()]}return F(n).flat().map((t=>function(e,t){const{disable:n,labelExpr:i,selections:r,...o}=e.combine();if(n)return;!1===t.aria&&null==o.aria&&(o.aria=!1);if(o.encode?.symbols){const e=o.encode.symbols.update;!e.fill||"transparent"===e.fill.value||e.stroke||o.stroke||(e.stroke={value:"transparent"});for(const t of gs)o[t]&&delete e[t]}o.title||delete o.title;if(void 0!==i){let e=i;o.encode?.labels?.update&&yn(o.encode.labels.update.text)&&(e=M(i,"datum.label",o.encode.labels.update.text.signal)),function(e,t,n,i){e.encode??={},e.encode[t]??={},e.encode[t].update??={},e.encode[t].update[n]=i}(o,"labels","text",{signal:e})}return o}(t,e.config))).filter((e=>void 0!==e))}function Bf(e){return vm(e)||ym(e)?function(e){return e.children.reduce(((e,t)=>e.concat(t.assembleProjections())),If(e))}(e):If(e)}function If(e){const t=e.component.projection;if(!t||t.merged)return[];const n=t.combine(),{name:i}=n;if(t.data){const r={signal:`[${t.size.map((e=>e.signal)).join(", ")}]`},o=t.data.reduce(((t,n)=>{const i=yn(n)?n.signal:`data('${e.lookupDataSource(n)}')`;return p(t,i)||t.push(i),t}),[]);if(o.length<=0)throw new Error("Projection's fit didn't find any data sources");return[{name:i,size:r,fit:{signal:o.length>1?`[${o.join(", ")}]`:o[0]},...n}]}return[{name:i,translate:{signal:"[width / 2, height / 2]"},...n}]}const Hf=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class Vf extends Gl{merged=!1;constructor(e,t,n,i){super({...t},{name:e}),this.specifiedProjection=t,this.size=n,this.data=i}get isFit(){return!!this.data}}function Gf(e){e.component.projection=gm(e)?function(e){if(e.hasProjection){const t=pn(e.specifiedProjection),n=!(t&&(null!=t.scale||null!=t.translate)),i=n?[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]:void 0,r=n?function(e){const t=[],{encoding:n}=e;for(const i of[[ue,ce],[de,fe]])(fa(n[i[0]])||fa(n[i[1]]))&&t.push({signal:e.getName(`geojson_${t.length}`)});e.channelHasField(he)&&e.typedFieldDef(he).type===rr&&t.push({signal:e.getName(`geojson_${t.length}`)});0===t.length&&t.push(e.requestDataName(sc.Main));return t}(e):void 0,o=new Vf(e.projectionName(!0),{...pn(e.config.projection),...t},i,r);return o.get("type")||o.set("type","equalEarth",!1),o}return}(e):function(e){if(0===e.children.length)return;let n;for(const t of e.children)Gf(t);const i=h(e.children,(e=>{const i=e.component.projection;if(i){if(n){const e=function(e,n){const i=h(Hf,(i=>!t.hasOwnProperty(e.explicit,i)&&!t.hasOwnProperty(n.explicit,i)||!!(t.hasOwnProperty(e.explicit,i)&&t.hasOwnProperty(n.explicit,i)&&Y(e.get(i),n.get(i)))));if(Y(e.size,n.size)){if(i)return e;if(Y(e.explicit,{}))return n;if(Y(n.explicit,{}))return e}return null}(n,i);return e&&(n=e),!!e}return n=i,!0}return!0}));if(n&&i){const t=e.projectionName(!0),i=new Vf(t,n.specifiedProjection,n.size,l(n.data));for(const n of e.children){const e=n.component.projection;e&&(e.isFit&&i.data.push(...n.component.projection.data),n.renameProjection(e.get("name"),t),e.merged=!0)}return i}return}(e)}function Yf(e,t,n,i){if(xa(t,n)){const r=gm(e)?e.axis(n)??e.legend(n)??{}:{},o=ta(t,{expr:"datum"}),a=ta(t,{expr:"datum",binSuffix:"end"});return{formulaAs:ta(t,{binSuffix:"range",forAs:!0}),formula:wo(o,a,r.format,r.formatType,i)}}return{}}function Xf(e,t){return`${sn(e)}_${t}`}function Qf(e,t,n){const i=Xf(ga(n,void 0)??{},t);return e.getName(`${i}_bins`)}function Jf(e,n,i){let r,o;r=function(e){return"as"in e}(e)?t.isString(e.as)?[e.as,`${e.as}_end`]:[e.as[0],e.as[1]]:[ta(e,{forAs:!0}),ta(e,{binSuffix:"end",forAs:!0})];const a={...ga(n,void 0)},s=Xf(a,e.field),{signal:l,extentSignal:c}=function(e,t){return{signal:e.getName(`${t}_bins`),extentSignal:e.getName(`${t}_extent`)}}(i,s);if(fn(a.extent)){const e=a.extent;o=Ru(i,e.param,e),delete a.extent}return{key:s,binComponent:{bin:a,field:e.field,as:[r],...l?{signal:l}:{},...c?{extentSignal:c}:{},...o?{span:o}:{}}}}class Kf extends pc{clone(){return new Kf(null,l(this.bins))}constructor(e,t){super(e),this.bins=t}static makeFromEncoding(e,t){const n=t.reduceFieldDef(((e,n,i)=>{if(Yo(n)&&ln(n.bin)){const{key:r,binComponent:o}=Jf(n,n.bin,t);e[r]={...o,...e[r],...Yf(t,n,i,t.config)}}return e}),{});return S(n)?null:new Kf(e,n)}static makeFromTransform(e,t,n){const{key:i,binComponent:r}=Jf(t,t.bin,n);return new Kf(e,{[i]:r})}merge(e,t){for(const n of D(e.bins))n in this.bins?(t(e.bins[n].signal,this.bins[n].signal),this.bins[n].as=b([...this.bins[n].as,...e.bins[n].as],d)):this.bins[n]=e.bins[n];for(const t of e.children)e.removeChild(t),t.parent=this;e.remove()}producedFields(){return new Set(F(this.bins).map((e=>e.as)).flat(2))}dependentFields(){return new Set(F(this.bins).map((e=>e.field)))}hash(){return`Bin ${d(this.bins)}`}assemble(){return F(this.bins).flatMap((e=>{const t=[],[n,...i]=e.as,{extent:r,...o}=e.bin,a={type:"bin",field:E(e.field),as:n,signal:e.signal,...fn(r)?{extent:null}:{extent:r},...e.span?{span:{signal:`span(${e.span})`}}:{},...o};!r&&e.extentSignal&&(t.push({type:"extent",field:E(e.field),signal:e.extentSignal}),a.extent={signal:e.extentSignal}),t.push(a);for(const e of i)for(let i=0;i<2;i++)t.push({type:"formula",expr:ta({field:n[i]},{expr:"datum"}),as:e[i]});return e.formula&&t.push({type:"formula",expr:e.formula,as:e.formulaAs}),t}))}}function Zf(e,n,i,r){const o=gm(r)?r.encoding[it(n)]:void 0;if(Yo(i)&&gm(r)&&Eo(i,o,r.markDef,r.config)){e.add(ta(i,{})),e.add(ta(i,{suffix:"end"}));const{mark:t,markDef:o,config:a}=r,s=jo({fieldDef:i,markDef:o,config:a});Gr(t)&&.5!==s&&zt(n)&&(e.add(ta(i,{suffix:bc})),e.add(ta(i,{suffix:xc}))),i.bin&&xa(i,n)&&e.add(ta(i,{binSuffix:"range"}))}else if(Ee(n)){const t=Te(n);e.add(r.getName(t))}else e.add(ta(i));return Qo(i)&&function(e){return t.isObject(e)&&"field"in e}(i.scale?.range)&&e.add(i.scale.range.field),e}class ed extends pc{clone(){return new ed(null,new Set(this.dimensions),l(this.measures))}constructor(e,t,n){super(e),this.dimensions=t,this.measures=n}get groupBy(){return this.dimensions}static makeFromEncoding(e,t){let n=!1;t.forEachFieldDef((e=>{e.aggregate&&(n=!0)}));const i={},r=new Set;return n?(t.forEachFieldDef(((e,n)=>{const{aggregate:o,field:a}=e;if(o)if("count"===o)i["*"]??={},i["*"].count=new Set([ta(e,{forAs:!0})]);else{if(Zt(o)||en(o)){const e=Zt(o)?"argmin":"argmax",t=o[e];i[t]??={},i[t][e]=new Set([ta({op:e,field:t},{forAs:!0})])}else i[a]??={},i[a][o]=new Set([ta(e,{forAs:!0})]);Ht(n)&&"unaggregated"===t.scaleDomain(n)&&(i[a]??={},i[a].min=new Set([ta({field:a,aggregate:"min"},{forAs:!0})]),i[a].max=new Set([ta({field:a,aggregate:"max"},{forAs:!0})]))}else Zf(r,n,e,t)})),r.size+D(i).length===0?null:new ed(e,r,i)):null}static makeFromTransform(e,t){const n=new Set,i={};for(const e of t.aggregate){const{op:t,field:n,as:r}=e;t&&("count"===t?(i["*"]??={},i["*"].count=new Set([r||ta(e,{forAs:!0})])):(i[n]??={},i[n][t]=new Set([r||ta(e,{forAs:!0})])))}for(const e of t.groupby??[])n.add(e);return n.size+D(i).length===0?null:new ed(e,n,i)}merge(e){return x(this.dimensions,e.dimensions)?(function(e,t){for(const n of D(t)){const i=t[n];for(const t of D(i))n in e?e[n][t]=new Set([...e[n][t]??[],...i[t]]):e[n]={[t]:i[t]}}}(this.measures,e.measures),!0):(function(){hi.debug(...arguments)}("different dimensions, cannot merge"),!1)}addDimensions(e){e.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...D(this.measures)])}producedFields(){const e=new Set;for(const t of D(this.measures))for(const n of D(this.measures[t])){const i=this.measures[t][n];0===i.size?e.add(`${n}_${t}`):i.forEach(e.add,e)}return e}hash(){return`Aggregate ${d({dimensions:this.dimensions,measures:this.measures})}`}assemble(){const e=[],t=[],n=[];for(const i of D(this.measures))for(const r of D(this.measures[i]))for(const o of this.measures[i][r])n.push(o),e.push(r),t.push("*"===i?null:E(i));return{type:"aggregate",groupby:[...this.dimensions].map(E),ops:e,fields:t,as:n}}}class td extends pc{constructor(e,n,i,r){super(e),this.model=n,this.name=i,this.data=r;for(const e of Re){const i=n.facet[e];if(i){const{bin:r,sort:o}=i;this[e]={name:n.getName(`${e}_domain`),fields:[ta(i),...ln(r)?[ta(i,{binSuffix:"end"})]:[]],...zo(o)?{sortField:o}:t.isArray(o)?{sortIndexField:tf(i,e)}:{}}}}this.childModel=n.child}hash(){let e="Facet";for(const t of Re)this[t]&&(e+=` ${t.charAt(0)}:${d(this[t])}`);return e}get fields(){const e=[];for(const t of Re)this[t]?.fields&&e.push(...this[t].fields);return e}dependentFields(){const e=new Set(this.fields);for(const t of Re)this[t]&&(this[t].sortField&&e.add(this[t].sortField.field),this[t].sortIndexField&&e.add(this[t].sortIndexField));return e}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){const e={};for(const t of Ft){const n=this.childModel.component.scales[t];if(n&&!n.merged){const i=n.get("type"),r=n.get("range");if(hr(i)&&vn(r)){const n=Hd(Vd(this.childModel,t));n?e[t]=n:yi(In(t))}}}return e}assembleRowColumnHeaderData(e,t,n){const i={row:"y",column:"x",facet:void 0}[e],r=[],o=[],a=[];i&&n&&n[i]&&(t?(r.push(`distinct_${n[i]}`),o.push("max")):(r.push(n[i]),o.push("distinct")),a.push(`distinct_${n[i]}`));const{sortField:s,sortIndexField:l}=this[e];if(s){const{op:e=ko,field:t}=s;r.push(t),o.push(e),a.push(ta(s,{forAs:!0}))}else l&&(r.push(l),o.push("max"),a.push(l));return{name:this[e].name,source:t??this.data,transform:[{type:"aggregate",groupby:this[e].fields,...r.length?{fields:r,ops:o,as:a}:{}}]}}assembleFacetHeaderData(e){const{columns:t}=this.model.layout,{layoutHeaders:n}=this.model.component,i=[],r={};for(const e of af){for(const t of sf){const i=(n[e]&&n[e][t])??[];for(const t of i)if(t.axes?.length>0){r[e]=!0;break}}if(r[e]){const n=`length(data("${this.facet.name}"))`,r="row"===e?t?{signal:`ceil(${n} / ${t})`}:1:t?{signal:`min(${n}, ${t})`}:{signal:n};i.push({name:`${this.facet.name}_${e}`,transform:[{type:"sequence",start:0,stop:r}]})}}const{row:o,column:a}=r;return(o||a)&&i.unshift(this.assembleRowColumnHeaderData("facet",null,e)),i}assemble(){const e=[];let t=null;const n=this.getChildIndependentFieldsWithStep(),{column:i,row:r,facet:o}=this;if(i&&r&&(n.x||n.y)){t=`cross_${this.column.name}_${this.row.name}`;const i=[].concat(n.x??[],n.y??[]),r=i.map((()=>"distinct"));e.push({name:t,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:i,ops:r}]})}for(const i of[J,Q])this[i]&&e.push(this.assembleRowColumnHeaderData(i,t,n));if(o){const t=this.assembleFacetHeaderData(n);t&&e.push(...t)}return e}}function nd(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function id(e){const n={};return a(e.filter,(e=>{if(Gi(e)){let i=null;Ui(e)?i=Sn(e.equal):Wi(e)?i=Sn(e.lte):Ri(e)?i=Sn(e.lt):Bi(e)?i=Sn(e.gt):Ii(e)?i=Sn(e.gte):Hi(e)?i=e.range[0]:Vi(e)&&(i=(e.oneOf??e.in)[0]),i&&(vi(i)?n[e.field]="date":t.isNumber(i)?n[e.field]="number":t.isString(i)&&(n[e.field]="string")),e.timeUnit&&(n[e.field]="date")}})),n}function rd(e){const n={};function i(e){var i;ya(e)?n[e.field]="date":"quantitative"===e.type&&(i=e.aggregate,t.isString(i)&&p(["min","max"],i))?n[e.field]="number":q(e.field)>1?e.field in n||(n[e.field]="flatten"):Qo(e)&&zo(e.sort)&&q(e.sort.field)>1&&(e.sort.field in n||(n[e.sort.field]="flatten"))}if((gm(e)||hm(e))&&e.forEachFieldDef(((t,n)=>{if(Yo(t))i(t);else{const r=tt(n),o=e.fieldDef(r);i({...t,type:o.type})}})),gm(e)){const{mark:t,markDef:i,encoding:r}=e;if(Vr(t)&&!e.encoding.order){const e=r["horizontal"===i.orient?"y":"x"];Ro(e)&&"quantitative"===e.type&&!(e.field in n)&&(n[e.field]="number")}}return n}class od extends pc{clone(){return new od(null,l(this._parse))}constructor(e,t){super(e),this._parse=t}hash(){return`Parse ${d(this._parse)}`}static makeExplicit(e,t,n){let i={};const r=t.data;return!ic(r)&&r?.format?.parse&&(i=r.format.parse),this.makeWithAncestors(e,i,{},n)}static makeWithAncestors(e,t,n,i){for(const e of D(n)){const t=i.getWithExplicit(e);void 0!==t.value&&(t.explicit||t.value===n[e]||"derived"===t.value||"flatten"===n[e]?delete n[e]:yi(Qn(e,n[e],t.value)))}for(const e of D(t)){const n=i.get(e);void 0!==n&&(n===t[e]?delete t[e]:yi(Qn(e,t[e],n)))}const r=new Gl(t,n);i.copyAll(r);const o={};for(const e of D(r.combine())){const t=r.get(e);null!==t&&(o[e]=t)}return 0===D(o).length||i.parseNothing?null:new od(e,o)}get parse(){return this._parse}merge(e){this._parse={...this._parse,...e.parse},e.remove()}assembleFormatParse(){const e={};for(const t of D(this._parse)){const n=this._parse[t];1===q(t)&&(e[t]=n)}return e}producedFields(){return new Set(D(this._parse))}dependentFields(){return new Set(D(this._parse))}assembleTransforms(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return D(this._parse).filter((t=>!e||q(t)>1)).map((e=>{const t=function(e,t){const n=A(e);if("number"===t)return`toNumber(${n})`;if("boolean"===t)return`toBoolean(${n})`;if("string"===t)return`toString(${n})`;if("date"===t)return`toDate(${n})`;if("flatten"===t)return n;if(t.startsWith("date:"))return`timeParse(${n},'${nd(t.slice(5,t.length))}')`;if(t.startsWith("utc:"))return`utcParse(${n},'${nd(t.slice(4,t.length))}')`;return yi(`Unrecognized parse "${t}".`),null}(e,this._parse[e]);if(!t)return null;return{type:"formula",expr:t,as:L(e)}})).filter((e=>null!==e))}}class ad extends pc{clone(){return new ad(null)}constructor(e){super(e)}dependentFields(){return new Set}producedFields(){return new Set([hs])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:hs}}}class sd extends pc{clone(){return new sd(null,this.params)}constructor(e,t){super(e),this.params=t}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${d(this.params)}`}assemble(){return{type:"graticule",...!0===this.params?{}:this.params}}}class ld extends pc{clone(){return new ld(null,this.params)}constructor(e,t){super(e),this.params=t}dependentFields(){return new Set}producedFields(){return new Set([this.params.as??"data"])}hash(){return`Hash ${d(this.params)}`}assemble(){return{type:"sequence",...this.params}}}class cd extends pc{constructor(e){let t;if(super(null),e??={name:"source"},ic(e)||(t=e.format?{...f(e.format,["parse"])}:{}),tc(e))this._data={values:e.values};else if(ec(e)){if(this._data={url:e.url},!t.type){let n=/(?:\.([^.]+))?$/.exec(e.url)[1];p(["json","csv","tsv","dsv","topojson"],n)||(n="json"),t.type=n}}else oc(e)?this._data={values:[{type:"Sphere"}]}:(nc(e)||ic(e))&&(this._data={});this._generator=ic(e),e.name&&(this._name=e.name),t&&!S(t)&&(this._data.format=t)}dependentFields(){return new Set}producedFields(){}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(e){this._name=e}set parent(e){throw new Error("Source nodes have to be roots.")}remove(){throw new Error("Source nodes are roots and cannot be removed.")}hash(){throw new Error("Cannot hash sources")}assemble(){return{name:this._name,...this._data,transform:[]}}}function ud(e){return e instanceof cd||e instanceof sd||e instanceof ld}class fd{#e;constructor(){this.#e=!1}setModified(){this.#e=!0}get modifiedFlag(){return this.#e}}class dd extends fd{getNodeDepths(e,t,n){n.set(e,t);for(const i of e.children)this.getNodeDepths(i,t+1,n);return n}optimize(e){const t=[...this.getNodeDepths(e,0,new Map).entries()].sort(((e,t)=>t[1]-e[1]));for(const e of t)this.run(e[0]);return this.modifiedFlag}}class md extends fd{optimize(e){this.run(e);for(const t of e.children)this.optimize(t);return this.modifiedFlag}}class pd extends md{mergeNodes(e,t){const n=t.shift();for(const i of t)e.removeChild(i),i.parent=n,i.remove()}run(e){const t=e.children.map((e=>e.hash())),n={};for(let i=0;i1&&(this.setModified(),this.mergeNodes(e,n[t]))}}class gd extends md{constructor(e){super(),this.requiresSelectionId=e&&ju(e)}run(e){e instanceof ad&&(this.requiresSelectionId&&(ud(e.parent)||e.parent instanceof ed||e.parent instanceof od)||(this.setModified(),e.remove()))}}class hd extends fd{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,t){let n=new Set;e instanceof vc&&(n=e.producedFields(),$(n,t)&&(this.setModified(),e.removeFormulas(t),0===e.producedFields.length&&e.remove()));for(const i of e.children)this.run(i,new Set([...t,...n]))}}class yd extends md{constructor(){super()}run(e){e instanceof gc&&!e.isRequired()&&(this.setModified(),e.remove())}}class vd extends dd{run(e){if(!(ud(e)||e.numChildren()>1))for(const t of e.children)if(t instanceof od)if(e instanceof od)this.setModified(),e.merge(t);else{if(k(e.producedFields(),t.dependentFields()))continue;this.setModified(),t.swapWithParent()}}}class bd extends dd{run(e){const t=[...e.children],n=e.children.filter((e=>e instanceof od));if(e.numChildren()>1&&n.length>=1){const i={},r=new Set;for(const e of n){const t=e.parse;for(const e of D(t))e in i?i[e]!==t[e]&&r.add(e):i[e]=t[e]}for(const e of r)delete i[e];if(!S(i)){this.setModified();const n=new od(e,i);for(const r of t){if(r instanceof od)for(const e of D(i))delete r.parse[e];e.removeChild(r),r.parent=n,r instanceof od&&0===D(r.parse).length&&r.remove()}}}}}class xd extends dd{run(e){e instanceof gc||e.numChildren()>0||e instanceof td||e instanceof cd||(this.setModified(),e.remove())}}class $d extends dd{run(e){const t=e.children.filter((e=>e instanceof vc)),n=t.pop();for(const e of t)this.setModified(),n.merge(e)}}class wd extends dd{run(e){const t=e.children.filter((e=>e instanceof ed)),n={};for(const e of t){const t=d(e.groupBy);t in n||(n[t]=[]),n[t].push(e)}for(const t of D(n)){const i=n[t];if(i.length>1){const t=i.pop();for(const n of i)t.merge(n)&&(e.removeChild(n),n.parent=t,n.remove(),this.setModified())}}}}class kd extends dd{constructor(e){super(),this.model=e}run(e){const t=!(ud(e)||e instanceof qu||e instanceof od||e instanceof ad),n=[],i=[];for(const r of e.children)r instanceof Kf&&(t&&!k(e.producedFields(),r.dependentFields())?n.push(r):i.push(r));if(n.length>0){const t=n.pop();for(const e of n)t.merge(e,this.model.renameSignal.bind(this.model));this.setModified(),e instanceof Kf?e.merge(t,this.model.renameSignal.bind(this.model)):t.swapWithParent()}if(i.length>1){const e=i.pop();for(const t of i)e.merge(t,this.model.renameSignal.bind(this.model));this.setModified()}}}class Sd extends dd{run(e){const t=[...e.children];if(!g(t,(e=>e instanceof gc))||e.numChildren()<=1)return;const n=[];let i;for(const r of t)if(r instanceof gc){let t=r;for(;1===t.numChildren();){const[e]=t.children;if(!(e instanceof gc))break;t=e}n.push(...t.children),i?(e.removeChild(r),r.parent=i.parent,i.parent.removeChild(i),i.parent=t,this.setModified()):i=t}else n.push(r);if(n.length){this.setModified();for(const e of n)e.parent.removeChild(e),e.parent=i}}}class Dd extends pc{clone(){return new Dd(null,l(this.transform))}constructor(e,t){super(e),this.transform=t}addDimensions(e){this.transform.groupby=b(this.transform.groupby.concat(e),(e=>e))}dependentFields(){const e=new Set;return this.transform.groupby&&this.transform.groupby.forEach(e.add,e),this.transform.joinaggregate.map((e=>e.field)).filter((e=>void 0!==e)).forEach(e.add,e),e}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(e){return e.as??ta(e)}hash(){return`JoinAggregateTransform ${d(this.transform)}`}assemble(){const e=[],t=[],n=[];for(const i of this.transform.joinaggregate)t.push(i.op),n.push(this.getDefaultName(i)),e.push(void 0===i.field?null:i.field);const i=this.transform.groupby;return{type:"joinaggregate",as:n,ops:t,fields:e,...void 0!==i?{groupby:i}:{}}}}class Fd extends pc{clone(){return new Fd(null,l(this._stack))}constructor(e,t){super(e),this._stack=t}static makeFromTransform(e,n){const{stack:i,groupby:r,as:o,offset:a="zero"}=n,s=[],l=[];if(void 0!==n.sort)for(const e of n.sort)s.push(e.field),l.push(U(e.order,"ascending"));const c={field:s,order:l};let u;return u=function(e){return t.isArray(e)&&e.every((e=>t.isString(e)))&&e.length>1}(o)?o:t.isString(o)?[o,`${o}_end`]:[`${n.stack}_start`,`${n.stack}_end`],new Fd(e,{dimensionFieldDefs:[],stackField:i,groupby:r,offset:a,sort:c,facetby:[],as:u})}static makeFromEncoding(e,n){const i=n.stack,{encoding:r}=n;if(!i)return null;const{groupbyChannels:o,fieldChannel:a,offset:s,impute:l}=i,c=o.map((e=>ua(r[e]))).filter((e=>!!e)),u=function(e){return e.stack.stackBy.reduce(((e,t)=>{const n=ta(t.fieldDef);return n&&e.push(n),e}),[])}(n),f=n.encoding.order;let d;if(t.isArray(f)||Ro(f))d=Tn(f);else{const e=Mo(f)?f.sort:"y"===a?"descending":"ascending";d=u.reduce(((t,n)=>(t.field.includes(n)||(t.field.push(n),t.order.push(e)),t)),{field:[],order:[]})}return new Fd(e,{dimensionFieldDefs:c,stackField:n.vgField(a),facetby:[],stackby:u,sort:d,offset:s,impute:l,as:[n.vgField(a,{suffix:"start",forAs:!0}),n.vgField(a,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(e){this._stack.facetby.push(...e)}dependentFields(){const e=new Set;return e.add(this._stack.stackField),this.getGroupbyFields().forEach(e.add,e),this._stack.facetby.forEach(e.add,e),this._stack.sort.field.forEach(e.add,e),e}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${d(this._stack)}`}getGroupbyFields(){const{dimensionFieldDefs:e,impute:t,groupby:n}=this._stack;return e.length>0?e.map((e=>e.bin?t?[ta(e,{binSuffix:"mid"})]:[ta(e,{}),ta(e,{binSuffix:"end"})]:[ta(e)])).flat():n??[]}assemble(){const e=[],{facetby:t,dimensionFieldDefs:n,stackField:i,stackby:r,sort:o,offset:a,impute:s,as:l}=this._stack;if(s)for(const o of n){const{bandPosition:n=.5,bin:a}=o;if(a){const t=ta(o,{expr:"datum"}),i=ta(o,{expr:"datum",binSuffix:"end"});e.push({type:"formula",expr:`${n}*${t}+${1-n}*${i}`,as:ta(o,{binSuffix:"mid",forAs:!0})})}e.push({type:"impute",field:i,groupby:[...r,...t],key:ta(o,{binSuffix:"mid"}),method:"value",value:0})}return e.push({type:"stack",groupby:[...this.getGroupbyFields(),...t],field:i,sort:o,as:l,offset:a}),e}}class zd extends pc{clone(){return new zd(null,l(this.transform))}constructor(e,t){super(e),this.transform=t}addDimensions(e){this.transform.groupby=b(this.transform.groupby.concat(e),(e=>e))}dependentFields(){const e=new Set;return(this.transform.groupby??[]).forEach(e.add,e),(this.transform.sort??[]).forEach((t=>e.add(t.field))),this.transform.window.map((e=>e.field)).filter((e=>void 0!==e)).forEach(e.add,e),e}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(e){return e.as??ta(e)}hash(){return`WindowTransform ${d(this.transform)}`}assemble(){const e=[],t=[],n=[],i=[];for(const r of this.transform.window)t.push(r.op),n.push(this.getDefaultName(r)),i.push(void 0===r.param?null:r.param),e.push(void 0===r.field?null:r.field);const r=this.transform.frame,o=this.transform.groupby;if(r&&null===r[0]&&null===r[1]&&t.every((e=>tn(e))))return{type:"joinaggregate",as:n,ops:t,fields:e,...void 0!==o?{groupby:o}:{}};const a=[],s=[];if(void 0!==this.transform.sort)for(const e of this.transform.sort)a.push(e.field),s.push(e.order??"ascending");const l={field:a,order:s},c=this.transform.ignorePeers;return{type:"window",params:i,as:n,ops:t,fields:e,sort:l,...void 0!==c?{ignorePeers:c}:{},...void 0!==o?{groupby:o}:{},...void 0!==r?{frame:r}:{}}}}function Od(e){if(e instanceof td)if(1!==e.numChildren()||e.children[0]instanceof gc){const n=e.model.component.data.main;_d(n);const i=(t=e,function e(n){if(!(n instanceof td)){const i=n.clone();if(i instanceof gc){const e=Cd+i.getSource();i.setSource(e),t.model.component.data.outputNodes[e]=i}else(i instanceof ed||i instanceof Fd||i instanceof zd||i instanceof Dd)&&i.addDimensions(t.fields);for(const t of n.children.flatMap(e))t.parent=i;return[i]}return n.children.flatMap(e)}),r=e.children.map(i).flat();for(const e of r)e.parent=n}else{const t=e.children[0];(t instanceof ed||t instanceof Fd||t instanceof zd||t instanceof Dd)&&t.addDimensions(e.fields),t.swapWithParent(),Od(e)}else e.children.map(Od);var t}function _d(e){if(e instanceof gc&&e.type===sc.Main&&1===e.numChildren()){const t=e.children[0];t instanceof td||(t.swapWithParent(),_d(e))}}const Cd="scale_",Nd=5;function Pd(e){for(const t of e){for(const e of t.children)if(e.parent!==t)return!1;if(!Pd(t.children))return!1}return!0}function Ad(e,t){let n=!1;for(const i of t)n=e.optimize(i)||n;return n}function jd(e,t,n){let i=e.sources,r=!1;return r=Ad(new yd,i)||r,r=Ad(new gd(t),i)||r,i=i.filter((e=>e.numChildren()>0)),r=Ad(new xd,i)||r,i=i.filter((e=>e.numChildren()>0)),n||(r=Ad(new vd,i)||r,r=Ad(new kd(t),i)||r,r=Ad(new hd,i)||r,r=Ad(new bd,i)||r,r=Ad(new wd,i)||r,r=Ad(new $d,i)||r,r=Ad(new pd,i)||r,r=Ad(new Sd,i)||r),e.sources=i,r}class Td{constructor(e){Object.defineProperty(this,"signal",{enumerable:!0,get:e})}static fromName(e,t){return new Td((()=>e(t)))}}function Ed(e){gm(e)?function(e){const t=e.component.scales;for(const n of D(t)){const i=Md(e,n);if(t[n].setWithExplicit("domains",i),Rd(e,n),e.component.data.isFaceted){let t=e;for(;!hm(t)&&t.parent;)t=t.parent;if("shared"===t.component.resolve.scale[n])for(const e of i.value)bn(e)&&(e.data=Cd+e.data.replace(Cd,""))}}}(e):function(e){for(const t of e.children)Ed(t);const t=e.component.scales;for(const n of D(t)){let i,r=null;for(const t of e.children){const e=t.component.scales[n];if(e){i=void 0===i?e.getWithExplicit("domains"):Kl(i,e.getWithExplicit("domains"),"domains","scale",Bd);const t=e.get("selectionExtent");r&&t&&r.param!==t.param&&yi(Yn),r=t}}t[n].setWithExplicit("domains",i),r&&t[n].set("selectionExtent",r,!0)}}(e)}function Md(e,t){const n=e.getScaleComponent(t).get("type"),{encoding:i}=e,r=function(e,t,n,i){if("unaggregated"===e){const{valid:e,reason:i}=Wd(t,n);if(!e)return void yi(i)}else if(void 0===e&&i.useUnaggregatedDomain){const{valid:e}=Wd(t,n);if(e)return"unaggregated"}return e}(e.scaleDomain(t),e.typedFieldDef(t),n,e.config.scale);return r!==e.scaleDomain(t)&&(e.specifiedScales[t]={...e.specifiedScales[t],domain:r}),"x"===t&&fa(i.x2)?fa(i.x)?Kl(qd(n,r,e,"x"),qd(n,r,e,"x2"),"domain","scale",Bd):qd(n,r,e,"x2"):"y"===t&&fa(i.y2)?fa(i.y)?Kl(qd(n,r,e,"y"),qd(n,r,e,"y2"),"domain","scale",Bd):qd(n,r,e,"y2"):qd(n,r,e,t)}function Ld(e,t,n){const i=Ei(n)?.unit;return"temporal"===t||i?function(e,t,n){return e.map((e=>({signal:`{data: ${va(e,{timeUnit:n,type:t})}}`})))}(e,t,i):[e]}function qd(e,n,i,r){const{encoding:o,markDef:a,mark:s,config:l,stack:c}=i,u=fa(o[r]),{type:f}=u,d=u.timeUnit;if(function(e){return e?.unionWith}(n)){const t=qd(e,void 0,i,r);return Yl([...Ld(n.unionWith,f,d),...t.value])}if(yn(n))return Yl([n]);if(n&&"unaggregated"!==n&&!xr(n))return Yl(Ld(n,f,d));if(c&&r===c.fieldChannel){if("normalize"===c.offset)return Xl([[0,1]]);const e=i.requestDataName(sc.Main);return Xl([{data:e,field:i.vgField(r,{suffix:"start"})},{data:e,field:i.vgField(r,{suffix:"end"})}])}const m=Ht(r)&&Ro(u)?function(e,t,n){if(!hr(n))return;const i=e.fieldDef(t),r=i.sort;if(Oo(r))return{op:"min",field:tf(i,t),order:"ascending"};const{stack:o}=e,a=o?new Set([...o.groupbyFields,...o.stackBy.map((e=>e.fieldDef.field))]):void 0;if(zo(r)){return Ud(r,o&&!a.has(r.field))}if(Fo(r)){const{encoding:t,order:n}=r,i=e.fieldDef(t),{aggregate:s,field:l}=i,c=o&&!a.has(l);if(Zt(s)||en(s))return Ud({field:ta(i),order:n},c);if(tn(s)||!s)return Ud({op:s,field:l,order:n},c)}else{if("descending"===r)return{op:"min",field:e.vgField(t),order:"descending"};if(p(["ascending",void 0],r))return!0}return}(i,r,e):void 0;if(Bo(u)){return Xl(Ld([u.datum],f,d))}const g=u;if("unaggregated"===n){const e=i.requestDataName(sc.Main),{field:t}=u;return Xl([{data:e,field:ta({field:t,aggregate:"min"})},{data:e,field:ta({field:t,aggregate:"max"})}])}if(ln(g.bin)){if(hr(e))return Xl("bin-ordinal"===e?[]:[{data:O(m)?i.requestDataName(sc.Main):i.requestDataName(sc.Raw),field:i.vgField(r,xa(g,r)?{binSuffix:"range"}:{}),sort:!0!==m&&t.isObject(m)?m:{field:i.vgField(r,{}),op:"min"}}]);{const{bin:e}=g;if(ln(e)){const t=Qf(i,g.field,e);return Xl([new Td((()=>{const e=i.getSignalName(t);return`[${e}.start, ${e}.stop]`}))])}return Xl([{data:i.requestDataName(sc.Main),field:i.vgField(r,{})}])}}if(g.timeUnit&&p(["time","utc"],e)){const e=o[it(r)];if(Eo(g,e,a,l)){const t=i.requestDataName(sc.Main),n=jo({fieldDef:g,fieldDef2:e,markDef:a,config:l}),o=Gr(s)&&.5!==n&&zt(r);return Xl([{data:t,field:i.vgField(r,o?{suffix:bc}:{})},{data:t,field:i.vgField(r,{suffix:o?xc:"end"})}])}}return Xl(m?[{data:O(m)?i.requestDataName(sc.Main):i.requestDataName(sc.Raw),field:i.vgField(r),sort:m}]:[{data:i.requestDataName(sc.Main),field:i.vgField(r)}])}function Ud(e,t){const{op:n,field:i,order:r}=e;return{op:n??(t?"sum":ko),...i?{field:E(i)}:{},...r?{order:r}:{}}}function Rd(e,t){const n=e.component.scales[t],i=e.specifiedScales[t].domain,r=e.fieldDef(t)?.bin,o=xr(i)&&i,a=un(r)&&fn(r.extent)&&r.extent;(o||a)&&n.set("selectionExtent",o??a,!0)}function Wd(e,n){const{aggregate:i,type:r}=e;return i?t.isString(i)&&!an.has(i)?{valid:!1,reason:si(i)}:"quantitative"===r&&"log"===n?{valid:!1,reason:li(e)}:{valid:!0}:{valid:!1,reason:ai(e)}}function Bd(e,t,n,i){return e.explicit&&t.explicit&&yi(function(e,t,n,i){return`Conflicting ${t.toString()} property "${e.toString()}" (${X(n)} and ${X(i)}). Using the union of the two domains.`}(n,i,e.value,t.value)),{explicit:e.explicit,value:[...e.value,...t.value]}}function Id(e){const n=b(e.map((e=>{if(bn(e)){const{sort:t,...n}=e;return n}return e})),d),i=b(e.map((e=>{if(bn(e)){const t=e.sort;return void 0===t||O(t)||("op"in t&&"count"===t.op&&delete t.field,"ascending"===t.order&&delete t.order),t}})).filter((e=>void 0!==e)),d);if(0===n.length)return;if(1===n.length){const n=e[0];if(bn(n)&&i.length>0){let e=i[0];if(i.length>1){yi(fi);const n=i.filter((e=>t.isObject(e)&&"op"in e&&"min"!==e.op));e=!i.every((e=>t.isObject(e)&&"op"in e))||1!==n.length||n[0]}else if(t.isObject(e)&&"field"in e){const t=e.field;n.field===t&&(e=!e.order||{order:e.order})}return{...n,sort:e}}return n}const r=b(i.map((e=>O(e)||!("op"in e)||t.isString(e.op)&&e.op in Kt?e:(yi(function(e){return`Dropping sort property ${X(e)} as unioned domains only support boolean or op "count", "min", and "max".`}(e)),!0))),d);let o;1===r.length?o=r[0]:r.length>1&&(yi(fi),o=!0);const a=b(e.map((e=>bn(e)?e.data:null)),(e=>e));if(1===a.length&&null!==a[0]){return{data:a[0],fields:n.map((e=>e.field)),...o?{sort:o}:{}}}return{fields:n,...o?{sort:o}:{}}}function Hd(e){if(bn(e)&&t.isString(e.field))return e.field;if(function(e){return!t.isArray(e)&&"fields"in e&&!("data"in e)}(e)){let n;for(const i of e.fields)if(bn(i)&&t.isString(i.field))if(n){if(n!==i.field)return yi("Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect."),n}else n=i.field;return yi("Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect."),n}if(function(e){return!t.isArray(e)&&"fields"in e&&"data"in e}(e)){yi("Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.");const n=e.fields[0];return t.isString(n)?n:void 0}}function Vd(e,t){const n=e.component.scales[t].get("domains").map((t=>(bn(t)&&(t.data=e.lookupDataSource(t.data)),t)));return Id(n)}function Gd(e){return vm(e)||ym(e)?e.children.reduce(((e,t)=>e.concat(Gd(t))),Yd(e)):Yd(e)}function Yd(e){return D(e.component.scales).reduce(((n,i)=>{const r=e.component.scales[i];if(r.merged)return n;const o=r.combine(),{name:a,type:s,selectionExtent:l,domains:c,range:u,reverse:f,...d}=o,m=function(e,n,i,r){if(zt(i)){if(vn(e))return{step:{signal:`${n}_step`}}}else if(t.isObject(e)&&bn(e))return{...e,data:r.lookupDataSource(e.data)};return e}(o.range,a,i,e),p=Vd(e,i),g=l?function(e,n,i,r){const o=Ru(e,n.param,n);return{signal:yr(i.get("type"))&&t.isArray(r)&&r[0]>r[1]?`isValid(${o}) && reverse(${o})`:o}}(e,l,r,p):null;return n.push({name:a,type:s,...p?{domain:p}:{},...g?{domainRaw:g}:{},range:m,...void 0!==f?{reverse:f}:{},...d}),n}),[])}class Xd extends Gl{merged=!1;constructor(e,t){super({},{name:e}),this.setWithExplicit("type",t)}domainDefinitelyIncludesZero(){return!1!==this.get("zero")||g(this.get("domains"),(e=>t.isArray(e)&&2===e.length&&t.isNumber(e[0])&&e[0]<=0&&t.isNumber(e[1])&&e[1]>=0))}}const Qd=["range","scheme"];function Jd(e,n){const i=e.fieldDef(n);if(i?.bin){const{bin:r,field:o}=i,a=rt(n),s=e.getName(a);if(t.isObject(r)&&r.binned&&void 0!==r.step)return new Td((()=>{const t=e.scaleName(n),i=`(domain("${t}")[1] - domain("${t}")[0]) / ${r.step}`;return`${e.getSignalName(s)} / (${i})`}));if(ln(r)){const t=Qf(e,o,r);return new Td((()=>{const n=e.getSignalName(t),i=`(${n}.stop - ${n}.start) / ${n}.step`;return`${e.getSignalName(s)} / (${i})`}))}}}function Kd(e,n){const i=n.specifiedScales[e],{size:r}=n,o=n.getScaleComponent(e).get("type");for(const r of Qd)if(void 0!==i[r]){const a=_r(o,r),s=Cr(e,r);if(a)if(s)yi(s);else switch(r){case"range":{const r=i.range;if(t.isArray(r)){if(zt(e))return Yl(r.map((e=>{if("width"===e||"height"===e){const t=n.getName(e),i=n.getSignalName.bind(n);return Td.fromName(i,t)}return e})))}else if(t.isObject(r))return Yl({data:n.requestDataName(sc.Main),field:r.field,sort:{op:"min",field:n.vgField(e)}});return Yl(r)}case"scheme":return Yl(Zd(i[r]))}else yi(ci(o,r,e))}const a=e===Z||"xOffset"===e?"width":"height",s=r[a];if(Fs(s))if(zt(e))if(hr(o)){const t=tm(s,n,e);if(t)return Yl({step:t})}else yi(ui(a));else if(Pt(e)){const t=e===ie?"x":"y";if("band"===n.getScaleComponent(t).get("type")){const e=nm(s,o);if(e)return Yl(e)}}const{rangeMin:l,rangeMax:u}=i,f=function(e,n){const{size:i,config:r,mark:o,encoding:a}=n,{type:s}=fa(a[e]),l=n.getScaleComponent(e),u=l.get("type"),{domain:f,domainMid:d}=n.specifiedScales[e];switch(e){case Z:case ee:if(p(["point","band"],u)){const t=im(e,i,r.view);if(Fs(t)){return{step:tm(t,n,e)}}}return em(e,n,u);case ie:case re:return function(e,t,n){const i=e===ie?"x":"y",r=t.getScaleComponent(i);if(!r)return em(i,t,n,{center:!0});const o=r.get("type"),a=t.scaleName(i),{markDef:s,config:l}=t;if("band"===o){const e=im(i,t.size,t.config.view);if(Fs(e)){const t=nm(e,n);if(t)return t}return[0,{signal:`bandwidth('${a}')`}]}{const n=t.encoding[i];if(Ro(n)&&n.timeUnit){const e=Mi(n.timeUnit,(e=>`scale('${a}', ${e})`)),i=t.config.scale.bandWithNestedOffsetPaddingInner,r=jo({fieldDef:n,markDef:s,config:l})-.5,o=0!==r?` + ${r}`:"";if(i){return[{signal:`${yn(i)?`${i.signal}/2`+o:`${i/2+r}`} * (${e})`},{signal:`${yn(i)?`(1 - ${i.signal}/2)`+o:`${1-i/2+r}`} * (${e})`}]}return[0,{signal:e}]}return c(`Cannot use ${e} scale if ${i} scale is not discrete.`)}}(e,n,u);case ye:{const a=rm(o,n.component.scales[e].get("zero"),r),s=function(e,n,i,r){const o={x:Jd(i,"x"),y:Jd(i,"y")};switch(e){case"bar":case"tick":{if(void 0!==r.scale.maxBandSize)return r.scale.maxBandSize;const e=am(n,o,r.view);return t.isNumber(e)?e-1:new Td((()=>`${e.signal} - 1`))}case"line":case"trail":case"rule":return r.scale.maxStrokeWidth;case"text":return r.scale.maxFontSize;case"point":case"square":case"circle":{if(r.scale.maxSize)return r.scale.maxSize;const e=am(n,o,r.view);return t.isNumber(e)?Math.pow(om*e,2):new Td((()=>`pow(${om} * ${e.signal}, 2)`))}}throw new Error(ni("size",e))}(o,i,n,r);return br(u)?function(e,t,n){const i=()=>{const i=On(t),r=On(e),o=`(${i} - ${r}) / (${n} - 1)`;return`sequence(${r}, ${i} + ${o}, ${o})`};return yn(t)?new Td(i):{signal:i()}}(a,s,function(e,n,i,r){switch(e){case"quantile":return n.scale.quantileCount;case"quantize":return n.scale.quantizeCount;case"threshold":return void 0!==i&&t.isArray(i)?i.length+1:(yi(function(e){return`Domain for ${e} is required for threshold scale.`}(r)),3)}}(u,r,f,e)):[a,s]}case se:return[0,2*Math.PI];case ve:return[0,360];case oe:return[0,new Td((()=>`min(${n.getSignalName(hm(n.parent)?"child_width":"width")},${n.getSignalName(hm(n.parent)?"child_height":"height")})/2`))];case we:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case ke:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case he:return"symbol";case me:case pe:case ge:return"ordinal"===u?"nominal"===s?"category":"ordinal":void 0!==d?"diverging":"rect"===o||"geoshape"===o?"heatmap":"ramp";case be:case xe:case $e:return[r.scale.minOpacity,r.scale.maxOpacity]}}(e,n);return(void 0!==l||void 0!==u)&&_r(o,"rangeMin")&&t.isArray(f)&&2===f.length?Yl([l??f[0],u??f[1]]):Xl(f)}function Zd(e){return function(e){return!t.isString(e)&&!!e.name}(e)?{scheme:e.name,...f(e,["name"])}:{scheme:e}}function em(e,t,n){let{center:i}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const r=rt(e),o=t.getName(r),a=t.getSignalName.bind(t);return e===ee&&yr(n)?i?[Td.fromName((e=>`${a(e)}/2`),o),Td.fromName((e=>`-${a(e)}/2`),o)]:[Td.fromName(a,o),0]:i?[Td.fromName((e=>`-${a(e)}/2`),o),Td.fromName((e=>`${a(e)}/2`),o)]:[0,Td.fromName(a,o)]}function tm(e,n,i){const{encoding:r}=n,o=n.getScaleComponent(i),a=at(i),s=r[a];if("offset"===Ds({step:e,offsetIsDiscrete:Go(s)&&Zi(s.type)})&&Pa(r,a)){const i=n.getScaleComponent(a);let r=`domain('${n.scaleName(a)}').length`;if("band"===i.get("type")){r=`bandspace(${r}, ${i.get("paddingInner")??i.get("padding")??0}, ${i.get("paddingOuter")??i.get("padding")??0})`}const s=o.get("paddingInner")??o.get("padding");return{signal:`${e.step} * ${r} / (1-${l=s,yn(l)?l.signal:t.stringValue(l)})`}}return e.step;var l}function nm(e,t){if("offset"===Ds({step:e,offsetIsDiscrete:hr(t)}))return{step:e.step}}function im(e,t,n){const i=e===Z?"width":"height",r=t[i];return r||Ns(n,i)}function rm(e,t,n){if(t)return yn(t)?{signal:`${t.signal} ? 0 : ${rm(e,!1,n)}`}:0;switch(e){case"bar":case"tick":return n.scale.minBandSize;case"line":case"trail":case"rule":return n.scale.minStrokeWidth;case"text":return n.scale.minFontSize;case"point":case"square":case"circle":return n.scale.minSize}throw new Error(ni("size",e))}const om=.95;function am(e,t,n){const i=Fs(e.width)?e.width.step:Cs(n,"width"),r=Fs(e.height)?e.height.step:Cs(n,"height");return t.x||t.y?new Td((()=>`min(${[t.x?t.x.signal:i,t.y?t.y.signal:r].join(", ")})`)):Math.min(i,r)}function sm(e,t){gm(e)?function(e,t){const n=e.component.scales,{config:i,encoding:r,markDef:o,specifiedScales:a}=e;for(const s of D(n)){const l=a[s],c=n[s],u=e.getScaleComponent(s),f=fa(r[s]),d=l[t],m=u.get("type"),p=u.get("padding"),g=u.get("paddingInner"),h=_r(m,t),y=Cr(s,t);if(void 0!==d&&(h?y&&yi(y):yi(ci(m,t,s))),h&&void 0===y)if(void 0!==d){const e=f.timeUnit,n=f.type;switch(t){case"domainMax":case"domainMin":vi(l[t])||"temporal"===n||e?c.set(t,{signal:va(l[t],{type:n,timeUnit:e})},!0):c.set(t,l[t],!0);break;default:c.copyKeyFromObject(t,l)}}else{const n=t in lm?lm[t]({model:e,channel:s,fieldOrDatumDef:f,scaleType:m,scalePadding:p,scalePaddingInner:g,domain:l.domain,domainMin:l.domainMin,domainMax:l.domainMax,markDef:o,config:i,hasNestedOffsetScale:Aa(r,s),hasSecondaryRangeChannel:!!r[it(s)]}):i.scale[t];void 0!==n&&c.set(t,n,!1)}}}(e,t):um(e,t)}const lm={bins:e=>{let{model:t,fieldOrDatumDef:n}=e;return Ro(n)?function(e,t){const n=t.bin;if(ln(n)){const i=Qf(e,t.field,n);return new Td((()=>e.getSignalName(i)))}if(cn(n)&&un(n)&&void 0!==n.step)return{step:n.step};return}(t,n):void 0},interpolate:e=>{let{channel:t,fieldOrDatumDef:n}=e;return function(e,t){if(p([me,pe,ge],e)&&"nominal"!==t)return"hcl";return}(t,n.type)},nice:e=>{let{scaleType:n,channel:i,domain:r,domainMin:o,domainMax:a,fieldOrDatumDef:s}=e;return function(e,n,i,r,o,a){if(ua(a)?.bin||t.isArray(i)||null!=o||null!=r||p([or.TIME,or.UTC],e))return;return!!zt(n)||void 0}(n,i,r,o,a,s)},padding:e=>{let{channel:t,scaleType:n,fieldOrDatumDef:i,markDef:r,config:o}=e;return function(e,t,n,i,r,o){if(zt(e)){if(vr(t)){if(void 0!==n.continuousPadding)return n.continuousPadding;const{type:t,orient:a}=r;if("bar"===t&&(!Ro(i)||!i.bin&&!i.timeUnit)&&("vertical"===a&&"x"===e||"horizontal"===a&&"y"===e))return o.continuousBandSize}if(t===or.POINT)return n.pointPadding}return}(t,n,o.scale,i,r,o.bar)},paddingInner:e=>{let{scalePadding:t,channel:n,markDef:i,scaleType:r,config:o,hasNestedOffsetScale:a}=e;return function(e,t,n,i,r){let o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(void 0!==e)return;if(zt(t)){const{bandPaddingInner:e,barBandPaddingInner:t,rectBandPaddingInner:i,bandWithNestedOffsetPaddingInner:a}=r;return o?a:U(e,"bar"===n?t:i)}if(Pt(t)&&i===or.BAND)return r.offsetBandPaddingInner;return}(t,n,i.type,r,o.scale,a)},paddingOuter:e=>{let{scalePadding:t,channel:n,scaleType:i,scalePaddingInner:r,config:o,hasNestedOffsetScale:a}=e;return function(e,t,n,i,r){let o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(void 0!==e)return;if(zt(t)){const{bandPaddingOuter:e,bandWithNestedOffsetPaddingOuter:t}=r;if(o)return t;if(n===or.BAND)return U(e,yn(i)?{signal:`${i.signal}/2`}:i/2)}else if(Pt(t)){if(n===or.POINT)return.5;if(n===or.BAND)return r.offsetBandPaddingOuter}return}(t,n,i,r,o.scale,a)},reverse:e=>{let{fieldOrDatumDef:t,scaleType:n,channel:i,config:r}=e;return function(e,t,n,i){if("x"===n&&void 0!==i.xReverse)return yr(e)&&"descending"===t?yn(i.xReverse)?{signal:`!${i.xReverse.signal}`}:!i.xReverse:i.xReverse;if(yr(e)&&"descending"===t)return!0;return}(n,Ro(t)?t.sort:void 0,i,r.scale)},zero:e=>{let{channel:n,fieldOrDatumDef:i,domain:r,markDef:o,scaleType:a,config:s,hasSecondaryRangeChannel:l}=e;return function(e,n,i,r,o,a,s){if(i&&"unaggregated"!==i&&yr(o)){if(t.isArray(i)){const e=i[0],n=i[i.length-1];if(t.isNumber(e)&&e<=0&&t.isNumber(n)&&n>=0)return!0}return!1}if("size"===e&&"quantitative"===n.type&&!br(o))return!0;if((!Ro(n)||!n.bin)&&p([...Ft,..._t],e)){const{orient:t,type:n}=r;return(!p(["bar","area","line","trail"],n)||!("horizontal"===t&&"y"===e||"vertical"===t&&"x"===e))&&(!(!p(["bar","area"],n)||s)||a?.zero)}return!1}(n,i,r,o,a,s.scale,l)}};function cm(e){gm(e)?function(e){const t=e.component.scales;for(const n of It){const i=t[n];if(!i)continue;const r=Kd(n,e);i.setWithExplicit("range",r)}}(e):um(e,"range")}function um(e,t){const n=e.component.scales;for(const n of e.children)"range"===t?cm(n):sm(n,t);for(const i of D(n)){let r;for(const n of e.children){const e=n.component.scales[i];if(e){r=Kl(r,e.getWithExplicit(t),t,"scale",Ql(((e,n)=>"range"===t&&e.step&&n.step?e.step-n.step:0)))}}n[i].setWithExplicit(t,r)}}function fm(e,t,n,i){const r=function(e,t,n,i){switch(t.type){case"nominal":case"ordinal":if(qe(e)||"discrete"===Qt(e))return"shape"===e&&"ordinal"===t.type&&yi(oi(e,"ordinal")),"ordinal";if(zt(e)||Pt(e)){if(p(["rect","bar","image","rule"],n.type))return"band";if(i)return"band"}else if("arc"===n.type&&e in Ot)return"band";return Zr(n[rt(e)])||Jo(t)&&t.axis?.tickBand?"band":"point";case"temporal":return qe(e)?"time":"discrete"===Qt(e)?(yi(oi(e,"temporal")),"ordinal"):Ro(t)&&t.timeUnit&&Ei(t.timeUnit).utc?"utc":"time";case"quantitative":return qe(e)?Ro(t)&&ln(t.bin)?"bin-ordinal":"linear":"discrete"===Qt(e)?(yi(oi(e,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(Zn(t.type))}(t,n,i,arguments.length>4&&void 0!==arguments[4]&&arguments[4]),{type:o}=e;return Ht(t)?void 0!==o?function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!Ht(e))return!1;switch(e){case Z:case ee:case ie:case re:case se:case oe:return!!vr(t)||"band"===t||"point"===t&&!n;case ye:case we:case be:case xe:case $e:case ve:return vr(t)||br(t)||p(["band","point","ordinal"],t);case me:case pe:case ge:return"band"!==t;case ke:case he:return"ordinal"===t||br(t)}}(t,o)?Ro(n)&&(a=o,s=n.type,!(p([tr,ir],s)?void 0===a||hr(a):s===nr?p([or.TIME,or.UTC,void 0],a):s!==er||dr(a)||br(a)||void 0===a))?(yi(function(e,t){return`FieldDef does not work with "${e}" scale. We are using "${t}" scale instead.`}(o,r)),r):o:(yi(function(e,t,n){return`Channel "${e}" does not work with "${t}" scale. We are using "${n}" scale instead.`}(t,o,r)),r):r:null;var a,s}function dm(e){gm(e)?e.component.scales=function(e){const{encoding:t,mark:n,markDef:i}=e,r={};for(const o of It){const a=fa(t[o]);if(a&&n===Hr&&o===he&&a.type===rr)continue;let s=a&&a.scale;if(a&&null!==s&&!1!==s){s??={};const n=fm(s,o,a,i,Aa(t,o));r[o]=new Xd(e.scaleName(`${o}`,!0),{value:n,explicit:s.type===n})}}return r}(e):e.component.scales=function(e){const t=e.component.scales={},n={},i=e.component.resolve;for(const t of e.children){dm(t);for(const r of D(t.component.scales))if(i.scale[r]??=Sf(r,e),"shared"===i.scale[r]){const e=n[r],o=t.component.scales[r].getWithExplicit("type");e?sr(e.value,o.value)?n[r]=Kl(e,o,"type","scale",mm):(i.scale[r]="independent",delete n[r]):n[r]=o}}for(const i of D(n)){const r=e.scaleName(i,!0),o=n[i];t[i]=new Xd(r,o);for(const t of e.children){const e=t.component.scales[i];e&&(t.renameScale(e.get("name"),r),e.merged=!0)}}return t}(e)}const mm=Ql(((e,t)=>cr(e)-cr(t)));class pm{constructor(){this.nameMap={}}rename(e,t){this.nameMap[e]=t}has(e){return void 0!==this.nameMap[e]}get(e){for(;this.nameMap[e]&&e!==this.nameMap[e];)e=this.nameMap[e];return e}}function gm(e){return"unit"===e?.type}function hm(e){return"facet"===e?.type}function ym(e){return"concat"===e?.type}function vm(e){return"layer"===e?.type}class bm{constructor(e,n,i,r,o,a,c){this.type=n,this.parent=i,this.config=o,this.parent=i,this.config=o,this.view=pn(c),this.name=e.name??r,this.title=hn(e.title)?{text:e.title}:e.title?pn(e.title):void 0,this.scaleNameMap=i?i.scaleNameMap:new pm,this.projectionNameMap=i?i.projectionNameMap:new pm,this.signalNameMap=i?i.signalNameMap:new pm,this.data=e.data,this.description=e.description,this.transforms=(e.transform??[]).map((e=>gl(e)?{filter:s(e.filter,Ji)}:e)),this.layout="layer"===n||"unit"===n?{}:function(e,n,i){const r=i[n],o={},{spacing:a,columns:s}=r;void 0!==a&&(o.spacing=a),void 0!==s&&(No(e)&&!_o(e.facet)||ws(e))&&(o.columns=s),ks(e)&&(o.columns=1);for(const n of Os)if(void 0!==e[n])if("spacing"===n){const i=e[n];o[n]=t.isNumber(i)?i:{row:i.row??a,column:i.column??a}}else o[n]=e[n];return o}(e,n,o),this.component={data:{sources:i?i.component.data.sources:[],outputNodes:i?i.component.data.outputNodes:{},outputNodeRefCounts:i?i.component.data.outputNodeRefCounts:{},isFaceted:No(e)||i?.component.data.isFaceted&&void 0===e.data},layoutSize:new Gl,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:{scale:{},axis:{},legend:{},...a?l(a):{}},selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef("width")}get height(){return this.getSizeSignalRef("height")}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){!function(e){let{ignoreRange:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};dm(e),Ed(e);for(const t of Or)sm(e,t);t||cm(e)}(this)}parseProjection(){Gf(this)}renameTopLevelLayoutSizeSignal(){"width"!==this.getName("width")&&this.renameSignal(this.getName("width"),"width"),"height"!==this.getName("height")&&this.renameSignal(this.getName("height"),"height")}parseLegends(){Mf(this)}assembleEncodeFromView(e){const{style:t,...n}=e,i={};for(const e of D(n)){const t=n[e];void 0!==t&&(i[e]=Fn(t))}return i}assembleGroupEncodeEntry(e){let t={};return this.view&&(t=this.assembleEncodeFromView(this.view)),e||(this.description&&(t.description=Fn(this.description)),"unit"!==this.type&&"layer"!==this.type)?S(t)?void 0:t:{width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height"),...t}}assembleLayout(){if(!this.layout)return;const{spacing:e,...t}=this.layout,{component:n,config:i}=this,r=function(e,t){const n={};for(const i of Re){const r=e[i];if(r?.facetFieldDef){const{titleAnchor:e,titleOrient:o}=of(["titleAnchor","titleOrient"],r.facetFieldDef.header,t,i),a=nf(i,o),s=hf(e,a);void 0!==s&&(n[a]=s)}}return S(n)?void 0:n}(n.layoutHeaders,i);return{padding:e,...this.assembleDefaultLayout(),...t,...r?{titleBand:r}:{}}}assembleDefaultLayout(){return{}}assembleHeaderMarks(){const{layoutHeaders:e}=this.component;let t=[];for(const n of Re)e[n].title&&t.push(lf(this,n));for(const e of af)t=t.concat(ff(this,e));return t}assembleAxes(){return function(e,t){const{x:n=[],y:i=[]}=e;return[...n.map((e=>Iu(e,"grid",t))),...i.map((e=>Iu(e,"grid",t))),...n.map((e=>Iu(e,"main",t))),...i.map((e=>Iu(e,"main",t)))].filter((e=>e))}(this.component.axes,this.config)}assembleLegends(){return Wf(this)}assembleProjections(){return Bf(this)}assembleTitle(){const{encoding:e,...t}=this.title??{},n={...gn(this.config.title).nonMarkTitleProperties,...t,...e?{encode:{update:e}}:{}};if(n.text)return p(["unit","layer"],this.type)?p(["middle",void 0],n.anchor)&&(n.frame??="group"):n.anchor??="start",S(n)?void 0:n}assembleGroup(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const t={};e=e.concat(this.assembleSignals()),e.length>0&&(t.signals=e);const n=this.assembleLayout();n&&(t.layout=n),t.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());const i=!this.parent||hm(this.parent)?Gd(this):[];i.length>0&&(t.scales=i);const r=this.assembleAxes();r.length>0&&(t.axes=r);const o=this.assembleLegends();return o.length>0&&(t.legends=o),t}getName(e){return _((this.name?`${this.name}_`:"")+e)}getDataName(e){return this.getName(sc[e].toLowerCase())}requestDataName(e){const t=this.getDataName(e),n=this.component.data.outputNodeRefCounts;return n[t]=(n[t]||0)+1,t}getSizeSignalRef(e){if(hm(this.parent)){const t=Ct(wf(e)),n=this.component.scales[t];if(n&&!n.merged){const e=n.get("type"),i=n.get("range");if(hr(e)&&vn(i)){const e=n.get("name"),i=Hd(Vd(this,t));if(i){return{signal:$f(e,n,ta({aggregate:"distinct",field:i},{expr:"datum"}))}}return yi(In(t)),null}}}return{signal:this.signalNameMap.get(this.getName(e))}}lookupDataSource(e){const t=this.component.data.outputNodes[e];return t?t.getSource():e}getSignalName(e){return this.signalNameMap.get(e)}renameSignal(e,t){this.signalNameMap.rename(e,t)}renameScale(e,t){this.scaleNameMap.rename(e,t)}renameProjection(e,t){this.projectionNameMap.rename(e,t)}scaleName(e,t){return t?this.getName(e):Ke(e)&&Ht(e)&&this.component.scales[e]||this.scaleNameMap.has(this.getName(e))?this.scaleNameMap.get(this.getName(e)):void 0}projectionName(e){return e?this.getName("projection"):this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection"))?this.projectionNameMap.get(this.getName("projection")):void 0}correctDataNames=e=>(e.from?.data&&(e.from.data=this.lookupDataSource(e.from.data)),e.from?.facet?.data&&(e.from.facet.data=this.lookupDataSource(e.from.facet.data)),e);getScaleComponent(e){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");const t=this.component.scales[e];return t&&!t.merged?t:this.parent?this.parent.getScaleComponent(e):void 0}getSelectionComponent(e,t){let n=this.component.selection[e];if(!n&&this.parent&&(n=this.parent.getSelectionComponent(e,t)),!n)throw new Error(function(e){return`Cannot find a selection named "${e}".`}(t));return n}hasAxisOrientSignalRef(){return this.component.axes.x?.some((e=>e.hasOrientSignalRef()))||this.component.axes.y?.some((e=>e.hasOrientSignalRef()))}}class xm extends bm{vgField(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.fieldDef(e);if(n)return ta(n,t)}reduceFieldDef(e,n){return function(e,n,i,r){return e?D(e).reduce(((i,o)=>{const a=e[o];return t.isArray(a)?a.reduce(((e,t)=>n.call(r,e,t,o)),i):n.call(r,i,a,o)}),i):i}(this.getMapping(),((t,n,i)=>{const r=ua(n);return r?e(t,r,i):t}),n)}forEachFieldDef(e,t){La(this.getMapping(),((t,n)=>{const i=ua(t);i&&e(i,n)}),t)}}class $m extends pc{clone(){return new $m(null,l(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=l(t);const n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??"value",n[1]??"density"];const i=this.transform.resolve??"shared";this.transform.resolve=i}dependentFields(){return new Set([this.transform.density,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${d(this.transform)}`}assemble(){const{density:e,...t}=this.transform,n={type:"kde",field:e,...t};return n.resolve=this.transform.resolve,n}}class wm extends pc{clone(){return new wm(null,l(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=l(t)}dependentFields(){return new Set([this.transform.extent])}producedFields(){return new Set([])}hash(){return`ExtentTransform ${d(this.transform)}`}assemble(){const{extent:e,param:t}=this.transform;return{type:"extent",field:e,signal:t}}}class km extends pc{clone(){return new km(null,{...this.filter})}constructor(e,t){super(e),this.filter=t}static make(e,t){const{config:n,mark:i,markDef:r}=t;if("filter"!==Nn("invalid",r,n))return null;const o=t.reduceFieldDef(((e,n,r)=>{const o=Ht(r)&&t.getScaleComponent(r);if(o){yr(o.get("type"))&&"count"!==n.aggregate&&!Vr(i)&&(e[n.field]=n)}return e}),{});return D(o).length?new km(e,o):null}dependentFields(){return new Set(D(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${d(this.filter)}`}assemble(){const e=D(this.filter).reduce(((e,t)=>{const n=this.filter[t],i=ta(n,{expr:"datum"});return null!==n&&("temporal"===n.type?e.push(`(isDate(${i}) || (isValid(${i}) && isFinite(+${i})))`):"quantitative"===n.type&&(e.push(`isValid(${i})`),e.push(`isFinite(+${i})`))),e}),[]);return e.length>0?{type:"filter",expr:e.join(" && ")}:null}}class Sm extends pc{clone(){return new Sm(this.parent,l(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=l(t);const{flatten:n,as:i=[]}=this.transform;this.transform.as=n.map(((e,t)=>i[t]??e))}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${d(this.transform)}`}assemble(){const{flatten:e,as:t}=this.transform;return{type:"flatten",fields:e,as:t}}}class Dm extends pc{clone(){return new Dm(null,l(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=l(t);const n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??"key",n[1]??"value"]}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${d(this.transform)}`}assemble(){const{fold:e,as:t}=this.transform;return{type:"fold",fields:e,as:t}}}class Fm extends pc{clone(){return new Fm(null,l(this.fields),this.geojson,this.signal)}static parseAll(e,t){if(t.component.projection&&!t.component.projection.isFit)return e;let n=0;for(const i of[[ue,ce],[de,fe]]){const r=i.map((e=>{const n=fa(t.encoding[e]);return Ro(n)?n.field:Bo(n)?{expr:`${n.datum}`}:Xo(n)?{expr:`${n.value}`}:void 0}));(r[0]||r[1])&&(e=new Fm(e,r,null,t.getName("geojson_"+n++)))}if(t.channelHasField(he)){const i=t.typedFieldDef(he);i.type===rr&&(e=new Fm(e,null,i.field,t.getName("geojson_"+n++)))}return e}constructor(e,t,n,i){super(e),this.fields=t,this.geojson=n,this.signal=i}dependentFields(){const e=(this.fields??[]).filter(t.isString);return new Set([...this.geojson?[this.geojson]:[],...e])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${d(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],{type:"geojson",...this.fields?{fields:this.fields}:{},...this.geojson?{geojson:this.geojson}:{},signal:this.signal}]}}class zm extends pc{clone(){return new zm(null,this.projection,l(this.fields),l(this.as))}constructor(e,t,n,i){super(e),this.projection=t,this.fields=n,this.as=i}static parseAll(e,t){if(!t.projectionName())return e;for(const n of[[ue,ce],[de,fe]]){const i=n.map((e=>{const n=fa(t.encoding[e]);return Ro(n)?n.field:Bo(n)?{expr:`${n.datum}`}:Xo(n)?{expr:`${n.value}`}:void 0})),r=n[0]===de?"2":"";(i[0]||i[1])&&(e=new zm(e,t.projectionName(),i,[t.getName(`x${r}`),t.getName(`y${r}`)]))}return e}dependentFields(){return new Set(this.fields.filter(t.isString))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${d(this.fields)} ${d(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}}class Om extends pc{clone(){return new Om(null,l(this.transform))}constructor(e,t){super(e),this.transform=t}dependentFields(){return new Set([this.transform.impute,this.transform.key,...this.transform.groupby??[]])}producedFields(){return new Set([this.transform.impute])}processSequence(e){const{start:t=0,stop:n,step:i}=e;return{signal:`sequence(${[t,n,...i?[i]:[]].join(",")})`}}static makeFromTransform(e,t){return new Om(e,t)}static makeFromEncoding(e,t){const n=t.encoding,i=n.x,r=n.y;if(Ro(i)&&Ro(r)){const o=i.impute?i:r.impute?r:void 0;if(void 0===o)return;const a=i.impute?r:r.impute?i:void 0,{method:s,value:l,frame:c,keyvals:u}=o.impute,f=qa(t.mark,n);return new Om(e,{impute:o.field,key:a.field,...s?{method:s}:{},...void 0!==l?{value:l}:{},...c?{frame:c}:{},...void 0!==u?{keyvals:u}:{},...f.length?{groupby:f}:{}})}return null}hash(){return`Impute ${d(this.transform)}`}assemble(){const{impute:e,key:t,keyvals:n,method:i,groupby:r,value:o,frame:a=[null,null]}=this.transform,s={type:"impute",field:e,key:t,...n?{keyvals:(l=n,void 0!==l?.stop?this.processSequence(n):n)}:{},method:"value",...r?{groupby:r}:{},value:i&&"value"!==i?null:o};var l;if(i&&"value"!==i){return[s,{type:"window",as:[`imputed_${e}_value`],ops:[i],fields:[e],frame:a,ignorePeers:!1,...r?{groupby:r}:{}},{type:"formula",expr:`datum.${e} === null ? datum.imputed_${e}_value : datum.${e}`,as:e}]}return[s]}}class _m extends pc{clone(){return new _m(null,l(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=l(t);const n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??t.on,n[1]??t.loess]}dependentFields(){return new Set([this.transform.loess,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${d(this.transform)}`}assemble(){const{loess:e,on:t,...n}=this.transform;return{type:"loess",x:t,y:e,...n}}}class Cm extends pc{clone(){return new Cm(null,l(this.transform),this.secondary)}constructor(e,t,n){super(e),this.transform=t,this.secondary=n}static make(e,t,n,i){const r=t.component.data.sources,{from:o}=n;let a=null;if(function(e){return"data"in e}(o)){let e=Hm(o.data,r);e||(e=new cd(o.data),r.push(e));const n=t.getName(`lookup_${i}`);a=new gc(e,n,sc.Lookup,t.component.data.outputNodeRefCounts),t.component.data.outputNodes[n]=a}else if(function(e){return"param"in e}(o)){const e=o.param;let i;n={as:e,...n};try{i=t.getSelectionComponent(_(e),e)}catch(t){throw new Error(function(e){return`Lookups can only be performed on selection parameters. "${e}" is a variable parameter.`}(e))}if(a=i.materialized,!a)throw new Error(function(e){return`Cannot define and lookup the "${e}" selection in the same view. Try moving the lookup into a second, layered view?`}(e))}return new Cm(e,n,a.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?t.array(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${d({transform:this.transform,secondary:this.secondary})}`}assemble(){let e;if(this.transform.from.fields)e={values:this.transform.from.fields,...this.transform.as?{as:t.array(this.transform.as)}:{}};else{let n=this.transform.as;t.isString(n)||(yi('If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.'),n="_lookup"),e={as:[n]}}return{type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup],...e,...this.transform.default?{default:this.transform.default}:{}}}}class Nm extends pc{clone(){return new Nm(null,l(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=l(t);const n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??"prob",n[1]??"value"]}dependentFields(){return new Set([this.transform.quantile,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${d(this.transform)}`}assemble(){const{quantile:e,...t}=this.transform;return{type:"quantile",field:e,...t}}}class Pm extends pc{clone(){return new Pm(null,l(this.transform))}constructor(e,t){super(e),this.transform=t,this.transform=l(t);const n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??t.on,n[1]??t.regression]}dependentFields(){return new Set([this.transform.regression,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${d(this.transform)}`}assemble(){const{regression:e,on:t,...n}=this.transform;return{type:"regression",x:t,y:e,...n}}}class Am extends pc{clone(){return new Am(null,l(this.transform))}constructor(e,t){super(e),this.transform=t}addDimensions(e){this.transform.groupby=b((this.transform.groupby??[]).concat(e),(e=>e))}producedFields(){}dependentFields(){return new Set([this.transform.pivot,this.transform.value,...this.transform.groupby??[]])}hash(){return`PivotTransform ${d(this.transform)}`}assemble(){const{pivot:e,value:t,groupby:n,limit:i,op:r}=this.transform;return{type:"pivot",field:e,value:t,...void 0!==i?{limit:i}:{},...void 0!==r?{op:r}:{},...void 0!==n?{groupby:n}:{}}}}class jm extends pc{clone(){return new jm(null,l(this.transform))}constructor(e,t){super(e),this.transform=t}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${d(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}}function Tm(e){let t=0;return function n(i,r){if(i instanceof cd&&!i.isGenerator&&!ec(i.data)){e.push(r);r={name:null,source:r.name,transform:[]}}if(i instanceof od&&(i.parent instanceof cd&&!r.source?(r.format={...r.format,parse:i.assembleFormatParse()},r.transform.push(...i.assembleTransforms(!0))):r.transform.push(...i.assembleTransforms())),i instanceof td)return r.name||(r.name="data_"+t++),!r.source||r.transform.length>0?(e.push(r),i.data=r.name):i.data=r.source,void e.push(...i.assemble());if((i instanceof sd||i instanceof ld||i instanceof km||i instanceof qu||i instanceof ef||i instanceof zm||i instanceof ed||i instanceof Cm||i instanceof zd||i instanceof Dd||i instanceof Dm||i instanceof Sm||i instanceof $m||i instanceof _m||i instanceof Nm||i instanceof Pm||i instanceof ad||i instanceof jm||i instanceof Am||i instanceof wm)&&r.transform.push(i.assemble()),(i instanceof Kf||i instanceof vc||i instanceof Om||i instanceof Fd||i instanceof Fm)&&r.transform.push(...i.assemble()),i instanceof gc)if(r.source&&0===r.transform.length)i.setSource(r.source);else if(i.parent instanceof gc)i.setSource(r.name);else if(r.name||(r.name="data_"+t++),i.setSource(r.name),1===i.numChildren()){e.push(r);r={name:null,source:r.name,transform:[]}}switch(i.numChildren()){case 0:i instanceof gc&&(!r.source||r.transform.length>0)&&e.push(r);break;case 1:n(i.children[0],r);break;default:{r.name||(r.name="data_"+t++);let o=r.name;!r.source||r.transform.length>0?e.push(r):o=r.source;for(const e of i.children){n(e,{name:null,source:o,transform:[]})}break}}}}function Em(e){return"top"===e||"left"===e||yn(e)?"header":"footer"}function Mm(e,n){const{facet:i,config:r,child:o,component:a}=e;if(e.channelHasField(n)){const s=i[n],l=rf("title",null,r,n);let c=aa(s,r,{allowDisabling:!0,includeDefault:void 0===l||!!l});o.component.layoutHeaders[n].title&&(c=t.isArray(c)?c.join(", "):c,c+=` / ${o.component.layoutHeaders[n].title}`,o.component.layoutHeaders[n].title=null);const u=rf("labelOrient",s.header,r,n),f=null!==s.header&&U(s.header?.labels,r.header.labels,!0),d=p(["bottom","right"],u)?"footer":"header";a.layoutHeaders[n]={title:null!==s.header?c:null,facetFieldDef:s,[d]:"facet"===n?[]:[Lm(e,n,f)]}}}function Lm(e,t,n){const i="row"===t?"height":"width";return{labels:n,sizeSignal:e.child.component.layoutSize.get(i)?e.child.getSizeSignalRef(i):void 0,axes:[]}}function qm(e,t){const{child:n}=e;if(n.component.axes[t]){const{layoutHeaders:i,resolve:r}=e.component;if(r.axis[t]=Df(r,t),"shared"===r.axis[t]){const r="x"===t?"column":"row",o=i[r];for(const i of n.component.axes[t]){const t=Em(i.get("orient"));o[t]??=[Lm(e,r,!1)];const n=Iu(i,"main",e.config,{header:!0});n&&o[t][0].axes.push(n),i.mainExtracted=!0}}}}function Um(e){for(const t of e.children)t.parseLayoutSize()}function Rm(e,t){const n=wf(t),i=Ct(n),r=e.component.resolve,o=e.component.layoutSize;let a;for(const t of e.children){const o=t.component.layoutSize.getWithExplicit(n),s=r.scale[i]??Sf(i,e);if("independent"===s&&"step"===o.value){a=void 0;break}if(a){if("independent"===s&&a.value!==o.value){a=void 0;break}a=Kl(a,o,n,"")}else a=o}if(a){for(const i of e.children)e.renameSignal(i.getName(n),e.getName(t)),i.component.layoutSize.set(n,"merged",!1);o.setWithExplicit(t,a)}else o.setWithExplicit(t,{explicit:!1,value:void 0})}function Wm(e,t){const n="width"===t?"x":"y",i=e.config,r=e.getScaleComponent(n);if(r){const e=r.get("type"),n=r.get("range");if(hr(e)){const e=Ns(i.view,t);return vn(n)||Fs(e)?"step":e}return _s(i.view,t)}if(e.hasProjection||"arc"===e.mark)return _s(i.view,t);{const e=Ns(i.view,t);return Fs(e)?e.step:e}}function Bm(e,t,n){return ta(t,{suffix:`by_${ta(e)}`,...n})}class Im extends xm{constructor(e,t,n,i){super(e,"facet",t,n,i,e.resolve),this.child=yp(e.spec,this,this.getName("child"),void 0,i),this.children=[this.child],this.facet=this.initFacet(e.facet)}initFacet(e){if(!_o(e))return{facet:this.initFacetFieldDef(e,"facet")};const t=D(e),n={};for(const i of t){if(![Q,J].includes(i)){yi(ni(i,"facet"));break}const t=e[i];if(void 0===t.field){yi(ti(t,i));break}n[i]=this.initFacetFieldDef(t,i)}return n}initFacetFieldDef(e,t){const n=pa(e,t);return n.header?n.header=pn(n.header):null===n.header&&(n.header=null),n}channelHasField(e){return!!this.facet[e]}fieldDef(e){return this.facet[e]}parseData(){this.component.data=Vm(this),this.child.parseData()}parseLayoutSize(){Um(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),function(e){for(const t of Re)Mm(e,t);qm(e,"x"),qm(e,"y")}(this)}assembleSelectionTopLevelSignals(e){return this.child.assembleSelectionTopLevelSignals(e)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(e){return this.child.assembleSelectionData(e)}getHeaderLayoutMixins(){const e={};for(const t of Re)for(const n of sf){const i=this.component.layoutHeaders[t],r=i[n],{facetFieldDef:o}=i;if(o){const n=rf("titleOrient",o.header,this.config,t);if(["right","bottom"].includes(n)){const i=nf(t,n);e.titleAnchor??={},e.titleAnchor[i]="end"}}if(r?.[0]){const r="row"===t?"height":"width",o="header"===n?"headerBand":"footerBand";"facet"===t||this.child.component.layoutSize.get(r)||(e[o]??={},e[o][t]=.5),i.title&&(e.offset??={},e.offset["row"===t?"rowTitle":"columnTitle"]=10)}}return e}assembleDefaultLayout(){const{column:e,row:t}=this.facet,n=e?this.columnDistinctSignal():t?1:void 0;let i="all";return(t||"independent"!==this.component.resolve.scale.x)&&(e||"independent"!==this.component.resolve.scale.y)||(i="none"),{...this.getHeaderLayoutMixins(),...n?{columns:n}:{},bounds:"full",align:i}}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof Im)){return{signal:`length(data('${this.getName("column_domain")}'))`}}}assembleGroupStyle(){}assembleGroup(e){return this.parent&&this.parent instanceof Im?{...this.channelHasField("column")?{encode:{update:{columns:{field:ta(this.facet.column,{prefix:"distinct"})}}}}:{},...super.assembleGroup(e)}:super.assembleGroup(e)}getCardinalityAggregateForChild(){const e=[],t=[],n=[];if(this.child instanceof Im){if(this.child.channelHasField("column")){const i=ta(this.child.facet.column);e.push(i),t.push("distinct"),n.push(`distinct_${i}`)}}else for(const i of Ft){const r=this.child.component.scales[i];if(r&&!r.merged){const o=r.get("type"),a=r.get("range");if(hr(o)&&vn(a)){const r=Hd(Vd(this.child,i));r?(e.push(r),t.push("distinct"),n.push(`distinct_${r}`)):yi(In(i))}}}return{fields:e,ops:t,as:n}}assembleFacet(){const{name:e,data:n}=this.component.data.facetRoot,{row:i,column:r}=this.facet,{fields:o,ops:a,as:s}=this.getCardinalityAggregateForChild(),l=[];for(const e of Re){const n=this.facet[e];if(n){l.push(ta(n));const{bin:c,sort:u}=n;if(ln(c)&&l.push(ta(n,{binSuffix:"end"})),zo(u)){const{field:e,op:t=ko}=u,l=Bm(n,u);i&&r?(o.push(l),a.push("max"),s.push(l)):(o.push(e),a.push(t),s.push(l))}else if(t.isArray(u)){const t=tf(n,e);o.push(t),a.push("max"),s.push(t)}}}const c=!!i&&!!r;return{name:e,data:n,groupby:l,...c||o.length>0?{aggregate:{...c?{cross:c}:{},...o.length?{fields:o,ops:a,as:s}:{}}}:{}}}facetSortFields(e){const{facet:n}=this,i=n[e];return i?zo(i.sort)?[Bm(i,i.sort,{expr:"datum"})]:t.isArray(i.sort)?[tf(i,e,{expr:"datum"})]:[ta(i,{expr:"datum"})]:[]}facetSortOrder(e){const{facet:n}=this,i=n[e];if(i){const{sort:e}=i;return[(zo(e)?e.order:!t.isArray(e)&&e)||"ascending"]}return[]}assembleLabelTitle(){const{facet:e,config:t}=this;if(e.facet)return mf(e.facet,"facet",t);const n={row:["top","bottom"],column:["left","right"]};for(const i of af)if(e[i]){const r=rf("labelOrient",e[i]?.header,t,i);if(n[i].includes(r))return mf(e[i],i,t)}}assembleMarks(){const{child:e}=this,t=function(e){const t=[],n=Tm(t);for(const t of e.children)n(t,{source:e.name,name:null,transform:[]});return t}(this.component.data.facetRoot),n=e.assembleGroupEncodeEntry(!1),i=this.assembleLabelTitle()||e.assembleTitle(),r=e.assembleGroupStyle();return[{name:this.getName("cell"),type:"group",...i?{title:i}:{},...r?{style:r}:{},from:{facet:this.assembleFacet()},sort:{field:Re.map((e=>this.facetSortFields(e))).flat(),order:Re.map((e=>this.facetSortOrder(e))).flat()},...t.length>0?{data:t}:{},...n?{encode:{update:n}}:{},...e.assembleGroup(fc(this,[]))}]}getMapping(){return this.facet}}function Hm(e,t){for(const n of t){const t=n.data;if(e.name&&n.hasName()&&e.name!==n.dataName)continue;const i=e.format?.mesh,r=t.format?.feature;if(i&&r)continue;const o=e.format?.feature;if((o||r)&&o!==r)continue;const a=t.format?.mesh;if(!i&&!a||i===a)if(tc(e)&&tc(t)){if(Y(e.values,t.values))return n}else if(ec(e)&&ec(t)){if(e.url===t.url)return n}else if(nc(e)&&e.name===n.dataName)return n}return null}function Vm(e){let t=function(e,t){if(e.data||!e.parent){if(null===e.data){const e=new cd({values:[]});return t.push(e),e}const n=Hm(e.data,t);if(n)return ic(e.data)||(n.data.format=y({},e.data.format,n.data.format)),!n.hasName()&&e.data.name&&(n.dataName=e.data.name),n;{const n=new cd(e.data);return t.push(n),n}}return e.parent.component.data.facetRoot?e.parent.component.data.facetRoot:e.parent.component.data.main}(e,e.component.data.sources);const{outputNodes:n,outputNodeRefCounts:i}=e.component.data,r=e.data,o=!(r&&(ic(r)||ec(r)||tc(r)))&&e.parent?e.parent.component.data.ancestorParse.clone():new Zl;ic(r)?(rc(r)?t=new ld(t,r.sequence):ac(r)&&(t=new sd(t,r.graticule)),o.parseNothing=!0):null===r?.format?.parse&&(o.parseNothing=!0),t=od.makeExplicit(t,e,o)??t,t=new ad(t);const a=e.parent&&vm(e.parent);(gm(e)||hm(e))&&a&&(t=Kf.makeFromEncoding(t,e)??t),e.transforms.length>0&&(t=function(e,t,n){let i=0;for(const r of t.transforms){let o,a;if(Fl(r))a=e=new ef(e,r),o="derived";else if(gl(r)){const i=id(r);a=e=od.makeWithAncestors(e,{},i,n)??e,e=new qu(e,t,r.filter)}else if(zl(r))a=e=Kf.makeFromTransform(e,r,t),o="number";else if(_l(r))o="date",void 0===n.getWithExplicit(r.field).value&&(e=new od(e,{[r.field]:o}),n.set(r.field,o,!1)),a=e=vc.makeFromTransform(e,r);else if(Cl(r))a=e=ed.makeFromTransform(e,r),o="number",ju(t)&&(e=new ad(e));else if(hl(r))a=e=Cm.make(e,t,r,i++),o="derived";else if(kl(r))a=e=new zd(e,r),o="number";else if(Sl(r))a=e=new Dd(e,r),o="number";else if(Nl(r))a=e=Fd.makeFromTransform(e,r),o="derived";else if(Pl(r))a=e=new Dm(e,r),o="derived";else if(Al(r))a=e=new wm(e,r),o="derived";else if(Dl(r))a=e=new Sm(e,r),o="derived";else if(yl(r))a=e=new Am(e,r),o="derived";else if(wl(r))e=new jm(e,r);else if(Ol(r))a=e=Om.makeFromTransform(e,r),o="derived";else if(vl(r))a=e=new $m(e,r),o="derived";else if(bl(r))a=e=new Nm(e,r),o="derived";else if(xl(r))a=e=new Pm(e,r),o="derived";else{if(!$l(r)){yi(`Ignoring an invalid transform: ${X(r)}.`);continue}a=e=new _m(e,r),o="derived"}if(a&&void 0!==o)for(const e of a.producedFields()??[])n.set(e,o,!1)}return e}(t,e,o));const s=function(e){const t={};if(gm(e)&&e.component.selection)for(const n of D(e.component.selection)){const i=e.component.selection[n];for(const e of i.project.items)!e.channel&&q(e.field)>1&&(t[e.field]="flatten")}return t}(e),l=rd(e);t=od.makeWithAncestors(t,{},{...s,...l},o)??t,gm(e)&&(t=Fm.parseAll(t,e),t=zm.parseAll(t,e)),(gm(e)||hm(e))&&(a||(t=Kf.makeFromEncoding(t,e)??t),t=vc.makeFromEncoding(t,e)??t,t=ef.parseAllForSortIndex(t,e));const c=e.getDataName(sc.Raw),u=new gc(t,c,sc.Raw,i);if(n[c]=u,t=u,gm(e)){const n=ed.makeFromEncoding(t,e);n&&(t=n,ju(e)&&(t=new ad(t))),t=Om.makeFromEncoding(t,e)??t,t=Fd.makeFromEncoding(t,e)??t}gm(e)&&(t=km.make(t,e)??t);const f=e.getDataName(sc.Main),d=new gc(t,f,sc.Main,i);n[f]=d,t=d,gm(e)&&function(e,t){for(const[n,i]of z(e.component.selection??{})){const r=e.getName(`lookup_${n}`);e.component.data.outputNodes[r]=i.materialized=new gc(new qu(t,e,{param:n}),r,sc.Lookup,e.component.data.outputNodeRefCounts)}}(e,d);let m=null;if(hm(e)){const i=e.getName("facet");t=function(e,t){const{row:n,column:i}=t;if(n&&i){let t=null;for(const r of[n,i])if(zo(r.sort)){const{field:n,op:i=ko}=r.sort;e=t=new Dd(e,{joinaggregate:[{op:i,field:n,as:Bm(r,r.sort,{forAs:!0})}],groupby:[ta(r)]})}return t}return null}(t,e.facet)??t,m=new td(t,e,i,d.getSource()),n[i]=m}return{...e.component.data,outputNodes:n,outputNodeRefCounts:i,raw:u,main:d,facetRoot:m,ancestorParse:o}}class Gm extends bm{constructor(e,t,n,i){super(e,"concat",t,n,i,e.resolve),"shared"!==e.resolve?.axis?.x&&"shared"!==e.resolve?.axis?.y||yi("Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415)."),this.children=this.getChildren(e).map(((e,t)=>yp(e,this,this.getName(`concat_${t}`),void 0,i)))}parseData(){this.component.data=Vm(this);for(const e of this.children)e.parseData()}parseSelections(){this.component.selection={};for(const e of this.children){e.parseSelections();for(const t of D(e.component.selection))this.component.selection[t]=e.component.selection[t]}}parseMarkGroup(){for(const e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){for(const e of this.children)e.parseAxesAndHeaders()}getChildren(e){return ks(e)?e.vconcat:Ss(e)?e.hconcat:e.concat}parseLayoutSize(){!function(e){Um(e);const t=1===e.layout.columns?"width":"childWidth",n=void 0===e.layout.columns?"height":"childHeight";Rm(e,t),Rm(e,n)}(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(e){return this.children.reduce(((e,t)=>t.assembleSelectionTopLevelSignals(e)),e)}assembleSignals(){return this.children.forEach((e=>e.assembleSignals())),[]}assembleLayoutSignals(){const e=vf(this);for(const t of this.children)e.push(...t.assembleLayoutSignals());return e}assembleSelectionData(e){return this.children.reduce(((e,t)=>t.assembleSelectionData(e)),e)}assembleMarks(){return this.children.map((e=>{const t=e.assembleTitle(),n=e.assembleGroupStyle(),i=e.assembleGroupEncodeEntry(!1);return{type:"group",name:e.getName("group"),...t?{title:t}:{},...n?{style:n}:{},...i?{encode:{update:i}}:{},...e.assembleGroup()}}))}assembleGroupStyle(){}assembleDefaultLayout(){const e=this.layout.columns;return{...null!=e?{columns:e}:{},bounds:"full",align:"each"}}}const Ym={disable:1,gridScale:1,scale:1,...Da,labelExpr:1,encode:1},Xm=D(Ym);class Qm extends Gl{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];super(),this.explicit=e,this.implicit=t,this.mainExtracted=n}clone(){return new Qm(l(this.explicit),l(this.implicit),this.mainExtracted)}hasAxisPart(e){return"axis"===e||("grid"===e||"title"===e?!!this.get(e):!(!1===(t=this.get(e))||null===t));var t}hasOrientSignalRef(){return yn(this.explicit.orient)}}const Jm={bottom:"top",top:"bottom",left:"right",right:"left"};function Km(e,t){if(!e)return t.map((e=>e.clone()));{if(e.length!==t.length)return;const n=e.length;for(let i=0;i{switch(n){case"title":return Ln(e,t);case"gridScale":return{explicit:e.explicit,value:U(e.value,t.value)}}return Jl(e,t,n,"axis")}));e.setWithExplicit(n,i)}return e}function ep(e,t,n,i,r){if("disable"===t)return void 0!==n;switch(n=n||{},t){case"titleAngle":case"labelAngle":return e===(yn(n.labelAngle)?n.labelAngle:H(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(e===Zu(i,r))return!0}return e===n[t]}const tp=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function np(e,t){let n=t.axis(e);const i=new Qm,r=fa(t.encoding[e]),{mark:o,config:a}=t,s=n?.orient||a["x"===e?"axisX":"axisY"]?.orient||a.axis?.orient||function(e){return"x"===e?"bottom":"left"}(e),l=t.getScaleComponent(e).get("type"),c=function(e,t,n,i){const r="band"===t?["axisDiscrete","axisBand"]:"point"===t?["axisDiscrete","axisPoint"]:dr(t)?["axisQuantitative"]:"time"===t||"utc"===t?["axisTemporal"]:[],o="x"===e?"axisX":"axisY",a=yn(n)?"axisOrient":`axis${P(n)}`,s=[...r,...r.map((e=>o+e.substr(4)))],l=["axis",a,o];return{vlOnlyAxisConfig:Vu(s,i,e,n),vgAxisConfig:Vu(l,i,e,n),axisConfigStyle:Gu([...l,...s],i)}}(e,l,s,t.config),u=void 0!==n?!n:Yu("disable",a.style,n?.style,c).configValue;if(i.set("disable",u,void 0!==n),u)return i;n=n||{};const f=function(e,t,n,i,r){const o=t?.labelAngle;if(void 0!==o)return yn(o)?o:H(o);{const{configValue:o}=Yu("labelAngle",i,t?.style,r);return void 0!==o?H(o):n!==Z||!p([ir,tr],e.type)||Ro(e)&&e.timeUnit?void 0:270}}(r,n,e,a.style,c),d=vo(n.formatType,r,l),m=yo(r,r.type,n.format,n.formatType,a,!0),g={fieldOrDatumDef:r,axis:n,channel:e,model:t,scaleType:l,orient:s,labelAngle:f,format:m,formatType:d,mark:o,config:a};for(const r of Xm){const o=r in Xu?Xu[r](g):za(r)?n[r]:void 0,s=void 0!==o,l=ep(o,r,n,t,e);if(s&&l)i.set(r,o,l);else{const{configValue:e,configFrom:t}=za(r)&&"values"!==r?Yu(r,a.style,n.style,c):{},u=void 0!==e;s&&!u?i.set(r,o,l):("vgAxisConfig"!==t||tp.has(r)&&u||wa(e)||yn(e))&&i.set(r,e,!1)}}const h=n.encoding??{},y=ka.reduce(((n,r)=>{if(!i.hasAxisPart(r))return n;const o=kf(h[r]??{},t),a="labels"===r?function(e,t,n){const{encoding:i,config:r}=e,o=fa(i[t])??fa(i[it(t)]),a=e.axis(t)||{},{format:s,formatType:l}=a;if(uo(l))return{text:ho({fieldOrDatumDef:o,field:"datum.value",format:s,formatType:l,config:r}),...n};if(void 0===s&&void 0===l&&r.customFormatTypes){if("quantitative"===Wo(o)){if(Jo(o)&&"normalize"===o.stack&&r.normalizedNumberFormatType)return{text:ho({fieldOrDatumDef:o,field:"datum.value",format:r.normalizedNumberFormat,formatType:r.normalizedNumberFormatType,config:r}),...n};if(r.numberFormatType)return{text:ho({fieldOrDatumDef:o,field:"datum.value",format:r.numberFormat,formatType:r.numberFormatType,config:r}),...n}}if("temporal"===Wo(o)&&r.timeFormatType&&Ro(o)&&!o.timeUnit)return{text:ho({fieldOrDatumDef:o,field:"datum.value",format:r.timeFormat,formatType:r.timeFormatType,config:r}),...n}}return n}(t,e,o):o;return void 0===a||S(a)||(n[r]={update:a}),n}),{});return S(y)||i.set("encode",y,!!n.encoding||void 0!==n.labelAngle),i}function ip(e,t){const{config:n}=e;return{...lu(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...Xc("x",e,{defaultPos:"mid"}),...Xc("y",e,{defaultPos:"mid"}),...Hc("size",e),...Hc("angle",e),...rp(e,n,t)}}function rp(e,t,n){return n?{shape:{value:n}}:Hc("shape",e)}const op={vgMark:"rule",encodeEntry:e=>{const{markDef:t}=e,n=t.orient;return e.encoding.x||e.encoding.y||e.encoding.latitude||e.encoding.longitude?{...lu(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...eu("x",e,{defaultPos:"horizontal"===n?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"vertical"!==n}),...eu("y",e,{defaultPos:"vertical"===n?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"horizontal"!==n}),...Hc("size",e,{vgChannel:"strokeWidth"})}:{}}};function ap(e,t,n){if(void 0===Nn("align",e,n))return"center"}function sp(e,t,n){if(void 0===Nn("baseline",e,n))return"middle"}const lp={vgMark:"rect",encodeEntry:e=>{const{config:t,markDef:n}=e,i=n.orient,r="horizontal"===i?"width":"height",o="horizontal"===i?"height":"width";return{...lu(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Xc("x",e,{defaultPos:"mid",vgChannel:"xc"}),...Xc("y",e,{defaultPos:"mid",vgChannel:"yc"}),...Hc("size",e,{defaultValue:cp(e),vgChannel:r}),[o]:Fn(Nn("thickness",n,t))}}};function cp(e){const{config:n,markDef:i}=e,{orient:r}=i,o="horizontal"===r?"width":"height",a=e.getScaleComponent("horizontal"===r?"x":"y"),s=Nn("size",i,n,{vgChannel:o})??n.tick.bandSize;if(void 0!==s)return s;{const e=a?a.get("range"):void 0;if(e&&vn(e)&&t.isNumber(e.step))return 3*e.step/4;return 3*Cs(n.view,o)/4}}const up={arc:{vgMark:"arc",encodeEntry:e=>({...lu(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...Xc("x",e,{defaultPos:"mid"}),...Xc("y",e,{defaultPos:"mid"}),...iu(e,"radius"),...iu(e,"theta")})},area:{vgMark:"area",encodeEntry:e=>({...lu(e,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"}),...eu("x",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"horizontal"===e.markDef.orient}),...eu("y",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"vertical"===e.markDef.orient}),...fu(e)})},bar:{vgMark:"rect",encodeEntry:e=>({...lu(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...iu(e,"x"),...iu(e,"y")})},circle:{vgMark:"symbol",encodeEntry:e=>ip(e,"circle")},geoshape:{vgMark:"shape",encodeEntry:e=>({...lu(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})}),postEncodingTransform:e=>{const{encoding:t}=e,n=t.shape;return[{type:"geoshape",projection:e.projectionName(),...n&&Ro(n)&&n.type===rr?{field:ta(n,{expr:"datum"})}:{}}]}},image:{vgMark:"image",encodeEntry:e=>({...lu(e,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"}),...iu(e,"x"),...iu(e,"y"),...Mc(e,"url")})},line:{vgMark:"line",encodeEntry:e=>({...lu(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...Xc("x",e,{defaultPos:"mid"}),...Xc("y",e,{defaultPos:"mid"}),...Hc("size",e,{vgChannel:"strokeWidth"}),...fu(e)})},point:{vgMark:"symbol",encodeEntry:e=>ip(e)},rect:{vgMark:"rect",encodeEntry:e=>({...lu(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...iu(e,"x"),...iu(e,"y")})},rule:op,square:{vgMark:"symbol",encodeEntry:e=>ip(e,"square")},text:{vgMark:"text",encodeEntry:e=>{const{config:t,encoding:n}=e;return{...lu(e,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"}),...Xc("x",e,{defaultPos:"mid"}),...Xc("y",e,{defaultPos:"mid"}),...Mc(e),...Hc("size",e,{vgChannel:"fontSize"}),...Hc("angle",e),...du("align",ap(e.markDef,n,t)),...du("baseline",sp(e.markDef,n,t)),...Xc("radius",e,{defaultPos:null}),...Xc("theta",e,{defaultPos:null})}}},tick:lp,trail:{vgMark:"trail",encodeEntry:e=>({...lu(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...Xc("x",e,{defaultPos:"mid"}),...Xc("y",e,{defaultPos:"mid"}),...Hc("size",e),...fu(e)})}};function fp(e){if(p([Er,Ar,Wr],e.mark)){const t=qa(e.mark,e.encoding);if(t.length>0)return function(e,t){return[{name:e.getName("pathgroup"),type:"group",from:{facet:{name:dp+e.requestDataName(sc.Main),data:e.requestDataName(sc.Main),groupby:t}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:pp(e,{fromPrefix:dp})}]}(e,t)}else if(e.mark===jr){const t=wn.some((t=>Nn(t,e.markDef,e.config)));if(e.stack&&!e.fieldDef("size")&&t)return function(e){const[t]=pp(e,{fromPrefix:mp}),n=e.scaleName(e.stack.fieldChannel),i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.vgField(e.stack.fieldChannel,t)},r=(e,t)=>`${e}(${[i({prefix:"min",suffix:"start",expr:t}),i({prefix:"max",suffix:"start",expr:t}),i({prefix:"min",suffix:"end",expr:t}),i({prefix:"max",suffix:"end",expr:t})].map((e=>`scale('${n}',${e})`)).join(",")})`;let o,a;"x"===e.stack.fieldChannel?(o={...u(t.encode.update,["y","yc","y2","height",...wn]),x:{signal:r("min","datum")},x2:{signal:r("max","datum")},clip:{value:!0}},a={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},t.encode.update={...f(t.encode.update,["y","yc","y2"]),height:{field:{group:"height"}}}):(o={...u(t.encode.update,["x","xc","x2","width"]),y:{signal:r("min","datum")},y2:{signal:r("max","datum")},clip:{value:!0}},a={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},t.encode.update={...f(t.encode.update,["x","xc","x2"]),width:{field:{group:"width"}}});for(const n of wn){const i=Pn(n,e.markDef,e.config);t.encode.update[n]?(o[n]=t.encode.update[n],delete t.encode.update[n]):i&&(o[n]=Fn(i)),i&&(t.encode.update[n]={value:0})}const s=[];if(e.stack.groupbyChannels?.length>0)for(const t of e.stack.groupbyChannels){const n=e.fieldDef(t),i=ta(n);i&&s.push(i),(n?.bin||n?.timeUnit)&&s.push(ta(n,{binSuffix:"end"}))}o=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce(((n,i)=>{if(t.encode.update[i])return{...n,[i]:t.encode.update[i]};{const t=Pn(i,e.markDef,e.config);return void 0!==t?{...n,[i]:Fn(t)}:n}}),o),o.stroke&&(o.strokeForeground={value:!0},o.strokeOffset={value:0});return[{type:"group",from:{facet:{data:e.requestDataName(sc.Main),name:mp+e.requestDataName(sc.Main),groupby:s,aggregate:{fields:[i({suffix:"start"}),i({suffix:"start"}),i({suffix:"end"}),i({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:o},marks:[{type:"group",encode:{update:a},marks:[t]}]}]}(e)}return pp(e)}const dp="faceted_path_";const mp="stack_group_";function pp(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{fromPrefix:""};const{mark:i,markDef:r,encoding:o,config:a}=e,s=U(r.clip,function(e){const t=e.getScaleComponent("x"),n=e.getScaleComponent("y");return!(!t?.get("selectionExtent")&&!n?.get("selectionExtent"))||void 0}(e),function(e){const t=e.component.projection;return!(!t||t.isFit)||void 0}(e)),l=Cn(r),c=o.key,u=function(e){const{encoding:n,stack:i,mark:r,markDef:o,config:a}=e,s=n.order;if(!(!t.isArray(s)&&Xo(s)&&m(s.value)||!s&&m(Nn("order",o,a)))){if((t.isArray(s)||Ro(s))&&!i)return Tn(s,{expr:"datum"});if(Vr(r)){const i="horizontal"===o.orient?"y":"x",r=n[i];if(Ro(r)){const n=r.sort;return t.isArray(n)?{field:ta(r,{prefix:i,suffix:"sort_index",expr:"datum"})}:zo(n)?{field:ta({aggregate:ja(e.encoding)?n.op:void 0,field:n.field},{expr:"datum"})}:Fo(n)?{field:ta(e.fieldDef(n.encoding),{expr:"datum"}),order:n.order}:null===n?void 0:{field:ta(r,{binSuffix:e.stack?.impute?"mid":void 0,expr:"datum"})}}}}}(e),f=function(e){if(!e.component.selection)return null;const t=D(e.component.selection).length;let n=t,i=e.parent;for(;i&&0===n;)n=D(i.component.selection).length,i=i.parent;return n?{interactive:t>0||"geoshape"===e.mark||!!e.encoding.tooltip||!!e.markDef.tooltip}:null}(e),d=Nn("aria",r,a),p=up[i].postEncodingTransform?up[i].postEncodingTransform(e):null;return[{name:e.getName("marks"),type:up[i].vgMark,...s?{clip:s}:{},...l?{style:l}:{},...c?{key:c.field}:{},...u?{sort:u}:{},...f||{},...!1===d?{aria:d}:{},from:{data:n.fromPrefix+e.requestDataName(sc.Main)},encode:{update:up[i].encodeEntry(e)},...p?{transform:p}:{}}]}class gp extends xm{specifiedScales={};specifiedAxes={};specifiedLegends={};specifiedProjection={};selection=[];children=[];constructor(e,n,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4?arguments[4]:void 0;super(e,"unit",n,i,o,void 0,zs(e)?e.view:void 0);const a=Xr(e.mark)?{...e.mark}:{type:e.mark},s=a.type;void 0===a.filled&&(a.filled=function(e,t,n){let{graticule:i}=n;if(i)return!1;const r=Pn("filled",e,t),o=e.type;return U(r,o!==Mr&&o!==Er&&o!==qr)}(a,o,{graticule:e.data&&ac(e.data)}));const l=this.encoding=function(e,n,i,r){const o={};for(const t of D(e))Ke(t)||yi(`${a=t}-encoding is dropped as ${a} is not a valid encoding channel.`);var a;for(let a of lt){if(!e[a])continue;const s=e[a];if(Pt(a)){const e=st(a),t=o[e];if(Ro(t)&&Ki(t.type)&&Ro(s)&&!t.timeUnit){yi(Kn(e));continue}}if("angle"!==a||"arc"!==n||e.theta||(yi("Arc marks uses theta channel rather than angle, replacing angle with theta."),a=se),Ea(e,a,n)){if(a===ye&&"line"===n){const t=ua(e[a]);if(t?.aggregate){yi("Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.");continue}}if(a===me&&(i?"fill"in e:"stroke"in e))yi(ei("encoding",{fill:"fill"in e,stroke:"stroke"in e}));else if(a===Fe||a===De&&!t.isArray(s)&&!Xo(s)||a===Oe&&t.isArray(s)){if(s){if(a===De){const t=e[a];if(Mo(t)){o[a]=t;continue}}o[a]=t.array(s).reduce(((e,t)=>(Ro(t)?e.push(pa(t,a)):yi(ti(t,a)),e)),[])}}else{if(a===Oe&&null===s)o[a]=null;else if(!(Ro(s)||Bo(s)||Xo(s)||Lo(s)||yn(s))){yi(ti(s,a));continue}o[a]=da(s,a,r)}}else yi(ni(a,n))}return o}(e.encoding||{},s,a.filled,o);this.markDef=Zs(a,l,o),this.size=function(e){let{encoding:t,size:n}=e;for(const e of Ft){const i=rt(e);Fs(n[i])&&Io(t[e])&&(delete n[i],yi(ui(i)))}return n}({encoding:l,size:zs(e)?{...r,...e.width?{width:e.width}:{},...e.height?{height:e.height}:{}}:r}),this.stack=Ks(this.markDef,l),this.specifiedScales=this.initScales(s,l),this.specifiedAxes=this.initAxes(l),this.specifiedLegends=this.initLegends(l),this.specifiedProjection=e.projection,this.selection=(e.params??[]).filter((e=>xs(e)))}get hasProjection(){const{encoding:e}=this,t=this.mark===Hr,n=e&&Me.some((t=>Go(e[t])));return t||n}scaleDomain(e){const t=this.specifiedScales[e];return t?t.domain:void 0}axis(e){return this.specifiedAxes[e]}legend(e){return this.specifiedLegends[e]}initScales(e,t){return It.reduce(((e,n)=>{const i=fa(t[n]);return i&&(e[n]=this.initScale(i.scale??{})),e}),{})}initScale(e){const{domain:n,range:i}=e,r=pn(e);return t.isArray(n)&&(r.domain=n.map(Sn)),t.isArray(i)&&(r.range=i.map(Sn)),r}initAxes(e){return Ft.reduce(((t,n)=>{const i=e[n];if(Go(i)||n===Z&&Go(e.x2)||n===ee&&Go(e.y2)){const e=Go(i)?i.axis:void 0;t[n]=e?this.initAxis({...e}):e}return t}),{})}initAxis(e){const t=D(e),n={};for(const i of t){const t=e[i];n[i]=wa(t)?kn(t):Sn(t)}return n}initLegends(e){return Wt.reduce(((t,n)=>{const i=fa(e[n]);if(i&&function(e){switch(e){case me:case pe:case ge:case ye:case he:case be:case we:case ke:return!0;case xe:case $e:case ve:return!1}}(n)){const e=i.legend;t[n]=e?pn(e):e}return t}),{})}parseData(){this.component.data=Vm(this)}parseLayoutSize(){!function(e){const{size:t,component:n}=e;for(const i of Ft){const r=rt(i);if(t[r]){const e=t[r];n.layoutSize.set(r,Fs(e)?"step":e,!0)}else{const t=Wm(e,r);n.layoutSize.set(r,t,!1)}}}(this)}parseSelections(){this.component.selection=function(e,n){const i={},r=e.config.selection;if(!n||!n.length)return i;for(const o of n){const n=_(o.name),a=o.select,s=t.isString(a)?a:a.type,c=t.isObject(a)?l(a):{type:s},u=r[s];for(const e in u)"fields"!==e&&"encodings"!==e&&("mark"===e&&(c[e]={...u[e],...c[e]}),void 0!==c[e]&&!0!==c[e]||(c[e]=l(u[e]??c[e])));const f=i[n]={...c,name:n,type:s,init:o.value,bind:o.bind,events:t.isString(c.on)?t.parseSelector(c.on,"scope"):t.array(l(c.on))},d=l(o);for(const t of Pu)t.defined(f)&&t.parse&&t.parse(e,f,d)}return i}(this,this.selection)}parseMarkGroup(){this.component.mark=fp(this)}parseAxesAndHeaders(){var e;this.component.axes=(e=this,Ft.reduce(((t,n)=>(e.component.scales[n]&&(t[n]=[np(n,e)]),t)),{}))}assembleSelectionTopLevelSignals(e){return function(e,n){let i=!1;for(const r of F(e.component.selection??{})){const o=r.name,a=t.stringValue(o+Ou);if(0===n.filter((e=>e.name===o)).length){const e="global"===r.resolve?"union":r.resolve,i="point"===r.type?", true, true)":")";n.push({name:r.name,update:`${Nu}(${a}, ${t.stringValue(e)}${i}`})}i=!0;for(const t of Pu)t.defined(r)&&t.topLevelSignals&&(n=t.topLevelSignals(e,r,n))}i&&0===n.filter((e=>"unit"===e.name)).length&&n.unshift({name:"unit",value:{},on:[{events:"pointermove",update:"isTuple(group()) ? group() : unit"}]});return mc(n)}(this,e)}assembleSignals(){return[...Hu(this),...uc(this,[])]}assembleSelectionData(e){return function(e,t){const n=[...t],i=Au(e,{escape:!1});for(const t of F(e.component.selection??{})){const e={name:t.name+Ou};if(t.project.hasSelectionId&&(e.transform=[{type:"collect",sort:{field:hs}}]),t.init){const n=t.project.items.map(lc);e.values=t.project.hasSelectionId?t.init.map((e=>({unit:i,[hs]:cc(e,!1)[0]}))):t.init.map((e=>({unit:i,fields:n,values:cc(e,!1)})))}n.filter((e=>e.name===t.name+Ou)).length||n.push(e)}return n}(this,e)}assembleLayout(){return null}assembleLayoutSignals(){return vf(this)}assembleMarks(){let e=this.component.mark??[];return this.parent&&vm(this.parent)||(e=dc(this,e)),e.map(this.correctDataNames)}assembleGroupStyle(){const{style:e}=this.view||{};return void 0!==e?e:this.encoding.x||this.encoding.y?"cell":"view"}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(e){return Na(this.encoding,e)}fieldDef(e){return ua(this.encoding[e])}typedFieldDef(e){const t=this.fieldDef(e);return Yo(t)?t:null}}class hp extends bm{constructor(e,t,n,i,r){super(e,"layer",t,n,r,e.resolve,e.view);const o={...i,...e.width?{width:e.width}:{},...e.height?{height:e.height}:{}};this.children=e.layer.map(((e,t)=>{if(Hs(e))return new hp(e,this,this.getName(`layer_${t}`),o,r);if(_a(e))return new gp(e,this,this.getName(`layer_${t}`),o,r);throw new Error(qn(e))}))}parseData(){this.component.data=Vm(this);for(const e of this.children)e.parseData()}parseLayoutSize(){var e;Um(e=this),Rm(e,"width"),Rm(e,"height")}parseSelections(){this.component.selection={};for(const e of this.children){e.parseSelections();for(const t of D(e.component.selection))this.component.selection[t]=e.component.selection[t]}}parseMarkGroup(){for(const e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){!function(e){const{axes:t,resolve:n}=e.component,i={top:0,bottom:0,right:0,left:0};for(const i of e.children){i.parseAxesAndHeaders();for(const r of D(i.component.axes))n.axis[r]=Df(e.component.resolve,r),"shared"===n.axis[r]&&(t[r]=Km(t[r],i.component.axes[r]),t[r]||(n.axis[r]="independent",delete t[r]))}for(const r of Ft){for(const o of e.children)if(o.component.axes[r]){if("independent"===n.axis[r]){t[r]=(t[r]??[]).concat(o.component.axes[r]);for(const e of o.component.axes[r]){const{value:t,explicit:n}=e.getWithExplicit("orient");if(!yn(t)){if(i[t]>0&&!n){const n=Jm[t];i[t]>i[n]&&e.set("orient",n,!1)}i[t]++}}}delete o.component.axes[r]}if("independent"===n.axis[r]&&t[r]&&t[r].length>1)for(const[e,n]of(t[r]||[]).entries())e>0&&n.get("grid")&&!n.explicit.grid&&(n.implicit.grid=!1)}}(this)}assembleSelectionTopLevelSignals(e){return this.children.reduce(((e,t)=>t.assembleSelectionTopLevelSignals(e)),e)}assembleSignals(){return this.children.reduce(((e,t)=>e.concat(t.assembleSignals())),Hu(this))}assembleLayoutSignals(){return this.children.reduce(((e,t)=>e.concat(t.assembleLayoutSignals())),vf(this))}assembleSelectionData(e){return this.children.reduce(((e,t)=>t.assembleSelectionData(e)),e)}assembleGroupStyle(){const e=new Set;for(const n of this.children)for(const i of t.array(n.assembleGroupStyle()))e.add(i);const n=Array.from(e);return n.length>1?n:1===n.length?n[0]:void 0}assembleTitle(){let e=super.assembleTitle();if(e)return e;for(const t of this.children)if(e=t.assembleTitle(),e)return e}assembleLayout(){return null}assembleMarks(){return function(e,t){for(const n of e.children)gm(n)&&(t=dc(n,t));return t}(this,this.children.flatMap((e=>e.assembleMarks())))}assembleLegends(){return this.children.reduce(((e,t)=>e.concat(t.assembleLegends())),Wf(this))}}function yp(e,t,n,i,r){if(No(e))return new Im(e,t,n,r);if(Hs(e))return new hp(e,t,n,i,r);if(_a(e))return new gp(e,t,n,i,r);if(function(e){return ks(e)||Ss(e)||ws(e)}(e))return new Gm(e,t,n,r);throw new Error(qn(e))}const vp=n;e.accessPathDepth=q,e.accessPathWithDatum=A,e.compile=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var i;n.logger&&(i=n.logger,hi=i),n.fieldTitle&&oa(n.fieldTitle);try{const i=qs(t.mergeConfig(n.config,e.config)),r=Ul(e,i),o=yp(r,null,"",void 0,i);o.parse(),function(e,t){Pd(e.sources);let n=0,i=0;for(let i=0;i2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;const r=e.config?Bs(e.config):void 0,o=[].concat(e.assembleSelectionData([]),function(e,t){const n=[],i=Tm(n);let r=0;for(const t of e.sources){t.hasName()||(t.dataName="source_"+r++);const e=t.assemble();i(t,e)}for(const e of n)0===e.transform.length&&delete e.transform;let o=0;for(const[e,t]of n.entries())0!==(t.transform??[]).length||t.source||n.splice(o++,0,n.splice(e,1)[0]);for(const t of n)for(const n of t.transform??[])"lookup"===n.type&&(n.from=e.outputNodes[n.from].getSource());for(const e of n)e.name in t&&(e.values=t[e.name]);return n}(e.component.data,n)),a=e.assembleProjections(),s=e.assembleTitle(),l=e.assembleGroupStyle(),c=e.assembleGroupEncodeEntry(!0);let u=e.assembleLayoutSignals();u=u.filter((e=>"width"!==e.name&&"height"!==e.name||void 0===e.value||(t[e.name]=+e.value,!1)));const{params:f,...d}=t;return{$schema:"../../vega.github.io/schema/vega/v5.json",...e.description?{description:e.description}:{},...d,...s?{title:s}:{},...l?{style:l}:{},...c?{encode:{update:c}}:{},data:o,...a.length>0?{projections:a}:{},...e.assembleGroup([...u,...e.assembleSelectionTopLevelSignals([]),...$s(f)]),...r?{config:r}:{},...i?{usermeta:i}:{}}}(o,function(e,n,i,r){const o=r.component.layoutSize.get("width"),a=r.component.layoutSize.get("height");void 0===n?(n={type:"pad"},r.hasAxisOrientSignalRef()&&(n.resize=!0)):t.isString(n)&&(n={type:n});if(o&&a&&(s=n.type,"fit"===s||"fit-x"===s||"fit-y"===s))if("step"===o&&"step"===a)yi(Bn()),n.type="pad";else if("step"===o||"step"===a){const e="step"===o?"width":"height";yi(Bn(Ct(e)));const t="width"===e?"height":"width";n.type=function(e){return e?`fit-${Ct(e)}`:"fit"}(t)}var s;return{...1===D(n).length&&n.type?"pad"===n.type?{}:{autosize:n.type}:{autosize:n},...Vl(i,!1),...Vl(e,!0)}}(e,r.autosize,i,o),e.datasets,e.usermeta);return{spec:a,normalized:r}}finally{n.logger&&(hi=gi),n.fieldTitle&&oa(ia)}},e.contains=p,e.deepEqual=Y,e.deleteNestedProperty=N,e.duplicate=l,e.entries=z,e.every=h,e.fieldIntersection=k,e.flatAccessWithDatum=j,e.getFirstDefined=U,e.hasIntersection=$,e.hash=d,e.internalField=B,e.isBoolean=O,e.isEmpty=S,e.isEqual=function(e,t){const n=D(e),i=D(t);if(n.length!==i.length)return!1;for(const i of n)if(e[i]!==t[i])return!1;return!0},e.isInternalField=I,e.isNullOrFalse=m,e.isNumeric=V,e.keys=D,e.logicalExpr=C,e.mergeDeep=y,e.never=c,e.normalize=Ul,e.normalizeAngle=H,e.omit=f,e.pick=u,e.prefixGenerator=w,e.removePathFromField=L,e.replaceAll=M,e.replacePathInField=E,e.resetIdCounter=function(){R=42},e.setEqual=x,e.some=g,e.stringify=X,e.titleCase=P,e.unique=b,e.uniqueId=W,e.vals=F,e.varName=_,e.version=vp})); +//# sourceMappingURL=vega-lite.min.js.map diff --git a/assets/external/cdn.jsdelivr.net/npm/vega@5.js b/assets/external/cdn.jsdelivr.net/npm/vega@5.js new file mode 100644 index 00000000..90ea68fb --- /dev/null +++ b/assets/external/cdn.jsdelivr.net/npm/vega@5.js @@ -0,0 +1,2 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).vega={})}(this,(function(t){"use strict";function e(t,e,n){return t.fields=e||[],t.fname=n,t}function n(t){return null==t?null:t.fname}function r(t){return null==t?null:t.fields}function i(t){return 1===t.length?o(t[0]):a(t)}const o=t=>function(e){return e[t]},a=t=>{const e=t.length;return function(n){for(let r=0;rr&&c(),u=r=i+1):"]"===o&&(u||s("Access path missing open bracket: "+t),u>0&&c(),u=0,r=i+1):i>r?c():r=i+1}return u&&s("Access path missing closing bracket: "+t),a&&s("Access path missing closing quote: "+t),i>r&&(i++,c()),e}function l(t,n,r){const o=u(t);return t=1===o.length?o[0]:t,e((r&&r.get||i)(o),[t],n||t)}const c=l("id"),f=e((t=>t),[],"identity"),h=e((()=>0),[],"zero"),d=e((()=>1),[],"one"),p=e((()=>!0),[],"true"),g=e((()=>!1),[],"false");function m(t,e,n){const r=[e].concat([].slice.call(n));console[t].apply(console,r)}const y=0,v=1,_=2,x=3,b=4;function w(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:m,r=t||y;return{level(t){return arguments.length?(r=+t,this):r},error(){return r>=v&&n(e||"error","ERROR",arguments),this},warn(){return r>=_&&n(e||"warn","WARN",arguments),this},info(){return r>=x&&n(e||"log","INFO",arguments),this},debug(){return r>=b&&n(e||"log","DEBUG",arguments),this}}}var k=Array.isArray;function A(t){return t===Object(t)}const M=t=>"__proto__"!==t;function E(){for(var t=arguments.length,e=new Array(t),n=0;n{for(const n in e)if("signals"===n)t.signals=C(t.signals,e.signals);else{const r="legend"===n?{layout:1}:"style"===n||null;D(t,n,e[n],r)}return t}),{})}function D(t,e,n,r){if(!M(e))return;let i,o;if(A(n)&&!k(n))for(i in o=A(t[e])?t[e]:t[e]={},n)r&&(!0===r||r[i])?D(o,i,n[i]):M(i)&&(o[i]=n[i]);else t[e]=n}function C(t,e){if(null==t)return e;const n={},r=[];function i(t){n[t.name]||(n[t.name]=1,r.push(t))}return e.forEach(i),t.forEach(i),r}function F(t){return t[t.length-1]}function S(t){return null==t||""===t?null:+t}const $=t=>e=>t*Math.exp(e),T=t=>e=>Math.log(t*e),B=t=>e=>Math.sign(e)*Math.log1p(Math.abs(e/t)),z=t=>e=>Math.sign(e)*Math.expm1(Math.abs(e))*t,N=t=>e=>e<0?-Math.pow(-e,t):Math.pow(e,t);function O(t,e,n,r){const i=n(t[0]),o=n(F(t)),a=(o-i)*e;return[r(i-a),r(o-a)]}function R(t,e){return O(t,e,S,f)}function U(t,e){var n=Math.sign(t[0]);return O(t,e,T(n),$(n))}function L(t,e,n){return O(t,e,N(n),N(1/n))}function q(t,e,n){return O(t,e,B(n),z(n))}function P(t,e,n,r,i){const o=r(t[0]),a=r(F(t)),s=null!=e?r(e):(o+a)/2;return[i(s+(o-s)*n),i(s+(a-s)*n)]}function j(t,e,n){return P(t,e,n,S,f)}function I(t,e,n){const r=Math.sign(t[0]);return P(t,e,n,T(r),$(r))}function W(t,e,n,r){return P(t,e,n,N(r),N(1/r))}function H(t,e,n,r){return P(t,e,n,B(r),z(r))}function Y(t){return 1+~~(new Date(t).getMonth()/3)}function G(t){return 1+~~(new Date(t).getUTCMonth()/3)}function V(t){return null!=t?k(t)?t:[t]:[]}function X(t,e,n){let r,i=t[0],o=t[1];return o=n-e?[e,n]:[i=Math.min(Math.max(i,e),n-r),i+r]}function J(t){return"function"==typeof t}const Z="descending";function Q(t,n,i){i=i||{},n=V(n)||[];const o=[],a=[],s={},u=i.comparator||tt;return V(t).forEach(((t,e)=>{null!=t&&(o.push(n[e]===Z?-1:1),a.push(t=J(t)?t:l(t,null,i)),(r(t)||[]).forEach((t=>s[t]=1)))})),0===a.length?null:e(u(a,o),Object.keys(s))}const K=(t,e)=>(te||null==e)&&null!=t?1:(e=e instanceof Date?+e:e,(t=t instanceof Date?+t:t)!==t&&e==e?-1:e!=e&&t==t?1:0),tt=(t,e)=>1===t.length?et(t[0],e[0]):nt(t,e,t.length),et=(t,e)=>function(n,r){return K(t(n),t(r))*e},nt=(t,e,n)=>(e.push(0),function(r,i){let o,a=0,s=-1;for(;0===a&&++st}function it(t,e){let n;return r=>{n&&clearTimeout(n),n=setTimeout((()=>(e(r),n=null)),t)}}function ot(t){for(let e,n,r=1,i=arguments.length;ro&&(o=r))}else{for(r=e(t[a]);ao&&(o=r))}return[i,o]}function st(t,e){const n=t.length;let r,i,o,a,s,u=-1;if(null==e){for(;++u=i){r=o=i;break}if(u===n)return[-1,-1];for(a=s=u;++ui&&(r=i,a=u),o=i){r=o=i;break}if(u===n)return[-1,-1];for(a=s=u;++ui&&(r=i,a=u),or(t)?n[t]:void 0,set(t,e){return r(t)||(++i.size,n[t]===ct&&--i.empty),n[t]=e,this},delete(t){return r(t)&&(--i.size,++i.empty,n[t]=ct),this},clear(){i.size=i.empty=0,i.object=n={}},test(t){return arguments.length?(e=t,i):e},clean(){const t={};let r=0;for(const i in n){const o=n[i];o===ct||e&&e(o)||(t[i]=o,++r)}i.size=r,i.empty=0,i.object=n=t}};return t&&Object.keys(t).forEach((e=>{i.set(e,t[e])})),i}function ht(t,e,n,r,i,o){if(!n&&0!==n)return o;const a=+n;let s,u=t[0],l=F(t);la&&(i=o,o=a,a=i),r=void 0===r||r,((n=void 0===n||n)?o<=t:ot.replace(/\\(.)/g,"$1"))):V(t));const o=t&&t.length,a=r&&r.get||i,s=t=>a(n?[t]:u(t));let l;if(o)if(1===o){const e=s(t[0]);l=function(t){return""+e(t)}}else{const e=t.map(s);l=function(t){let n=""+e[0](t),r=0;for(;++r{e={},n={},r=0},o=(i,o)=>(++r>t&&(n=e,e={},r=1),e[i]=o);return i(),{clear:i,has:t=>lt(e,t)||lt(n,t),get:t=>lt(e,t)?e[t]:lt(n,t)?o(t,n[t]):void 0,set:(t,n)=>lt(e,t)?e[t]=n:o(t,n)}}function At(t,e,n,r){const i=e.length,o=n.length;if(!o)return e;if(!i)return n;const a=r||new e.constructor(i+o);let s=0,u=0,l=0;for(;s0?n[u++]:e[s++];for(;s=0;)n+=t;return n}function Et(t,e,n,r){const i=n||" ",o=t+"",a=e-o.length;return a<=0?o:"left"===r?Mt(i,a)+o:"center"===r?Mt(i,~~(a/2))+o+Mt(i,Math.ceil(a/2)):o+Mt(i,a)}function Dt(t){return t&&F(t)-t[0]||0}function Ct(t){return k(t)?"["+t.map(Ct)+"]":A(t)||xt(t)?JSON.stringify(t).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):t}function Ft(t){return null==t||""===t?null:!(!t||"false"===t||"0"===t)&&!!t}const St=t=>vt(t)||mt(t)?t:Date.parse(t);function $t(t,e){return e=e||St,null==t||""===t?null:e(t)}function Tt(t){return null==t||""===t?null:t+""}function Bt(t){const e={},n=t.length;for(let r=0;r9999?"+"+It(e,6):It(e,4))+"-"+It(t.getUTCMonth()+1,2)+"-"+It(t.getUTCDate(),2)+(o?"T"+It(n,2)+":"+It(r,2)+":"+It(i,2)+"."+It(o,3)+"Z":i?"T"+It(n,2)+":"+It(r,2)+":"+It(i,2)+"Z":r||n?"T"+It(n,2)+":"+It(r,2)+"Z":"")}function Ht(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var r,i=[],o=t.length,a=0,s=0,u=o<=0,l=!1;function c(){if(u)return Rt;if(l)return l=!1,Ot;var e,r,i=a;if(t.charCodeAt(i)===Ut){for(;a++=o?u=!0:(r=t.charCodeAt(a++))===Lt?l=!0:r===qt&&(l=!0,t.charCodeAt(a)===Lt&&++a),t.slice(i+1,e-1).replace(/""/g,'"')}for(;a1)r=function(t,e,n){var r,i=[],o=[];function a(t){var e=t<0?~t:t;(o[e]||(o[e]=[])).push({i:t,g:r})}function s(t){t.forEach(a)}function u(t){t.forEach(s)}function l(t){t.forEach(u)}function c(t){switch(r=t,t.type){case"GeometryCollection":t.geometries.forEach(c);break;case"LineString":s(t.arcs);break;case"MultiLineString":case"Polygon":u(t.arcs);break;case"MultiPolygon":l(t.arcs)}}return c(e),o.forEach(null==n?function(t){i.push(t[0].i)}:function(t){n(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,n);else for(i=0,r=new Array(o=t.arcs.length);ie?1:t>=e?0:NaN}function te(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}function ee(t){let e,n,r;function i(t,r){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length;if(i>>1;n(t[e],r)<0?i=e+1:o=e}while(iKt(t(e),n),r=(e,n)=>t(e)-n):(e=t===Kt||t===te?t:ne,n=t,r=t),{left:i,center:function(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const o=i(t,e,n,(arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length)-1);return o>n&&r(t[o-1],e)>-r(t[o],e)?o-1:o},right:function(t,r){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length;if(i>>1;n(t[e],r)<=0?i=e+1:o=e}while(i0){for(o=t[--i];i>0&&(e=o,n=t[--i],o=e+n,r=n-(o-e),!r););i>0&&(r<0&&t[i-1]<0||r>0&&t[i-1]>0)&&(n=2*r,e=o+n,n==e-o&&(o=e))}return o}}class ue extends Map{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:de;if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(const[e,n]of t)this.set(e,n)}get(t){return super.get(ce(this,t))}has(t){return super.has(ce(this,t))}set(t,e){return super.set(fe(this,t),e)}delete(t){return super.delete(he(this,t))}}class le extends Set{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:de;if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(const e of t)this.add(e)}has(t){return super.has(ce(this,t))}add(t){return super.add(fe(this,t))}delete(t){return super.delete(he(this,t))}}function ce(t,e){let{_intern:n,_key:r}=t;const i=r(e);return n.has(i)?n.get(i):e}function fe(t,e){let{_intern:n,_key:r}=t;const i=r(e);return n.has(i)?n.get(i):(n.set(i,e),e)}function he(t,e){let{_intern:n,_key:r}=t;const i=r(e);return n.has(i)&&(e=n.get(i),n.delete(i)),e}function de(t){return null!==t&&"object"==typeof t?t.valueOf():t}function pe(t,e){return(null==t||!(t>=t))-(null==e||!(e>=e))||(te?1:0)}const ge=Math.sqrt(50),me=Math.sqrt(10),ye=Math.sqrt(2);function ve(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=ge?10:o>=me?5:o>=ye?2:1;let s,u,l;return i<0?(l=Math.pow(10,-i)/a,s=Math.round(t*l),u=Math.round(e*l),s/le&&--u,l=-l):(l=Math.pow(10,i)*a,s=Math.round(t/l),u=Math.round(e/l),s*le&&--u),u0))return[];if((t=+t)===(e=+e))return[t];const r=e=i))return[];const s=o-i+1,u=new Array(s);if(r)if(a<0)for(let t=0;t=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n=i)&&(n=i)}return n}function ke(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function Ae(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0,i=arguments.length>4?arguments[4]:void 0;if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(i=void 0===i?pe:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Kt;if(t===Kt)return pe;if("function"!=typeof t)throw new TypeError("compare is not a function");return(e,n)=>{const r=t(e,n);return r||0===r?r:(0===t(n,n))-(0===t(e,e))}}(i);r>n;){if(r-n>600){const o=r-n+1,a=e-n+1,s=Math.log(o),u=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*u*(o-u)/o)*(a-o/2<0?-1:1);Ae(t,e,Math.max(n,Math.floor(e-a*u/o+l)),Math.min(r,Math.floor(e+(o-a)*u/o+l)),i)}const o=t[e];let a=n,s=r;for(Me(t,n,e),i(t[r],o)>0&&Me(t,n,r);a0;)--s}0===i(t[n],o)?Me(t,n,s):(++s,Me(t,s,r)),s<=e&&(n=s+1),e<=s&&(r=s-1)}return t}function Me(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function Ee(t,e,n){if(t=Float64Array.from(function*(t,e){if(void 0===e)for(let e of t)null!=e&&(e=+e)>=e&&(yield e);else{let n=-1;for(let r of t)null!=(r=e(r,++n,t))&&(r=+r)>=r&&(yield r)}}(t,n)),(r=t.length)&&!isNaN(e=+e)){if(e<=0||r<2)return ke(t);if(e>=1)return we(t);var r,i=(r-1)*e,o=Math.floor(i),a=we(Ae(t,o).subarray(0,o+1));return a+(ke(t.subarray(o+1))-a)*(i-o)}}function De(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:re;if((r=t.length)&&!isNaN(e=+e)){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,o=Math.floor(i),a=+n(t[o],o,t);return a+(+n(t[o+1],o+1,t)-a)*(i-o)}}function Ce(t,e){return Ee(t,.5,e)}function Fe(t){return Array.from(function*(t){for(const e of t)yield*e}(t))}function Se(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),o=new Array(i);++r1?r[0]+r.slice(2):r,+t.slice(n+1)]}function ze(t){return(t=Be(Math.abs(t)))?t[1]:NaN}var Ne,Oe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Re(t){if(!(e=Oe.exec(t)))throw new Error("invalid format: "+t);var e;return new Ue({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Ue(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Le(t,e){var n=Be(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}Re.prototype=Ue.prototype,Ue.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var qe={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Le(100*t,e),r:Le,s:function(t,e){var n=Be(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(Ne=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Be(t,Math.max(0,e+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Pe(t){return t}var je,Ie,We,He=Array.prototype.map,Ye=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Ge(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?Pe:(e=He.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,o=[],a=0,s=e[0],u=0;i>0&&s>0&&(u+s+1>r&&(s=Math.max(1,r-u)),o.push(t.substring(i-=s,i+s)),!((u+=s+1)>r));)s=e[a=(a+1)%e.length];return o.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",s=void 0===t.numerals?Pe:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(He.call(t.numerals,String)),u=void 0===t.percent?"%":t.percent+"",l=void 0===t.minus?"−":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function f(t){var e=(t=Re(t)).fill,n=t.align,f=t.sign,h=t.symbol,d=t.zero,p=t.width,g=t.comma,m=t.precision,y=t.trim,v=t.type;"n"===v?(g=!0,v="g"):qe[v]||(void 0===m&&(m=12),y=!0,v="g"),(d||"0"===e&&"="===n)&&(d=!0,e="0",n="=");var _="$"===h?i:"#"===h&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",x="$"===h?o:/[%p]/.test(v)?u:"",b=qe[v],w=/[defgprs%]/.test(v);function k(t){var i,o,u,h=_,k=x;if("c"===v)k=b(t)+k,t="";else{var A=(t=+t)<0||1/t<0;if(t=isNaN(t)?c:b(Math.abs(t),m),y&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),A&&0==+t&&"+"!==f&&(A=!1),h=(A?"("===f?f:l:"-"===f||"("===f?"":f)+h,k=("s"===v?Ye[8+Ne/3]:"")+k+(A&&"("===f?")":""),w)for(i=-1,o=t.length;++i(u=t.charCodeAt(i))||u>57){k=(46===u?a+t.slice(i+1):t.slice(i))+k,t=t.slice(0,i);break}}g&&!d&&(t=r(t,1/0));var M=h.length+t.length+k.length,E=M>1)+h+t+k+E.slice(M);break;default:t=E+h+t+k}return s(t)}return m=void 0===m?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),k.toString=function(){return t+""},k}return{format:f,formatPrefix:function(t,e){var n=f(((t=Re(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(ze(e)/3))),i=Math.pow(10,-r),o=Ye[8+r/3];return function(t){return n(i*t)+o}}}}function Ve(t){return Math.max(0,-ze(Math.abs(t)))}function Xe(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(ze(e)/3)))-ze(Math.abs(t)))}function Je(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ze(e)-ze(t))+1}!function(t){je=Ge(t),Ie=je.format,We=je.formatPrefix}({thousands:",",grouping:[3],currency:["$",""]});const Ze=new Date,Qe=new Date;function Ke(t,e,n,r){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=e=>(t(e=new Date(+e)),e),i.ceil=n=>(t(n=new Date(n-1)),e(n,1),t(n),n),i.round=t=>{const e=i(t),n=i.ceil(t);return t-e(e(t=new Date(+t),null==n?1:Math.floor(n)),t),i.range=(n,r,o)=>{const a=[];if(n=i.ceil(n),o=null==o?1:Math.floor(o),!(n0))return a;let s;do{a.push(s=new Date(+n)),e(n,o),t(n)}while(sKe((e=>{if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)}),((t,r)=>{if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););})),n&&(i.count=(e,r)=>(Ze.setTime(+e),Qe.setTime(+r),t(Ze),t(Qe),Math.floor(n(Ze,Qe))),i.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?e=>r(e)%t==0:e=>i.count(0,e)%t==0):i:null)),i}const tn=Ke((()=>{}),((t,e)=>{t.setTime(+t+e)}),((t,e)=>e-t));tn.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?Ke((e=>{e.setTime(Math.floor(e/t)*t)}),((e,n)=>{e.setTime(+e+n*t)}),((e,n)=>(n-e)/t)):tn:null),tn.range;const en=1e3,nn=6e4,rn=36e5,on=864e5,an=6048e5,sn=2592e6,un=31536e6,ln=Ke((t=>{t.setTime(t-t.getMilliseconds())}),((t,e)=>{t.setTime(+t+e*en)}),((t,e)=>(e-t)/en),(t=>t.getUTCSeconds()));ln.range;const cn=Ke((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*en)}),((t,e)=>{t.setTime(+t+e*nn)}),((t,e)=>(e-t)/nn),(t=>t.getMinutes()));cn.range;const fn=Ke((t=>{t.setUTCSeconds(0,0)}),((t,e)=>{t.setTime(+t+e*nn)}),((t,e)=>(e-t)/nn),(t=>t.getUTCMinutes()));fn.range;const hn=Ke((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*en-t.getMinutes()*nn)}),((t,e)=>{t.setTime(+t+e*rn)}),((t,e)=>(e-t)/rn),(t=>t.getHours()));hn.range;const dn=Ke((t=>{t.setUTCMinutes(0,0,0)}),((t,e)=>{t.setTime(+t+e*rn)}),((t,e)=>(e-t)/rn),(t=>t.getUTCHours()));dn.range;const pn=Ke((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*nn)/on),(t=>t.getDate()-1));pn.range;const gn=Ke((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/on),(t=>t.getUTCDate()-1));gn.range;const mn=Ke((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/on),(t=>Math.floor(t/on)));function yn(t){return Ke((e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),((t,e)=>{t.setDate(t.getDate()+7*e)}),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*nn)/an))}mn.range;const vn=yn(0),_n=yn(1),xn=yn(2),bn=yn(3),wn=yn(4),kn=yn(5),An=yn(6);function Mn(t){return Ke((e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)}),((t,e)=>(e-t)/an))}vn.range,_n.range,xn.range,bn.range,wn.range,kn.range,An.range;const En=Mn(0),Dn=Mn(1),Cn=Mn(2),Fn=Mn(3),Sn=Mn(4),$n=Mn(5),Tn=Mn(6);En.range,Dn.range,Cn.range,Fn.range,Sn.range,$n.range,Tn.range;const Bn=Ke((t=>{t.setDate(1),t.setHours(0,0,0,0)}),((t,e)=>{t.setMonth(t.getMonth()+e)}),((t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())),(t=>t.getMonth()));Bn.range;const zn=Ke((t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)}),((t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())),(t=>t.getUTCMonth()));zn.range;const Nn=Ke((t=>{t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,e)=>{t.setFullYear(t.getFullYear()+e)}),((t,e)=>e.getFullYear()-t.getFullYear()),(t=>t.getFullYear()));Nn.every=t=>isFinite(t=Math.floor(t))&&t>0?Ke((e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,n)=>{e.setFullYear(e.getFullYear()+n*t)})):null,Nn.range;const On=Ke((t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)}),((t,e)=>e.getUTCFullYear()-t.getUTCFullYear()),(t=>t.getUTCFullYear()));function Rn(t,e,n,r,i,o){const a=[[ln,1,en],[ln,5,5e3],[ln,15,15e3],[ln,30,3e4],[o,1,nn],[o,5,3e5],[o,15,9e5],[o,30,18e5],[i,1,rn],[i,3,108e5],[i,6,216e5],[i,12,432e5],[r,1,on],[r,2,1728e5],[n,1,an],[e,1,sn],[e,3,7776e6],[t,1,un]];function s(e,n,r){const i=Math.abs(n-e)/r,o=ee((t=>{let[,,e]=t;return e})).right(a,i);if(o===a.length)return t.every(be(e/un,n/un,r));if(0===o)return tn.every(Math.max(be(e,n,r),1));const[s,u]=a[i/a[o-1][2]isFinite(t=Math.floor(t))&&t>0?Ke((e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null,On.range;const[Un,Ln]=Rn(On,zn,En,mn,dn,fn),[qn,Pn]=Rn(Nn,Bn,vn,pn,hn,cn),jn="year",In="quarter",Wn="month",Hn="week",Yn="date",Gn="day",Vn="dayofyear",Xn="hours",Jn="minutes",Zn="seconds",Qn="milliseconds",Kn=[jn,In,Wn,Hn,Yn,Gn,Vn,Xn,Jn,Zn,Qn],tr=Kn.reduce(((t,e,n)=>(t[e]=1+n,t)),{});function er(t){const e=V(t).slice(),n={};e.length||s("Missing time unit."),e.forEach((t=>{lt(tr,t)?n[t]=1:s(`Invalid time unit: ${t}.`)}));return(n[Hn]||n[Gn]?1:0)+(n[In]||n[Wn]||n[Yn]?1:0)+(n[Vn]?1:0)>1&&s(`Incompatible time units: ${t}`),e.sort(((t,e)=>tr[t]-tr[e])),e}const nr={[jn]:"%Y ",[In]:"Q%q ",[Wn]:"%b ",[Yn]:"%d ",[Hn]:"W%U ",[Gn]:"%a ",[Vn]:"%j ",[Xn]:"%H:00",[Jn]:"00:%M",[Zn]:":%S",[Qn]:".%L",[`${jn}-${Wn}`]:"%Y-%m ",[`${jn}-${Wn}-${Yn}`]:"%Y-%m-%d ",[`${Xn}-${Jn}`]:"%H:%M"};function rr(t,e){const n=ot({},nr,e),r=er(t),i=r.length;let o,a,s="",u=0;for(u=0;uu;--o)if(a=r.slice(u,o).join("-"),null!=n[a]){s+=n[a],u=o;break}return s.trim()}const ir=new Date;function or(t){return ir.setFullYear(t),ir.setMonth(0),ir.setDate(1),ir.setHours(0,0,0,0),ir}function ar(t){return ur(new Date(t))}function sr(t){return lr(new Date(t))}function ur(t){return pn.count(or(t.getFullYear())-1,t)}function lr(t){return vn.count(or(t.getFullYear())-1,t)}function cr(t){return or(t).getDay()}function fr(t,e,n,r,i,o,a){if(0<=t&&t<100){const s=new Date(-1,e,n,r,i,o,a);return s.setFullYear(t),s}return new Date(t,e,n,r,i,o,a)}function hr(t){return pr(new Date(t))}function dr(t){return gr(new Date(t))}function pr(t){const e=Date.UTC(t.getUTCFullYear(),0,1);return gn.count(e-1,t)}function gr(t){const e=Date.UTC(t.getUTCFullYear(),0,1);return En.count(e-1,t)}function mr(t){return ir.setTime(Date.UTC(t,0,1)),ir.getUTCDay()}function yr(t,e,n,r,i,o,a){if(0<=t&&t<100){const t=new Date(Date.UTC(-1,e,n,r,i,o,a));return t.setUTCFullYear(n.y),t}return new Date(Date.UTC(t,e,n,r,i,o,a))}function vr(t,e,n,r,i){const o=e||1,a=F(t),s=(t,e,i)=>function(t,e,n,r){const i=n<=1?t:r?(e,i)=>r+n*Math.floor((t(e,i)-r)/n):(e,r)=>n*Math.floor(t(e,r)/n);return e?(t,n)=>e(i(t,n),n):i}(n[i=i||t],r[i],t===a&&o,e),u=new Date,l=Bt(t),c=l[jn]?s(jn):rt(2012),f=l[Wn]?s(Wn):l[In]?s(In):h,p=l[Hn]&&l[Gn]?s(Gn,1,Hn+Gn):l[Hn]?s(Hn,1):l[Gn]?s(Gn,1):l[Yn]?s(Yn,1):l[Vn]?s(Vn,1):d,g=l[Xn]?s(Xn):h,m=l[Jn]?s(Jn):h,y=l[Zn]?s(Zn):h,v=l[Qn]?s(Qn):h;return function(t){u.setTime(+t);const e=c(u);return i(e,f(u),p(u,e),g(u),m(u),y(u),v(u))}}function _r(t,e,n){return e+7*t-(n+6)%7}const xr={[jn]:t=>t.getFullYear(),[In]:t=>Math.floor(t.getMonth()/3),[Wn]:t=>t.getMonth(),[Yn]:t=>t.getDate(),[Xn]:t=>t.getHours(),[Jn]:t=>t.getMinutes(),[Zn]:t=>t.getSeconds(),[Qn]:t=>t.getMilliseconds(),[Vn]:t=>ur(t),[Hn]:t=>lr(t),[Hn+Gn]:(t,e)=>_r(lr(t),t.getDay(),cr(e)),[Gn]:(t,e)=>_r(1,t.getDay(),cr(e))},br={[In]:t=>3*t,[Hn]:(t,e)=>_r(t,0,cr(e))};function wr(t,e){return vr(t,e||1,xr,br,fr)}const kr={[jn]:t=>t.getUTCFullYear(),[In]:t=>Math.floor(t.getUTCMonth()/3),[Wn]:t=>t.getUTCMonth(),[Yn]:t=>t.getUTCDate(),[Xn]:t=>t.getUTCHours(),[Jn]:t=>t.getUTCMinutes(),[Zn]:t=>t.getUTCSeconds(),[Qn]:t=>t.getUTCMilliseconds(),[Vn]:t=>pr(t),[Hn]:t=>gr(t),[Gn]:(t,e)=>_r(1,t.getUTCDay(),mr(e)),[Hn+Gn]:(t,e)=>_r(gr(t),t.getUTCDay(),mr(e))},Ar={[In]:t=>3*t,[Hn]:(t,e)=>_r(t,0,mr(e))};function Mr(t,e){return vr(t,e||1,kr,Ar,yr)}const Er={[jn]:Nn,[In]:Bn.every(3),[Wn]:Bn,[Hn]:vn,[Yn]:pn,[Gn]:pn,[Vn]:pn,[Xn]:hn,[Jn]:cn,[Zn]:ln,[Qn]:tn},Dr={[jn]:On,[In]:zn.every(3),[Wn]:zn,[Hn]:En,[Yn]:gn,[Gn]:gn,[Vn]:gn,[Xn]:dn,[Jn]:fn,[Zn]:ln,[Qn]:tn};function Cr(t){return Er[t]}function Fr(t){return Dr[t]}function Sr(t,e,n){return t?t.offset(e,n):void 0}function $r(t,e,n){return Sr(Cr(t),e,n)}function Tr(t,e,n){return Sr(Fr(t),e,n)}function Br(t,e,n,r){return t?t.range(e,n,r):void 0}function zr(t,e,n,r){return Br(Cr(t),e,n,r)}function Nr(t,e,n,r){return Br(Fr(t),e,n,r)}const Or=1e3,Rr=6e4,Ur=36e5,Lr=864e5,qr=2592e6,Pr=31536e6,jr=[jn,Wn,Yn,Xn,Jn,Zn,Qn],Ir=jr.slice(0,-1),Wr=Ir.slice(0,-1),Hr=Wr.slice(0,-1),Yr=Hr.slice(0,-1),Gr=[jn,Wn],Vr=[jn],Xr=[[Ir,1,Or],[Ir,5,5e3],[Ir,15,15e3],[Ir,30,3e4],[Wr,1,Rr],[Wr,5,3e5],[Wr,15,9e5],[Wr,30,18e5],[Hr,1,Ur],[Hr,3,108e5],[Hr,6,216e5],[Hr,12,432e5],[Yr,1,Lr],[[jn,Hn],1,6048e5],[Gr,1,qr],[Gr,3,7776e6],[Vr,1,Pr]];function Jr(t){const e=t.extent,n=t.maxbins||40,r=Math.abs(Dt(e))/n;let i,o,a=ee((t=>t[2])).right(Xr,r);return a===Xr.length?(i=Vr,o=be(e[0]/Pr,e[1]/Pr,n)):a?(a=Xr[r/Xr[a-1][2]=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:wo,s:ko,S:ji,u:Ii,U:Wi,V:Yi,w:Gi,W:Vi,x:null,X:null,y:Xi,Y:Zi,Z:Ki,"%":bo},x={a:function(t){return a[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return u[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:to,e:to,f:oo,g:yo,G:_o,H:eo,I:no,j:ro,L:io,m:ao,M:so,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:wo,s:ko,S:uo,u:lo,U:co,V:ho,w:po,W:go,x:null,X:null,y:mo,Y:vo,Z:xo,"%":bo},b={a:function(t,e,n){var r=d.exec(e.slice(n));return r?(t.w=p.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=h.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=g.exec(e.slice(n));return r?(t.m=m.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return A(t,e,n,r)},d:Ai,e:Ai,f:Si,g:xi,G:_i,H:Ei,I:Ei,j:Mi,L:Fi,m:ki,M:Di,p:function(t,e,n){var r=l.exec(e.slice(n));return r?(t.p=c.get(r[0].toLowerCase()),n+r[0].length):-1},q:wi,Q:Ti,s:Bi,S:Ci,u:gi,U:mi,V:yi,w:pi,W:vi,x:function(t,e,r){return A(t,n,e,r)},X:function(t,e,n){return A(t,r,e,n)},y:xi,Y:_i,Z:bi,"%":$i};function w(t,e){return function(n){var r,i,o,a=[],s=-1,u=0,l=t.length;for(n instanceof Date||(n=new Date(+n));++s53)return null;"w"in o||(o.w=1),"Z"in o?(i=(r=Qr(Kr(o.y,0,1))).getUTCDay(),r=i>4||0===i?Dn.ceil(r):Dn(r),r=gn.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(i=(r=Zr(Kr(o.y,0,1))).getDay(),r=i>4||0===i?_n.ceil(r):_n(r),r=pn.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?Qr(Kr(o.y,0,1)).getUTCDay():Zr(Kr(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Qr(o)):Zr(o)}}function A(t,e,n,r){for(var i,o,a=0,s=e.length,u=n.length;a=u)return-1;if(37===(i=e.charCodeAt(a++))){if(i=e.charAt(a++),!(o=b[i in ai?e.charAt(a++):i])||(r=o(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return _.x=w(n,_),_.X=w(r,_),_.c=w(e,_),x.x=w(n,x),x.X=w(r,x),x.c=w(e,x),{format:function(t){var e=w(t+="",_);return e.toString=function(){return t},e},parse:function(t){var e=k(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=w(t+="",x);return e.toString=function(){return t},e},utcParse:function(t){var e=k(t+="",!0);return e.toString=function(){return t},e}}}var ei,ni,ri,ii,oi,ai={"-":"",_:" ",0:"0"},si=/^\s*\d+/,ui=/^%/,li=/[\\^$*+?|[\]().{}]/g;function ci(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o[t.toLowerCase(),e])))}function pi(t,e,n){var r=si.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function gi(t,e,n){var r=si.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function mi(t,e,n){var r=si.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function yi(t,e,n){var r=si.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function vi(t,e,n){var r=si.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function _i(t,e,n){var r=si.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function xi(t,e,n){var r=si.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function bi(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function wi(t,e,n){var r=si.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function ki(t,e,n){var r=si.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Ai(t,e,n){var r=si.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Mi(t,e,n){var r=si.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Ei(t,e,n){var r=si.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Di(t,e,n){var r=si.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Ci(t,e,n){var r=si.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Fi(t,e,n){var r=si.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Si(t,e,n){var r=si.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function $i(t,e,n){var r=ui.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Ti(t,e,n){var r=si.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Bi(t,e,n){var r=si.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function zi(t,e){return ci(t.getDate(),e,2)}function Ni(t,e){return ci(t.getHours(),e,2)}function Oi(t,e){return ci(t.getHours()%12||12,e,2)}function Ri(t,e){return ci(1+pn.count(Nn(t),t),e,3)}function Ui(t,e){return ci(t.getMilliseconds(),e,3)}function Li(t,e){return Ui(t,e)+"000"}function qi(t,e){return ci(t.getMonth()+1,e,2)}function Pi(t,e){return ci(t.getMinutes(),e,2)}function ji(t,e){return ci(t.getSeconds(),e,2)}function Ii(t){var e=t.getDay();return 0===e?7:e}function Wi(t,e){return ci(vn.count(Nn(t)-1,t),e,2)}function Hi(t){var e=t.getDay();return e>=4||0===e?wn(t):wn.ceil(t)}function Yi(t,e){return t=Hi(t),ci(wn.count(Nn(t),t)+(4===Nn(t).getDay()),e,2)}function Gi(t){return t.getDay()}function Vi(t,e){return ci(_n.count(Nn(t)-1,t),e,2)}function Xi(t,e){return ci(t.getFullYear()%100,e,2)}function Ji(t,e){return ci((t=Hi(t)).getFullYear()%100,e,2)}function Zi(t,e){return ci(t.getFullYear()%1e4,e,4)}function Qi(t,e){var n=t.getDay();return ci((t=n>=4||0===n?wn(t):wn.ceil(t)).getFullYear()%1e4,e,4)}function Ki(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+ci(e/60|0,"0",2)+ci(e%60,"0",2)}function to(t,e){return ci(t.getUTCDate(),e,2)}function eo(t,e){return ci(t.getUTCHours(),e,2)}function no(t,e){return ci(t.getUTCHours()%12||12,e,2)}function ro(t,e){return ci(1+gn.count(On(t),t),e,3)}function io(t,e){return ci(t.getUTCMilliseconds(),e,3)}function oo(t,e){return io(t,e)+"000"}function ao(t,e){return ci(t.getUTCMonth()+1,e,2)}function so(t,e){return ci(t.getUTCMinutes(),e,2)}function uo(t,e){return ci(t.getUTCSeconds(),e,2)}function lo(t){var e=t.getUTCDay();return 0===e?7:e}function co(t,e){return ci(En.count(On(t)-1,t),e,2)}function fo(t){var e=t.getUTCDay();return e>=4||0===e?Sn(t):Sn.ceil(t)}function ho(t,e){return t=fo(t),ci(Sn.count(On(t),t)+(4===On(t).getUTCDay()),e,2)}function po(t){return t.getUTCDay()}function go(t,e){return ci(Dn.count(On(t)-1,t),e,2)}function mo(t,e){return ci(t.getUTCFullYear()%100,e,2)}function yo(t,e){return ci((t=fo(t)).getUTCFullYear()%100,e,2)}function vo(t,e){return ci(t.getUTCFullYear()%1e4,e,4)}function _o(t,e){var n=t.getUTCDay();return ci((t=n>=4||0===n?Sn(t):Sn.ceil(t)).getUTCFullYear()%1e4,e,4)}function xo(){return"+0000"}function bo(){return"%"}function wo(t){return+t}function ko(t){return Math.floor(+t/1e3)}function Ao(t){const e={};return n=>e[n]||(e[n]=t(n))}function Mo(t){const e=Ao(t.format),n=t.formatPrefix;return{format:e,formatPrefix:n,formatFloat(t){const n=Re(t||",");if(null==n.precision){switch(n.precision=12,n.type){case"%":n.precision-=2;break;case"e":n.precision-=1}return r=e(n),i=e(".1f")(1)[1],t=>{const e=r(t),n=e.indexOf(i);if(n<0)return e;let o=function(t,e){let n,r=t.lastIndexOf("e");if(r>0)return r;for(r=t.length;--r>e;)if(n=t.charCodeAt(r),n>=48&&n<=57)return r+1}(e,n);const a=on;)if("0"!==e[o]){++o;break}return e.slice(0,o)+a}}return e(n);var r,i},formatSpan(t,r,i,o){o=Re(null==o?",f":o);const a=be(t,r,i),s=Math.max(Math.abs(t),Math.abs(r));let u;if(null==o.precision)switch(o.type){case"s":return isNaN(u=Xe(a,s))||(o.precision=u),n(o,s);case"":case"e":case"g":case"p":case"r":isNaN(u=Je(a,s))||(o.precision=u-("e"===o.type));break;case"f":case"%":isNaN(u=Ve(a))||(o.precision=u-2*("%"===o.type))}return e(o)}}}let Eo,Do;function Co(){return Eo=Mo({format:Ie,formatPrefix:We})}function Fo(t){return Mo(Ge(t))}function So(t){return arguments.length?Eo=Fo(t):Eo}function $o(t,e,n){A(n=n||{})||s(`Invalid time multi-format specifier: ${n}`);const r=e(Zn),i=e(Jn),o=e(Xn),a=e(Yn),u=e(Hn),l=e(Wn),c=e(In),f=e(jn),h=t(n[Qn]||".%L"),d=t(n[Zn]||":%S"),p=t(n[Jn]||"%I:%M"),g=t(n[Xn]||"%I %p"),m=t(n[Yn]||n[Gn]||"%a %d"),y=t(n[Hn]||"%b %d"),v=t(n[Wn]||"%B"),_=t(n[In]||"%B"),x=t(n[jn]||"%Y");return t=>(r(t)xt(t)?e(t):$o(e,Cr,t),utcFormat:t=>xt(t)?n(t):$o(n,Fr,t),timeParse:Ao(t.parse),utcParse:Ao(t.utcParse)}}function Bo(){return Do=To({format:ni,parse:ri,utcFormat:ii,utcParse:oi})}function zo(t){return To(ti(t))}function No(t){return arguments.length?Do=zo(t):Do}!function(t){ei=ti(t),ni=ei.format,ri=ei.parse,ii=ei.utcFormat,oi=ei.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),Co(),Bo();const Oo=(t,e)=>ot({},t,e);function Ro(t,e){const n=t?Fo(t):So(),r=e?zo(e):No();return Oo(n,r)}function Uo(t,e){const n=arguments.length;return n&&2!==n&&s("defaultLocale expects either zero or two arguments."),n?Oo(So(t),No(e)):Oo(So(),No())}const Lo=/^(data:|([A-Za-z]+:)?\/\/)/,qo=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,Po=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,jo="file://";async function Io(t,e){const n=await this.sanitize(t,e),r=n.href;return n.localFile?this.file(r):this.http(r,e)}async function Wo(t,e){e=ot({},this.options,e);const n=this.fileAccess,r={href:null};let i,o,a;const u=qo.test(t.replace(Po,""));null!=t&&"string"==typeof t&&u||s("Sanitize failure, invalid URI: "+Ct(t));const l=Lo.test(t);return(a=e.baseURL)&&!l&&(t.startsWith("/")||a.endsWith("/")||(t="/"+t),t=a+t),o=(i=t.startsWith(jo))||"file"===e.mode||"http"!==e.mode&&!l&&n,i?t=t.slice(jo.length):t.startsWith("//")&&("file"===e.defaultProtocol?(t=t.slice(2),o=!0):t=(e.defaultProtocol||"http")+":"+t),Object.defineProperty(r,"localFile",{value:!!o}),r.href=t,e.target&&(r.target=e.target+""),e.rel&&(r.rel=e.rel+""),"image"===e.context&&e.crossOrigin&&(r.crossOrigin=e.crossOrigin+""),r}function Ho(t){return t?e=>new Promise(((n,r)=>{t.readFile(e,((t,e)=>{t?r(t):n(e)}))})):Yo}async function Yo(){s("No file system access.")}function Go(t){return t?async function(e,n){const r=ot({},this.options.http,n),i=n&&n.response,o=await t(e,r);return o.ok?J(o[i])?o[i]():o.text():s(o.status+""+o.statusText)}:Vo}async function Vo(){s("No HTTP fetch method available.")}const Xo=t=>null!=t&&t==t,Jo=t=>!(Number.isNaN(+t)||t instanceof Date),Zo={boolean:Ft,integer:S,number:S,date:$t,string:Tt,unknown:f},Qo=[t=>"true"===t||"false"===t||!0===t||!1===t,t=>Jo(t)&&Number.isInteger(+t),Jo,t=>!Number.isNaN(Date.parse(t))],Ko=["boolean","integer","number","date"];function ta(t,e){if(!t||!t.length)return"unknown";const n=t.length,r=Qo.length,i=Qo.map(((t,e)=>e+1));for(let o,a,s=0,u=0;s0===t?e:t),0)-1]}function ea(t,e){return e.reduce(((e,n)=>(e[n]=ta(t,n),e)),{})}function na(t){const e=function(e,n){const r={delimiter:t};return ra(e,n?ot(n,r):r)};return e.responseType="text",e}function ra(t,e){return e.header&&(t=e.header.map(Ct).join(e.delimiter)+"\n"+t),Ht(e.delimiter).parse(t+"")}function ia(t,e){const n=e&&e.property?l(e.property):f;return!A(t)||(r=t,"function"==typeof Buffer&&J(Buffer.isBuffer)&&Buffer.isBuffer(r))?n(JSON.parse(t)):function(t,e){!k(t)&&yt(t)&&(t=[...t]);return e&&e.copy?JSON.parse(JSON.stringify(t)):t}(n(t),e);var r}ra.responseType="text",ia.responseType="json";const oa={interior:(t,e)=>t!==e,exterior:(t,e)=>t===e};function aa(t,e){let n,r,i,o;return t=ia(t,e),e&&e.feature?(n=Gt,i=e.feature):e&&e.mesh?(n=Zt,i=e.mesh,o=oa[e.filter]):s("Missing TopoJSON feature or mesh parameter."),r=(r=t.objects[i])?n(t,r,o):s("Invalid TopoJSON object: "+i),r&&r.features||[r]}aa.responseType="json";const sa={dsv:ra,csv:na(","),tsv:na("\t"),json:ia,topojson:aa};function ua(t,e){return arguments.length>1?(sa[t]=e,this):lt(sa,t)?sa[t]:null}function la(t){const e=ua(t);return e&&e.responseType||"text"}function ca(t,e,n,r){const i=ua((e=e||{}).type||"json");return i||s("Unknown data format type: "+e.type),t=i(t,e),e.parse&&function(t,e,n,r){if(!t.length)return;const i=No();n=n||i.timeParse,r=r||i.utcParse;let o,a,s,u,l,c,f=t.columns||Object.keys(t[0]);"auto"===e&&(e=ea(t,f));f=Object.keys(e);const h=f.map((t=>{const i=e[t];let o,a;if(i&&(i.startsWith("date:")||i.startsWith("utc:"))){o=i.split(/:(.+)?/,2),a=o[1],("'"===a[0]&&"'"===a[a.length-1]||'"'===a[0]&&'"'===a[a.length-1])&&(a=a.slice(1,-1));return("utc"===o[0]?r:n)(a)}if(!Zo[i])throw Error("Illegal format pattern: "+t+":"+i);return Zo[i]}));for(s=0,l=t.length,c=f.length;s({options:n||{},sanitize:Wo,load:Io,fileAccess:!!e,file:Ho(e),http:Go(t)})}("undefined"!=typeof fetch&&fetch,null);function ha(t){const e=t||f,n=[],r={};return n.add=t=>{const i=e(t);return r[i]||(r[i]=1,n.push(t)),n},n.remove=t=>{const i=e(t);if(r[i]){r[i]=0;const e=n.indexOf(t);e>=0&&n.splice(e,1)}return n},n}async function da(t,e){try{await e(t)}catch(e){t.error(e)}}const pa=Symbol("vega_id");let ga=1;function ma(t){return!(!t||!ya(t))}function ya(t){return t[pa]}function va(t,e){return t[pa]=e,t}function _a(t){const e=t===Object(t)?t:{data:t};return ya(e)?e:va(e,ga++)}function xa(t){return ba(t,_a({}))}function ba(t,e){for(const n in t)e[n]=t[n];return e}function wa(t,e){return va(e,ya(t))}function ka(t,e){return t?e?(n,r)=>t(n,r)||ya(e(n))-ya(e(r)):(e,n)=>t(e,n)||ya(e)-ya(n):null}function Aa(t){return t&&t.constructor===Ma}function Ma(){const t=[],e=[],n=[],r=[],i=[];let o=null,a=!1;return{constructor:Ma,insert(e){const n=V(e),r=n.length;for(let e=0;e{p(t)&&(l[ya(t)]=-1)}));for(f=0,h=t.length;f0&&(y(g,p,d.value),s.modifies(p));for(f=0,h=i.length;f{p(t)&&l[ya(t)]>0&&y(t,d.field,d.value)})),s.modifies(d.field);if(a)s.mod=e.length||r.length?u.filter((t=>l[ya(t)]>0)):u.slice();else for(m in c)s.mod.push(c[m]);return(o||null==o&&(e.length||r.length))&&s.clean(!0),s}}}const Ea="_:mod:_";function Da(){Object.defineProperty(this,Ea,{writable:!0,value:{}})}Da.prototype={set(t,e,n,r){const i=this,o=i[t],a=i[Ea];return null!=e&&e>=0?(o[e]!==n||r)&&(o[e]=n,a[e+":"+t]=-1,a[t]=-1):(o!==n||r)&&(i[t]=n,a[t]=k(n)?1+n.length:-1),i},modified(t,e){const n=this[Ea];if(!arguments.length){for(const t in n)if(n[t])return!0;return!1}if(k(t)){for(let e=0;e=0?e+1{a instanceof Sa?(a!==this&&(e&&a.targets().add(this),o.push(a)),i.push({op:a,name:t,index:n})):r.set(t,n,a)};for(a in t)if(u=t[a],"pulse"===a)V(u).forEach((t=>{t instanceof Sa?t!==this&&(t.targets().add(this),o.push(t)):s("Pulse parameters must be operator instances.")})),this.source=u;else if(k(u))for(r.set(a,-1,Array(l=u.length)),c=0;c{const n=Date.now();return n-e>t?(e=n,1):0}))},debounce(t){const e=za();return this.targets().add(za(null,null,it(t,(t=>{const n=t.dataflow;e.receive(t),n&&n.run&&n.run()})))),e},between(t,e){let n=!1;return t.targets().add(za(null,null,(()=>n=!0))),e.targets().add(za(null,null,(()=>n=!1))),this.filter((()=>n))},detach(){this._filter=p,this._targets=null}};const Na={skip:!0};function Oa(t,e,n,r,i,o){const a=ot({},o,Na);let s,u;J(n)||(n=rt(n)),void 0===r?s=e=>t.touch(n(e)):J(r)?(u=new Sa(null,r,i,!1),s=e=>{u.evaluate(e);const r=n(e),i=u.value;Aa(i)?t.pulse(r,i,o):t.update(r,i,a)}):s=e=>t.update(n(e),r,a),e.apply(s)}function Ra(t,e,n,r,i,o){if(void 0===r)e.targets().add(n);else{const a=o||{},s=new Sa(null,function(t,e){return e=J(e)?e:rt(e),t?function(n,r){const i=e(n,r);return t.skip()||(t.skip(i!==this.value).value=i),i}:e}(n,r),i,!1);s.modified(a.force),s.rank=e.rank,e.targets().add(s),n&&(s.skip(!0),s.value=n.value,s.targets().add(n),t.connect(n,[s]))}}const Ua={};function La(t,e,n){this.dataflow=t,this.stamp=null==e?-1:e,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function qa(t,e){const n=[];return Nt(t,e,(t=>n.push(t))),n}function Pa(t,e){const n={};return t.visit(e,(t=>{n[ya(t)]=1})),t=>n[ya(t)]?null:t}function ja(t,e){return t?(n,r)=>t(n,r)&&e(n,r):e}function Ia(t,e,n,r){const i=this;let o=0;this.dataflow=t,this.stamp=e,this.fields=null,this.encode=r||null,this.pulses=n;for(const t of n)if(t.stamp===e){if(t.fields){const e=i.fields||(i.fields={});for(const n in t.fields)e[n]=1}t.changed(i.ADD)&&(o|=i.ADD),t.changed(i.REM)&&(o|=i.REM),t.changed(i.MOD)&&(o|=i.MOD)}this.changes=o}function Wa(t){return t.error("Dataflow already running. Use runAsync() to chain invocations."),t}La.prototype={StopPropagation:Ua,ADD:1,REM:2,MOD:4,ADD_REM:3,ADD_MOD:5,ALL:7,REFLOW:8,SOURCE:16,NO_SOURCE:32,NO_FIELDS:64,fork(t){return new La(this.dataflow).init(this,t)},clone(){const t=this.fork(7);return t.add=t.add.slice(),t.rem=t.rem.slice(),t.mod=t.mod.slice(),t.source&&(t.source=t.source.slice()),t.materialize(23)},addAll(){let t=this;return!t.source||t.add===t.rem||!t.rem.length&&t.source.length===t.add.length||(t=new La(this.dataflow).init(this),t.add=t.source,t.rem=[]),t},init(t,e){const n=this;return n.stamp=t.stamp,n.encode=t.encode,!t.fields||64&e||(n.fields=t.fields),1&e?(n.addF=t.addF,n.add=t.add):(n.addF=null,n.add=[]),2&e?(n.remF=t.remF,n.rem=t.rem):(n.remF=null,n.rem=[]),4&e?(n.modF=t.modF,n.mod=t.mod):(n.modF=null,n.mod=[]),32&e?(n.srcF=null,n.source=null):(n.srcF=t.srcF,n.source=t.source,t.cleans&&(n.cleans=t.cleans)),n},runAfter(t){this.dataflow.runAfter(t)},changed(t){const e=t||7;return 1&e&&this.add.length||2&e&&this.rem.length||4&e&&this.mod.length},reflow(t){if(t)return this.fork(7).reflow();const e=this.add.length,n=this.source&&this.source.length;return n&&n!==e&&(this.mod=this.source,e&&this.filter(4,Pa(this,1))),this},clean(t){return arguments.length?(this.cleans=!!t,this):this.cleans},modifies(t){const e=this.fields||(this.fields={});return k(t)?t.forEach((t=>e[t]=!0)):e[t]=!0,this},modified(t,e){const n=this.fields;return!(!e&&!this.mod.length||!n)&&(arguments.length?k(t)?t.some((t=>n[t])):n[t]:!!n)},filter(t,e){const n=this;return 1&t&&(n.addF=ja(n.addF,e)),2&t&&(n.remF=ja(n.remF,e)),4&t&&(n.modF=ja(n.modF,e)),16&t&&(n.srcF=ja(n.srcF,e)),n},materialize(t){const e=this;return 1&(t=t||7)&&e.addF&&(e.add=qa(e.add,e.addF),e.addF=null),2&t&&e.remF&&(e.rem=qa(e.rem,e.remF),e.remF=null),4&t&&e.modF&&(e.mod=qa(e.mod,e.modF),e.modF=null),16&t&&e.srcF&&(e.source=e.source.filter(e.srcF),e.srcF=null),e},visit(t,e){const n=this,r=e;if(16&t)return Nt(n.source,n.srcF,r),n;1&t&&Nt(n.add,n.addF,r),2&t&&Nt(n.rem,n.remF,r),4&t&&Nt(n.mod,n.modF,r);const i=n.source;if(8&t&&i){const t=n.add.length+n.mod.length;t===i.length||Nt(i,t?Pa(n,5):n.srcF,r)}return n}},dt(Ia,La,{fork(t){const e=new La(this.dataflow).init(this,t&this.NO_FIELDS);return void 0!==t&&(t&e.ADD&&this.visit(e.ADD,(t=>e.add.push(t))),t&e.REM&&this.visit(e.REM,(t=>e.rem.push(t))),t&e.MOD&&this.visit(e.MOD,(t=>e.mod.push(t)))),e},changed(t){return this.changes&t},modified(t){const e=this,n=e.fields;return n&&e.changes&e.MOD?k(t)?t.some((t=>n[t])):n[t]:0},filter(){s("MultiPulse does not support filtering.")},materialize(){s("MultiPulse does not support materialization.")},visit(t,e){const n=this,r=n.pulses,i=r.length;let o=0;if(t&n.SOURCE)for(;oe=[],size:()=>e.length,peek:()=>e[0],push:n=>(e.push(n),Ga(e,0,e.length-1,t)),pop:()=>{const n=e.pop();let r;return e.length?(r=e[0],e[0]=n,function(t,e,n){const r=e,i=t.length,o=t[e];let a,s=1+(e<<1);for(;s=0&&(s=a),t[e]=t[s],s=1+((e=s)<<1);t[e]=o,Ga(t,r,e,n)}(e,0,t)):r=n,r}}}function Ga(t,e,n,r){let i,o;const a=t[n];for(;n>e&&(o=n-1>>1,i=t[o],r(a,i)<0);)t[n]=i,n=o;return t[n]=a}function Va(){this.logger(w()),this.logLevel(v),this._clock=0,this._rank=0,this._locale=Uo();try{this._loader=fa()}catch(t){}this._touched=ha(c),this._input={},this._pulse=null,this._heap=Ya(((t,e)=>t.qrank-e.qrank)),this._postrun=[]}function Xa(t){return function(){return this._log[t].apply(this,arguments)}}function Ja(t,e){Sa.call(this,t,null,e)}Va.prototype={stamp(){return this._clock},loader(t){return arguments.length?(this._loader=t,this):this._loader},locale(t){return arguments.length?(this._locale=t,this):this._locale},logger(t){return arguments.length?(this._log=t,this):this._log},error:Xa("error"),warn:Xa("warn"),info:Xa("info"),debug:Xa("debug"),logLevel:Xa("level"),cleanThreshold:1e4,add:function(t,e,n,r){let i,o=1;return t instanceof Sa?i=t:t&&t.prototype instanceof Sa?i=new t:J(t)?i=new Sa(null,t):(o=0,i=new Sa(t,e)),this.rank(i),o&&(r=n,n=e),n&&this.connect(i,i.parameters(n,r)),this.touch(i),i},connect:function(t,e){const n=t.rank,r=e.length;for(let i=0;i=0;)e.push(n=r[i]),n===t&&s("Cycle detected in dataflow graph.")},pulse:function(t,e,n){this.touch(t,n||Ha);const r=new La(this,this._clock+(this._pulse?0:1)),i=t.pulse&&t.pulse.source||[];return r.target=t,this._input[t.id]=e.pulse(r,i),this},touch:function(t,e){const n=e||Ha;return this._pulse?this._enqueue(t):this._touched.add(t),n.skip&&t.skip(!0),this},update:function(t,e,n){const r=n||Ha;return(t.set(e)||r.force)&&this.touch(t,r),this},changeset:Ma,ingest:function(t,e,n){return e=this.parse(e,n),this.pulse(t,this.changeset().insert(e))},parse:function(t,e){const n=this.locale();return ca(t,e,n.timeParse,n.utcParse)},preload:async function(t,e,n){const r=this,i=r._pending||function(t){let e;const n=new Promise((t=>e=t));return n.requests=0,n.done=()=>{0==--n.requests&&(t._pending=null,e(t))},t._pending=n}(r);i.requests+=1;const o=await r.request(e,n);return r.pulse(t,r.changeset().remove(p).insert(o.data||[])),i.done(),o},request:async function(t,e){const n=this;let r,i=0;try{r=await n.loader().load(t,{context:"dataflow",response:la(e&&e.type)});try{r=n.parse(r,e)}catch(e){i=-2,n.warn("Data ingestion failed",t,e)}}catch(e){i=-1,n.warn("Loading failed",t,e)}return{data:r,status:i}},events:function(t,e,n,r){const i=this,o=za(n,r),a=function(t){t.dataflow=i;try{o.receive(t)}catch(t){i.error(t)}finally{i.run()}};let s;s="string"==typeof t&&"undefined"!=typeof document?document.querySelectorAll(t):V(t);const u=s.length;for(let t=0;tr._enqueue(t,!0))),r._touched=ha(c);let a,s,u,l=0;try{for(;r._heap.size()>0;)a=r._heap.pop(),a.rank===a.qrank?(s=a.run(r._getPulse(a,t)),s.then?s=await s:s.async&&(i.push(s.async),s=Ua),s!==Ua&&a._targets&&a._targets.forEach((t=>r._enqueue(t))),++l):r._enqueue(a,!0)}catch(t){r._heap.clear(),u=t}if(r._input={},r._pulse=null,r.debug(`Pulse ${o}: ${l} operators`),u&&(r._postrun=[],r.error(u)),r._postrun.length){const t=r._postrun.sort(((t,e)=>e.priority-t.priority));r._postrun=[];for(let e=0;er.runAsync(null,(()=>{t.forEach((t=>{try{t(r)}catch(t){r.error(t)}}))})))),r},run:function(t,e,n){return this._pulse?Wa(this):(this.evaluate(t,e,n),this)},runAsync:async function(t,e,n){for(;this._running;)await this._running;const r=()=>this._running=null;return(this._running=this.evaluate(t,e,n)).then(r,r),this._running},runAfter:function(t,e,n){if(this._pulse||e)this._postrun.push({priority:n||0,callback:t});else try{t(this)}catch(t){this.error(t)}},_enqueue:function(t,e){const n=t.stampt.pulse)),e):this._input[t.id]||function(t,e){if(e&&e.stamp===t.stamp)return e;t=t.fork(),e&&e!==Ua&&(t.source=e.source);return t}(this._pulse,n&&n.pulse)}},dt(Ja,Sa,{run(t){if(t.stampthis.pulse=t)):e!==t.StopPropagation&&(this.pulse=e),e},evaluate(t){const e=this.marshall(t.stamp),n=this.transform(e,t);return e.clear(),n},transform(){}});const Za={};function Qa(t){const e=Ka(t);return e&&e.Definition||null}function Ka(t){return t=t&&t.toLowerCase(),lt(Za,t)?Za[t]:null}function*ts(t,e){if(null==e)for(let e of t)null!=e&&""!==e&&(e=+e)>=e&&(yield e);else{let n=-1;for(let r of t)r=e(r,++n,t),null!=r&&""!==r&&(r=+r)>=r&&(yield r)}}function es(t,e,n){const r=Float64Array.from(ts(t,n));return r.sort(Kt),e.map((t=>De(r,t)))}function ns(t,e){return es(t,[.25,.5,.75],e)}function rs(t,e){const n=t.length,r=function(t,e){const n=function(t,e){let n,r=0,i=0,o=0;if(void 0===e)for(let e of t)null!=e&&(e=+e)>=e&&(n=e-i,i+=n/++r,o+=n*(e-i));else{let a=-1;for(let s of t)null!=(s=e(s,++a,t))&&(s=+s)>=s&&(n=s-i,i+=n/++r,o+=n*(s-i))}if(r>1)return o/(r-1)}(t,e);return n?Math.sqrt(n):n}(t,e),i=ns(t,e),o=(i[2]-i[0])/1.34;return 1.06*(Math.min(r,o)||r||Math.abs(i[0])||1)*Math.pow(n,-.2)}function is(t){const e=t.maxbins||20,n=t.base||10,r=Math.log(n),i=t.divide||[5,2];let o,a,s,u,l,c,f=t.extent[0],h=t.extent[1];const d=t.span||h-f||Math.abs(f)||1;if(t.step)o=t.step;else if(t.steps){for(u=d/e,l=0,c=t.steps.length;le;)o*=n;for(l=0,c=i.length;l=s&&d/u<=e&&(o=u)}u=Math.log(o);const p=u>=0?0:1+~~(-u/r),g=Math.pow(n,-p-1);return(t.nice||void 0===t.nice)&&(u=Math.floor(f/o+g)*o,f=ft);const i=t.length,o=new Float64Array(i);let a,s=0,u=1,l=r(t[0]),c=l,f=l+e;for(;u=f){for(c=(l+c)/2;s>1);ia;)t[i--]=t[o]}o=a,a=r}return t}(o,e+e/4):o}t.random=Math.random;const ss=Math.sqrt(2*Math.PI),us=Math.SQRT2;let ls=NaN;function cs(e,n){e=e||0,n=null==n?1:n;let r,i,o=0,a=0;if(ls==ls)o=ls,ls=NaN;else{do{o=2*t.random()-1,a=2*t.random()-1,r=o*o+a*a}while(0===r||r>1);i=Math.sqrt(-2*Math.log(r)/r),o*=i,ls=a*i}return e+o*n}function fs(t,e,n){const r=(t-(e||0))/(n=null==n?1:n);return Math.exp(-.5*r*r)/(n*ss)}function hs(t,e,n){const r=(t-(e=e||0))/(n=null==n?1:n),i=Math.abs(r);let o;if(i>37)o=0;else{const t=Math.exp(-i*i/2);let e;i<7.07106781186547?(e=.0352624965998911*i+.700383064443688,e=e*i+6.37396220353165,e=e*i+33.912866078383,e=e*i+112.079291497871,e=e*i+221.213596169931,e=e*i+220.206867912376,o=t*e,e=.0883883476483184*i+1.75566716318264,e=e*i+16.064177579207,e=e*i+86.7807322029461,e=e*i+296.564248779674,e=e*i+637.333633378831,e=e*i+793.826512519948,e=e*i+440.413735824752,o/=e):(e=i+.65,e=i+4/e,e=i+3/e,e=i+2/e,e=i+1/e,o=t/e/2.506628274631)}return r>0?1-o:o}function ds(t,e,n){return t<0||t>1?NaN:(e||0)+(null==n?1:n)*us*function(t){let e,n=-Math.log((1-t)*(1+t));n<6.25?(n-=3.125,e=-364441206401782e-35,e=e*n-16850591381820166e-35,e=128584807152564e-32+e*n,e=11157877678025181e-33+e*n,e=e*n-1333171662854621e-31,e=20972767875968562e-33+e*n,e=6637638134358324e-30+e*n,e=e*n-4054566272975207e-29,e=e*n-8151934197605472e-29,e=26335093153082323e-28+e*n,e=e*n-12975133253453532e-27,e=e*n-5415412054294628e-26,e=1.0512122733215323e-9+e*n,e=e*n-4.112633980346984e-9,e=e*n-2.9070369957882005e-8,e=4.2347877827932404e-7+e*n,e=e*n-13654692000834679e-22,e=e*n-13882523362786469e-21,e=.00018673420803405714+e*n,e=e*n-.000740702534166267,e=e*n-.006033670871430149,e=.24015818242558962+e*n,e=1.6536545626831027+e*n):n<16?(n=Math.sqrt(n)-3.25,e=2.2137376921775787e-9,e=9.075656193888539e-8+e*n,e=e*n-2.7517406297064545e-7,e=1.8239629214389228e-8+e*n,e=15027403968909828e-22+e*n,e=e*n-4013867526981546e-21,e=29234449089955446e-22+e*n,e=12475304481671779e-21+e*n,e=e*n-47318229009055734e-21,e=6828485145957318e-20+e*n,e=24031110387097894e-21+e*n,e=e*n-.0003550375203628475,e=.0009532893797373805+e*n,e=e*n-.0016882755560235047,e=.002491442096107851+e*n,e=e*n-.003751208507569241,e=.005370914553590064+e*n,e=1.0052589676941592+e*n,e=3.0838856104922208+e*n):Number.isFinite(n)?(n=Math.sqrt(n)-5,e=-27109920616438573e-27,e=e*n-2.555641816996525e-10,e=1.5076572693500548e-9+e*n,e=e*n-3.789465440126737e-9,e=7.61570120807834e-9+e*n,e=e*n-1.496002662714924e-8,e=2.914795345090108e-8+e*n,e=e*n-6.771199775845234e-8,e=2.2900482228026655e-7+e*n,e=e*n-9.9298272942317e-7,e=4526062597223154e-21+e*n,e=e*n-1968177810553167e-20,e=7599527703001776e-20+e*n,e=e*n-.00021503011930044477,e=e*n-.00013871931833623122,e=1.0103004648645344+e*n,e=4.849906401408584+e*n):e=1/0;return e*t}(2*t-1)}function ps(t,e){let n,r;const i={mean(t){return arguments.length?(n=t||0,i):n},stdev(t){return arguments.length?(r=null==t?1:t,i):r},sample:()=>cs(n,r),pdf:t=>fs(t,n,r),cdf:t=>hs(t,n,r),icdf:t=>ds(t,n,r)};return i.mean(t).stdev(e)}function gs(e,n){const r=ps();let i=0;const o={data(t){return arguments.length?(e=t,i=t?t.length:0,o.bandwidth(n)):e},bandwidth(t){return arguments.length?(!(n=t)&&e&&(n=rs(e)),o):n},sample:()=>e[~~(t.random()*i)]+n*r.sample(),pdf(t){let o=0,a=0;for(;ams(n,r),pdf:t=>ys(t,n,r),cdf:t=>vs(t,n,r),icdf:t=>_s(t,n,r)};return i.mean(t).stdev(e)}function bs(e,n){let r,i=0;const o={weights(t){return arguments.length?(r=function(t){const e=[];let n,r=0;for(n=0;n=e&&t<=n?1/(n-e):0}function As(t,e,n){return null==n&&(n=null==e?1:e,e=0),tn?1:(t-e)/(n-e)}function Ms(t,e,n){return null==n&&(n=null==e?1:e,e=0),t>=0&&t<=1?e+t*(n-e):NaN}function Es(t,e){let n,r;const i={min(t){return arguments.length?(n=t||0,i):n},max(t){return arguments.length?(r=null==t?1:t,i):r},sample:()=>ws(n,r),pdf:t=>ks(t,n,r),cdf:t=>As(t,n,r),icdf:t=>Ms(t,n,r)};return null==e&&(e=null==t?1:t,t=0),i.min(t).max(e)}function Ds(t,e,n){let r=0,i=0;for(const o of t){const t=n(o);null==e(o)||null==t||isNaN(t)||(r+=(t-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function Cs(t,e,n,r){const i=r-t*t,o=Math.abs(i)<1e-24?0:(n-t*e)/i;return[e-o*t,o]}function Fs(t,e,n,r){t=t.filter((t=>{let r=e(t),i=n(t);return null!=r&&(r=+r)>=r&&null!=i&&(i=+i)>=i})),r&&t.sort(((t,n)=>e(t)-e(n)));const i=t.length,o=new Float64Array(i),a=new Float64Array(i);let s,u,l,c=0,f=0,h=0;for(l of t)o[c]=s=+e(l),a[c]=u=+n(l),++c,f+=(s-f)/c,h+=(u-h)/c;for(c=0;c=i&&null!=o&&(o=+o)>=o&&r(i,o,++a)}function $s(t,e,n,r,i){let o=0,a=0;return Ss(t,e,n,((t,e)=>{const n=e-i(t),s=e-r;o+=n*n,a+=s*s})),1-o/a}function Ts(t,e,n){let r=0,i=0,o=0,a=0,s=0;Ss(t,e,n,((t,e)=>{++s,r+=(t-r)/s,i+=(e-i)/s,o+=(t*e-o)/s,a+=(t*t-a)/s}));const u=Cs(r,i,o,a),l=t=>u[0]+u[1]*t;return{coef:u,predict:l,rSquared:$s(t,e,n,i,l)}}function Bs(t,e,n){let r=0,i=0,o=0,a=0,s=0;Ss(t,e,n,((t,e)=>{++s,t=Math.log(t),r+=(t-r)/s,i+=(e-i)/s,o+=(t*e-o)/s,a+=(t*t-a)/s}));const u=Cs(r,i,o,a),l=t=>u[0]+u[1]*Math.log(t);return{coef:u,predict:l,rSquared:$s(t,e,n,i,l)}}function zs(t,e,n){const[r,i,o,a]=Fs(t,e,n);let s,u,l,c=0,f=0,h=0,d=0,p=0;Ss(t,e,n,((t,e)=>{s=r[p++],u=Math.log(e),l=s*e,c+=(e*u-c)/p,f+=(l-f)/p,h+=(l*u-h)/p,d+=(s*l-d)/p}));const[g,m]=Cs(f/a,c/a,h/a,d/a),y=t=>Math.exp(g+m*(t-o));return{coef:[Math.exp(g-m*o),m],predict:y,rSquared:$s(t,e,n,a,y)}}function Ns(t,e,n){let r=0,i=0,o=0,a=0,s=0,u=0;Ss(t,e,n,((t,e)=>{const n=Math.log(t),l=Math.log(e);++u,r+=(n-r)/u,i+=(l-i)/u,o+=(n*l-o)/u,a+=(n*n-a)/u,s+=(e-s)/u}));const l=Cs(r,i,o,a),c=t=>l[0]*Math.pow(t,l[1]);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:$s(t,e,n,s,c)}}function Os(t,e,n){const[r,i,o,a]=Fs(t,e,n),s=r.length;let u,l,c,f,h=0,d=0,p=0,g=0,m=0;for(u=0;u_*(t-=o)*t+x*t+b+a;return{coef:[b-x*o+_*o*o+a,x-2*_*o,_],predict:w,rSquared:$s(t,e,n,a,w)}}function Rs(t,e,n,r){if(0===r)return Ds(t,e,n);if(1===r)return Ts(t,e,n);if(2===r)return Os(t,e,n);const[i,o,a,s]=Fs(t,e,n),u=i.length,l=[],c=[],f=r+1;let h,d,p,g,m;for(h=0;hMath.abs(t[r][a])&&(a=i);for(o=r;o=r;o--)t[o][i]-=t[o][r]*t[r][i]/t[r][r]}for(i=e-1;i>=0;--i){for(s=0,o=i+1;o{t-=a;let e=s+y[0]+y[1]*t+y[2]*t*t;for(h=3;h=0;--o)for(s=e[o],u=1,i[o]+=s,a=1;a<=o;++a)u*=(o+1-a)/a,i[o-a]+=s*Math.pow(n,a)*u;return i[0]+=r,i}function Ls(t,e,n,r){const[i,o,a,s]=Fs(t,e,n,!0),u=i.length,l=Math.max(2,~~(r*u)),c=new Float64Array(u),f=new Float64Array(u),h=new Float64Array(u).fill(1);for(let t=-1;++t<=2;){const e=[0,l-1];for(let t=0;ti[a]-n?r:a;let u=0,l=0,d=0,p=0,g=0;const m=1/Math.abs(i[s]-n||1);for(let t=r;t<=a;++t){const e=i[t],r=o[t],a=qs(Math.abs(n-e)*m)*h[t],s=e*a;u+=a,l+=s,d+=r*a,p+=r*s,g+=e*s}const[y,v]=Cs(l/u,d/u,p/u,g/u);c[t]=y+v*n,f[t]=Math.abs(o[t]-c[t]),Ps(i,t+1,e)}if(2===t)break;const n=Ce(f);if(Math.abs(n)<1e-12)break;for(let t,e,r=0;r=1?1e-12:(e=1-t*t)*e}return function(t,e,n,r){const i=t.length,o=[];let a,s=0,u=0,l=[];for(;s=t.length))for(;e>i&&t[o]-r<=r-t[i];)n[0]=++i,n[1]=o,++o}const js=.5*Math.PI/180;function Is(t,e,n,r){n=n||25,r=Math.max(n,r||200);const i=e=>[e,t(e)],o=e[0],a=e[1],s=a-o,u=s/r,l=[i(o)],c=[];if(n===r){for(let t=1;t0;)c.push(i(o+t/n*s));let f=l[0],h=c[c.length-1];const d=1/s,p=function(t,e){let n=t,r=t;const i=e.length;for(let t=0;tr&&(r=i)}return 1/(r-n)}(f[1],c);for(;h;){const t=i((f[0]+h[0])/2);t[0]-f[0]>=u&&Ws(f,t,h,d,p)>js?c.push(t):(f=h,l.push(h),c.pop()),h=c[c.length-1]}return l}function Ws(t,e,n,r,i){const o=Math.atan2(i*(n[1]-t[1]),r*(n[0]-t[0])),a=Math.atan2(i*(e[1]-t[1]),r*(e[0]-t[0]));return Math.abs(o-a)}function Hs(t){return t&&t.length?1===t.length?t[0]:(e=t,t=>{const n=e.length;let r=1,i=String(e[0](t));for(;r{},Vs={init:Gs,add:Gs,rem:Gs,idx:0},Xs={values:{init:t=>t.cell.store=!0,value:t=>t.cell.data.values(),idx:-1},count:{value:t=>t.cell.num},__count__:{value:t=>t.missing+t.valid},missing:{value:t=>t.missing},valid:{value:t=>t.valid},sum:{init:t=>t.sum=0,value:t=>t.valid?t.sum:void 0,add:(t,e)=>t.sum+=+e,rem:(t,e)=>t.sum-=e},product:{init:t=>t.product=1,value:t=>t.valid?t.product:void 0,add:(t,e)=>t.product*=e,rem:(t,e)=>t.product/=e},mean:{init:t=>t.mean=0,value:t=>t.valid?t.mean:void 0,add:(t,e)=>(t.mean_d=e-t.mean,t.mean+=t.mean_d/t.valid),rem:(t,e)=>(t.mean_d=e-t.mean,t.mean-=t.valid?t.mean_d/t.valid:t.mean)},average:{value:t=>t.valid?t.mean:void 0,req:["mean"],idx:1},variance:{init:t=>t.dev=0,value:t=>t.valid>1?t.dev/(t.valid-1):void 0,add:(t,e)=>t.dev+=t.mean_d*(e-t.mean),rem:(t,e)=>t.dev-=t.mean_d*(e-t.mean),req:["mean"],idx:1},variancep:{value:t=>t.valid>1?t.dev/t.valid:void 0,req:["variance"],idx:2},stdev:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:t=>t.valid>1?Math.sqrt(t.dev/t.valid):void 0,req:["variance"],idx:2},stderr:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid*(t.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:t=>t.cell.data.distinct(t.get),req:["values"],idx:3},ci0:{value:t=>t.cell.data.ci0(t.get),req:["values"],idx:3},ci1:{value:t=>t.cell.data.ci1(t.get),req:["values"],idx:3},median:{value:t=>t.cell.data.q2(t.get),req:["values"],idx:3},q1:{value:t=>t.cell.data.q1(t.get),req:["values"],idx:3},q3:{value:t=>t.cell.data.q3(t.get),req:["values"],idx:3},min:{init:t=>t.min=void 0,value:t=>t.min=Number.isNaN(t.min)?t.cell.data.min(t.get):t.min,add:(t,e)=>{(e{e<=t.min&&(t.min=NaN)},req:["values"],idx:4},max:{init:t=>t.max=void 0,value:t=>t.max=Number.isNaN(t.max)?t.cell.data.max(t.get):t.max,add:(t,e)=>{(e>t.max||void 0===t.max)&&(t.max=e)},rem:(t,e)=>{e>=t.max&&(t.max=NaN)},req:["values"],idx:4},argmin:{init:t=>t.argmin=void 0,value:t=>t.argmin||t.cell.data.argmin(t.get),add:(t,e,n)=>{e{e<=t.min&&(t.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:t=>t.argmax=void 0,value:t=>t.argmax||t.cell.data.argmax(t.get),add:(t,e,n)=>{e>t.max&&(t.argmax=n)},rem:(t,e)=>{e>=t.max&&(t.argmax=void 0)},req:["max","values"],idx:3},exponential:{init:(t,e)=>{t.exp=0,t.exp_r=e},value:t=>t.valid?t.exp*(1-t.exp_r)/(1-t.exp_r**t.valid):void 0,add:(t,e)=>t.exp=t.exp_r*t.exp+e,rem:(t,e)=>t.exp=(t.exp-e/t.exp_r**(t.valid-1))/t.exp_r},exponentialb:{value:t=>t.valid?t.exp*(1-t.exp_r):void 0,req:["exponential"],idx:1}},Js=Object.keys(Xs).filter((t=>"__count__"!==t));function Zs(t,e,n){return Xs[t](n,e)}function Qs(t,e){return t.idx-e.idx}function Ks(){this.valid=0,this.missing=0,this._ops.forEach((t=>null==t.aggregate_param?t.init(this):t.init(this,t.aggregate_param)))}function tu(t,e){null!=t&&""!==t?t==t&&(++this.valid,this._ops.forEach((n=>n.add(this,t,e)))):++this.missing}function eu(t,e){null!=t&&""!==t?t==t&&(--this.valid,this._ops.forEach((n=>n.rem(this,t,e)))):--this.missing}function nu(t){return this._out.forEach((e=>t[e.out]=e.value(this))),t}function ru(t,e){const n=e||f,r=function(t){const e={};t.forEach((t=>e[t.name]=t));const n=t=>{t.req&&t.req.forEach((t=>{e[t]||n(e[t]=Xs[t]())}))};return t.forEach(n),Object.values(e).sort(Qs)}(t),i=t.slice().sort(Qs);function o(t){this._ops=r,this._out=i,this.cell=t,this.init()}return o.prototype.init=Ks,o.prototype.add=tu,o.prototype.rem=eu,o.prototype.set=nu,o.prototype.get=n,o.fields=t.map((t=>t.out)),o}function iu(t){this._key=t?l(t):ya,this.reset()}[...Js,"__count__"].forEach((t=>{Xs[t]=function(t,e){return(n,r)=>ot({name:t,aggregate_param:r,out:n||t},Vs,e)}(t,Xs[t])}));const ou=iu.prototype;function au(t){Ja.call(this,null,t),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}ou.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},ou.add=function(t){this._add.push(t)},ou.rem=function(t){this._rem.push(t)},ou.values=function(){if(this._get=null,0===this._rem.length)return this._add;const t=this._add,e=this._rem,n=this._key,r=t.length,i=e.length,o=Array(r-i),a={};let s,u,l;for(s=0;s=0;)r=t(e[i])+"",lt(n,r)||(n[r]=1,++o);return o},ou.extent=function(t){if(this._get!==t||!this._ext){const e=this.values(),n=st(e,t);this._ext=[e[n[0]],e[n[1]]],this._get=t}return this._ext},ou.argmin=function(t){return this.extent(t)[0]||{}},ou.argmax=function(t){return this.extent(t)[1]||{}},ou.min=function(t){const e=this.extent(t)[0];return null!=e?t(e):void 0},ou.max=function(t){const e=this.extent(t)[1];return null!=e?t(e):void 0},ou.quartile=function(t){return this._get===t&&this._q||(this._q=ns(this.values(),t),this._get=t),this._q},ou.q1=function(t){return this.quartile(t)[0]},ou.q2=function(t){return this.quartile(t)[1]},ou.q3=function(t){return this.quartile(t)[2]},ou.ci=function(t){return this._get===t&&this._ci||(this._ci=os(this.values(),1e3,.05,t),this._get=t),this._ci},ou.ci0=function(t){return this.ci(t)[0]},ou.ci1=function(t){return this.ci(t)[1]},au.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:Js},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]},dt(au,Ja,{transform(t,e){const n=this,r=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=t.modified();return n.stamp=r.stamp,n.value&&(i||e.modified(n._inputs,!0))?(n._prev=n.value,n.value=i?n.init(t):Object.create(null),e.visit(e.SOURCE,(t=>n.add(t)))):(n.value=n.value||n.init(t),e.visit(e.REM,(t=>n.rem(t))),e.visit(e.ADD,(t=>n.add(t)))),r.modifies(n._outputs),n._drop=!1!==t.drop,t.cross&&n._dims.length>1&&(n._drop=!1,n.cross()),e.clean()&&n._drop&&r.clean(!0).runAfter((()=>this.clean())),n.changes(r)},cross(){const t=this,e=t.value,n=t._dnames,r=n.map((()=>({}))),i=n.length;function o(t){let e,o,a,s;for(e in t)for(a=t[e].tuple,o=0;o{const e=n(t);return a(t),i.push(e),e})),this.cellkey=t.key?t.key:Hs(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];const u=t.fields||[null],l=t.ops||["count"],c=t.aggregate_params||[null],f=t.as||[],h=u.length,d={};let p,g,m,y,v,_,x;for(h!==l.length&&s("Unmatched number of fields and aggregate ops."),x=0;xru(t,t.field))),Object.create(null)},cellkey:Hs(),cell(t,e){let n=this.value[t];return n?0===n.num&&this._drop&&n.stampo.push(t),remove:t=>a[r(t)]=++s,size:()=>i.length,data:(t,e)=>(s&&(i=i.filter((t=>!a[r(t)])),a={},s=0),e&&t&&i.sort(t),o.length&&(i=t?At(t,i,o.sort(t)):i.concat(o),o=[]),i)}}function lu(t){Ja.call(this,[],t)}function cu(t){Sa.call(this,null,fu,t)}function fu(t){return this.value&&!t.modified()?this.value:Q(t.fields,t.orders)}function hu(t){Ja.call(this,null,t)}function du(t){Ja.call(this,null,t)}su.Definition={type:"Bin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:!0,default:[5,2]},{name:"extent",type:"number",array:!0,length:2,required:!0},{name:"span",type:"number"},{name:"step",type:"number"},{name:"steps",type:"number",array:!0},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:!0},{name:"name",type:"string"},{name:"as",type:"string",array:!0,length:2,default:["bin0","bin1"]}]},dt(su,Ja,{transform(t,e){const n=!1!==t.interval,i=this._bins(t),o=i.start,a=i.step,s=t.as||["bin0","bin1"],u=s[0],l=s[1];let c;return c=t.modified()?(e=e.reflow(!0)).SOURCE:e.modified(r(t.field))?e.ADD_MOD:e.ADD,e.visit(c,n?t=>{const e=i(t);t[u]=e,t[l]=null==e?null:o+a*(1+(e-o)/a)}:t=>t[u]=i(t)),e.modifies(n?s:u)},_bins(t){if(this.value&&!t.modified())return this.value;const i=t.field,o=is(t),a=o.step;let s,u,l=o.start,c=l+Math.ceil((o.stop-l)/a)*a;null!=(s=t.anchor)&&(u=s-(l+a*Math.floor((s-l)/a)),l+=u,c+=u);const f=function(t){let e=S(i(t));return null==e?null:ec?1/0:(e=Math.max(l,Math.min(e,c-a)),l+a*Math.floor(1e-14+(e-l)/a))};return f.start=l,f.stop=o.stop,f.step=a,this.value=e(f,r(i),t.name||"bin_"+n(i))}}),lu.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},dt(lu,Ja,{transform(t,e){const n=e.fork(e.ALL),r=uu(ya,this.value,n.materialize(n.ADD).add),i=t.sort,o=e.changed()||i&&(t.modified("sort")||e.modified(i.fields));return n.visit(n.REM,r.remove),this.modified(o),this.value=n.source=r.data(ka(i),o),e.source&&e.source.root&&(this.value.root=e.source.root),n}}),dt(cu,Sa),hu.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]},dt(hu,Ja,{transform(t,e){const n=e=>n=>{for(var r,i=function(t,e,n){switch(e){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase()}return t.match(n)}(s(n),t.case,o)||[],u=0,l=i.length;ui[t]=1+(i[t]||0))),c=n((t=>i[t]-=1));return r?e.visit(e.SOURCE,l):(e.visit(e.ADD,l),e.visit(e.REM,c)),this._finish(e,u)},_parameterCheck(t,e){let n=!1;return!t.modified("stopwords")&&this._stop||(this._stop=new RegExp("^"+(t.stopwords||"")+"$","i"),n=!0),!t.modified("pattern")&&this._match||(this._match=new RegExp(t.pattern||"[\\w']+","g"),n=!0),(t.modified("field")||e.modified(t.field.fields))&&(n=!0),n&&(this._counts={}),n},_finish(t,e){const n=this._counts,r=this._tuples||(this._tuples={}),i=e[0],o=e[1],a=t.fork(t.NO_SOURCE|t.NO_FIELDS);let s,u,l;for(s in n)u=r[s],l=n[s]||0,!u&&l?(r[s]=u=_a({}),u[i]=s,u[o]=l,a.add.push(u)):0===l?(u&&a.rem.push(u),n[s]=null,r[s]=null):u[o]!==l&&(u[o]=l,a.mod.push(u));return a.modifies(e)}}),du.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},dt(du,Ja,{transform(t,e){const n=e.fork(e.NO_SOURCE),r=t.as||["a","b"],i=r[0],o=r[1],a=!this.value||e.changed(e.ADD_REM)||t.modified("as")||t.modified("filter");let s=this.value;return a?(s&&(n.rem=s),s=e.materialize(e.SOURCE).source,n.add=this.value=function(t,e,n,r){for(var i,o,a=[],s={},u=t.length,l=0;lmu(t,e)))):typeof r[n]===gu&&r[n](t[n]);return r}function yu(t){Ja.call(this,null,t)}const vu=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"lognormal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}],_u={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:vu},{name:"weights",type:"number",array:!0}]};function xu(t,e){return t?t.map(((t,r)=>e[r]||n(t))):null}function bu(t,e,n){const r=[],i=t=>t(u);let o,a,s,u,l,c;if(null==e)r.push(t.map(n));else for(o={},a=0,s=t.length;at.materialize(t.SOURCE).source}(e)),i=t.steps||t.minsteps||25,o=t.steps||t.maxsteps||200;let a=t.method||"pdf";"pdf"!==a&&"cdf"!==a&&s("Invalid density method: "+a),t.extent||r.data||s("Missing density extent parameter."),a=r[a];const u=t.as||["value","density"],l=Is(a,t.extent||at(r.data()),i,o).map((t=>{const e={};return e[u[0]]=t[0],e[u[1]]=t[1],_a(e)}));this.value&&(n.rem=this.value),this.value=n.add=n.source=l}return n}});function wu(t){Ja.call(this,null,t)}wu.Definition={type:"DotBin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:!1},{name:"as",type:"string",default:"bin"}]};function ku(t){Sa.call(this,null,Au,t),this.modified(!0)}function Au(t){const i=t.expr;return this.value&&!t.modified("expr")?this.value:e((e=>i(e,t)),r(i),n(i))}function Mu(t){Ja.call(this,[void 0,void 0],t)}function Eu(t,e){Sa.call(this,t),this.parent=e,this.count=0}function Du(t){Ja.call(this,{},t),this._keys=ft();const e=this._targets=[];e.active=0,e.forEach=t=>{for(let n=0,r=e.active;nl(t))):l(t.name,t.as)}function Su(t){Ja.call(this,ft(),t)}function $u(t){Ja.call(this,[],t)}function Tu(t){Ja.call(this,[],t)}function Bu(t){Ja.call(this,null,t)}function zu(t){Ja.call(this,[],t)}dt(wu,Ja,{transform(t,e){if(this.value&&!t.modified()&&!e.changed())return e;const n=e.materialize(e.SOURCE).source,r=bu(e.source,t.groupby,f),i=t.smooth||!1,o=t.field,a=t.step||((t,e)=>Dt(at(t,e))/30)(n,o),s=ka(((t,e)=>o(t)-o(e))),u=t.as||"bin",l=r.length;let c,h=1/0,d=-1/0,p=0;for(;pd&&(d=e),t[++c][u]=e}return this.value={start:h,stop:d,step:a},e.reflow(!0).modifies(u)}}),dt(ku,Sa),Mu.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},dt(Mu,Ja,{transform(t,e){const r=this.value,i=t.field,o=e.changed()||e.modified(i.fields)||t.modified("field");let a=r[0],s=r[1];if((o||null==a)&&(a=1/0,s=-1/0),e.visit(o?e.SOURCE:e.ADD,(t=>{const e=S(i(t));null!=e&&(es&&(s=e))})),!Number.isFinite(a)||!Number.isFinite(s)){let t=n(i);t&&(t=` for field "${t}"`),e.dataflow.warn(`Infinite extent${t}: [${a}, ${s}]`),a=s=void 0}this.value=[a,s]}}),dt(Eu,Sa,{connect(t){return this.detachSubflow=t.detachSubflow,this.targets().add(t),t.source=this},add(t){this.count+=1,this.value.add.push(t)},rem(t){this.count-=1,this.value.rem.push(t)},mod(t){this.value.mod.push(t)},init(t){this.value.init(t,t.NO_SOURCE)},evaluate(){return this.value}}),dt(Du,Ja,{activate(t){this._targets[this._targets.active++]=t},subflow(t,e,n,r){const i=this.value;let o,a,s=lt(i,t)&&i[t];return s?s.value.stampt&&t.count>0));this.initTargets(t)}},initTargets(t){const e=this._targets,n=e.length,r=t?t.length:0;let i=0;for(;ithis.subflow(t,i,e);return this._group=t.group||{},this.initTargets(),e.visit(e.REM,(t=>{const e=ya(t),n=o.get(e);void 0!==n&&(o.delete(e),s(n).rem(t))})),e.visit(e.ADD,(t=>{const e=r(t);o.set(ya(t),e),s(e).add(t)})),a||e.modified(r.fields)?e.visit(e.MOD,(t=>{const e=ya(t),n=o.get(e),i=r(t);n===i?s(i).mod(t):(o.set(e,i),s(n).rem(t),s(i).add(t))})):e.changed(e.MOD)&&e.visit(e.MOD,(t=>{s(o.get(ya(t))).mod(t)})),a&&e.visit(e.REFLOW,(t=>{const e=ya(t),n=o.get(e),i=r(t);n!==i&&(o.set(e,i),s(n).rem(t),s(i).add(t))})),e.clean()?n.runAfter((()=>{this.clean(),o.clean()})):o.empty>n.cleanThreshold&&n.runAfter(o.clean),e}}),dt(Cu,Sa),Su.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},dt(Su,Ja,{transform(t,e){const n=e.dataflow,r=this.value,i=e.fork(),o=i.add,a=i.rem,s=i.mod,u=t.expr;let l=!0;function c(e){const n=ya(e),i=u(e,t),c=r.get(n);i&&c?(r.delete(n),o.push(e)):i||c?l&&i&&!c&&s.push(e):(r.set(n,1),a.push(e))}return e.visit(e.REM,(t=>{const e=ya(t);r.has(e)?r.delete(e):a.push(t)})),e.visit(e.ADD,(e=>{u(e,t)?o.push(e):r.set(ya(e),1)})),e.visit(e.MOD,c),t.modified()&&(l=!1,e.visit(e.REFLOW,c)),r.empty>n.cleanThreshold&&n.runAfter(r.clean),i}}),$u.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"index",type:"string"},{name:"as",type:"string",array:!0}]},dt($u,Ja,{transform(t,e){const n=e.fork(e.NO_SOURCE),r=t.fields,i=xu(r,t.as||[]),o=t.index||null,a=i.length;return n.rem=this.value,e.visit(e.SOURCE,(t=>{const e=r.map((e=>e(t))),s=e.reduce(((t,e)=>Math.max(t,e.length)),0);let u,l,c,f=0;for(;f{for(let e,n=0;ne[r]=n(e,t)))}}),dt(zu,Ja,{transform(t,e){const n=e.fork(e.ALL),r=t.generator;let i,o,a,s=this.value,u=t.size-s.length;if(u>0){for(i=[];--u>=0;)i.push(a=_a(r(t))),s.push(a);n.add=n.add.length?n.materialize(n.ADD).add.concat(i):i}else o=s.slice(0,-u),n.rem=n.rem.length?n.materialize(n.REM).rem.concat(o):o,s=s.slice(-u);return n.source=this.value=s,n}});const Nu={value:"value",median:Ce,mean:function(t,e){let n=0,r=0;if(void 0===e)for(let e of t)null!=e&&(e=+e)>=e&&(++n,r+=e);else{let i=-1;for(let o of t)null!=(o=e(o,++i,t))&&(o=+o)>=o&&(++n,r+=o)}if(n)return r/n},min:ke,max:we},Ou=[];function Ru(t){Ja.call(this,[],t)}function Uu(t){au.call(this,t)}function Lu(t){Ja.call(this,null,t)}function qu(t){Sa.call(this,null,Pu,t)}function Pu(t){return this.value&&!t.modified()?this.value:bt(t.fields,t.flat)}function ju(t){Ja.call(this,[],t),this._pending=null}function Iu(t,e,n){n.forEach(_a);const r=e.fork(e.NO_FIELDS&e.NO_SOURCE);return r.rem=t.value,t.value=r.source=r.add=n,t._pending=null,r.rem.length&&r.clean(!0),r}function Wu(t){Ja.call(this,{},t)}function Hu(t){Sa.call(this,null,Yu,t)}function Yu(t){if(this.value&&!t.modified())return this.value;const e=t.extents,n=e.length;let r,i,o=1/0,a=-1/0;for(r=0;ra&&(a=i[1]);return[o,a]}function Gu(t){Sa.call(this,null,Vu,t)}function Vu(t){return this.value&&!t.modified()?this.value:t.values.reduce(((t,e)=>t.concat(e)),[])}function Xu(t){Ja.call(this,null,t)}function Ju(t){au.call(this,t)}function Zu(t){Du.call(this,t)}function Qu(t){Ja.call(this,null,t)}function Ku(t){Ja.call(this,null,t)}function tl(t){Ja.call(this,null,t)}Ru.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]},dt(Ru,Ja,{transform(t,e){var r,i,o,a,u,l,c,f,h,d,p=e.fork(e.ALL),g=function(t){var e,n=t.method||Nu.value;if(null!=Nu[n])return n===Nu.value?(e=void 0!==t.value?t.value:0,()=>e):Nu[n];s("Unrecognized imputation method: "+n)}(t),m=function(t){const e=t.field;return t=>t?e(t):NaN}(t),y=n(t.field),v=n(t.key),_=(t.groupby||[]).map(n),x=function(t,e,n,r){var i,o,a,s,u,l,c,f,h=t=>t(f),d=[],p=r?r.slice():[],g={},m={};for(p.forEach(((t,e)=>g[t]=e+1)),s=0,c=t.length;sn.add(t)))):(i=n.value=n.value||this.init(t),e.visit(e.REM,(t=>n.rem(t))),e.visit(e.ADD,(t=>n.add(t)))),n.changes(),e.visit(e.SOURCE,(t=>{ot(t,i[n.cellkey(t)].tuple)})),e.reflow(r).modifies(this._outputs)},changes(){const t=this._adds,e=this._mods;let n,r;for(n=0,r=this._alen;n{const n=gs(e,u)[l],r=t.counts?e.length:1;Is(n,h||at(e),d,p).forEach((t=>{const n={};for(let t=0;t(this._pending=V(t.data),t=>t.touch(this))));return{async:e}}return n.request(t.url,t.format).then((t=>Iu(this,e,V(t.data))))}}),Wu.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},dt(Wu,Ja,{transform(t,e){const r=t.fields,i=t.index,o=t.values,a=null==t.default?null:t.default,u=t.modified(),l=r.length;let c,f,h,d=u?e.SOURCE:e.ADD,p=e,g=t.as;return o?(f=o.length,l>1&&!g&&s('Multi-field lookup requires explicit "as" parameter.'),g&&g.length!==l*f&&s('The "as" parameter has too few output field names.'),g=g||o.map(n),c=function(t){for(var e,n,s=0,u=0;se.modified(t.fields))),d|=h?e.MOD:0),e.visit(d,c),p.modifies(g)}}),dt(Hu,Sa),dt(Gu,Sa),dt(Xu,Ja,{transform(t,e){return this.modified(t.modified()),this.value=t,e.fork(e.NO_SOURCE|e.NO_FIELDS)}}),Ju.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:Js,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},dt(Ju,au,{_transform:au.prototype.transform,transform(t,n){return this._transform(function(t,n){const i=t.field,o=t.value,a=("count"===t.op?"__count__":t.op)||"sum",s=r(i).concat(r(o)),u=function(t,e,n){const r={},i=[];return n.visit(n.SOURCE,(e=>{const n=t(e);r[n]||(r[n]=1,i.push(n))})),i.sort(K),e?i.slice(0,e):i}(i,t.limit||0,n);n.changed()&&t.set("__pivot__",null,null,!0);return{key:t.key,groupby:t.groupby,ops:u.map((()=>a)),fields:u.map((t=>function(t,n,r,i){return e((e=>n(e)===t?r(e):NaN),i,t+"")}(t,i,o,s))),as:u.map((t=>t+"")),modified:t.modified.bind(t)}}(t,n),n)}}),dt(Zu,Du,{transform(t,e){const n=t.subflow,i=t.field,o=t=>this.subflow(ya(t),n,e,t);return(t.modified("field")||i&&e.modified(r(i)))&&s("PreFacet does not support field modification."),this.initTargets(),i?(e.visit(e.MOD,(t=>{const e=o(t);i(t).forEach((t=>e.mod(t)))})),e.visit(e.ADD,(t=>{const e=o(t);i(t).forEach((t=>e.add(_a(t))))})),e.visit(e.REM,(t=>{const e=o(t);i(t).forEach((t=>e.rem(t)))}))):(e.visit(e.MOD,(t=>o(t).mod(t))),e.visit(e.ADD,(t=>o(t).add(t))),e.visit(e.REM,(t=>o(t).rem(t)))),e.clean()&&e.runAfter((()=>this.clean())),e}}),Qu.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},dt(Qu,Ja,{transform(t,e){const n=e.fork(e.NO_SOURCE),r=t.fields,i=xu(t.fields,t.as||[]),o=r?(t,e)=>function(t,e,n,r){for(let i=0,o=n.length;i{const e=ya(t);n.rem.push(a[e]),a[e]=null})),e.visit(e.ADD,(t=>{const e=o(t,_a({}));a[ya(t)]=e,n.add.push(e)})),e.visit(e.MOD,(t=>{n.mod.push(o(t,a[ya(t)]))})),n}}),dt(Ku,Ja,{transform(t,e){return this.value=t.value,t.modified("value")?e.fork(e.NO_SOURCE|e.NO_FIELDS):e.StopPropagation}}),tl.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]};function el(t){Ja.call(this,null,t)}function nl(t){Ja.call(this,[],t),this.count=0}function rl(t){Ja.call(this,null,t)}function il(t){Ja.call(this,null,t),this.modified(!0)}function ol(t){Ja.call(this,null,t)}dt(tl,Ja,{transform(t,e){const r=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=t.as||["prob","value"];if(this.value&&!t.modified()&&!e.changed())return r.source=this.value,r;const o=bu(e.materialize(e.SOURCE).source,t.groupby,t.field),a=(t.groupby||[]).map(n),s=[],u=t.step||.01,l=t.probs||Se(u/2,1-1e-14,u),c=l.length;return o.forEach((t=>{const e=es(t,l);for(let n=0;n{const e=ya(t);n.rem.push(r[e]),r[e]=null})),e.visit(e.ADD,(t=>{const e=xa(t);r[ya(t)]=e,n.add.push(e)})),e.visit(e.MOD,(t=>{const e=r[ya(t)];for(const r in t)e[r]=t[r],n.modifies(r);n.mod.push(e)}))),n}}),nl.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},dt(nl,Ja,{transform(e,n){const r=n.fork(n.NO_SOURCE),i=e.modified("size"),o=e.size,a=this.value.reduce(((t,e)=>(t[ya(e)]=1,t)),{});let s=this.value,u=this.count,l=0;function c(e){let n,i;s.length=l&&(n=s[i],a[ya(n)]&&r.rem.push(n),s[i]=e)),++u}if(n.rem.length&&(n.visit(n.REM,(t=>{const e=ya(t);a[e]&&(a[e]=-1,r.rem.push(t)),--u})),s=s.filter((t=>-1!==a[ya(t)]))),(n.rem.length||i)&&s.length{a[ya(t)]||c(t)})),l=-1),i&&s.length>o){const t=s.length-o;for(let e=0;e{a[ya(t)]&&r.mod.push(t)})),n.add.length&&n.visit(n.ADD,c),(n.add.length||l<0)&&(r.add=s.filter((t=>!a[ya(t)]))),this.count=u,this.value=r.source=s,r}}),rl.Definition={type:"Sequence",metadata:{generates:!0,changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]},dt(rl,Ja,{transform(t,e){if(this.value&&!t.modified())return;const n=e.materialize().fork(e.MOD),r=t.as||"data";return n.rem=this.value?e.rem.concat(this.value):e.rem,this.value=Se(t.start,t.stop,t.step||1).map((t=>{const e={};return e[r]=t,_a(e)})),n.add=e.add.concat(this.value),n}}),dt(il,Ja,{transform(t,e){return this.value=e.source,e.changed()?e.fork(e.NO_SOURCE|e.NO_FIELDS):e.StopPropagation}});const al=["unit0","unit1"];function sl(t){Ja.call(this,ft(),t)}function ul(t){Ja.call(this,null,t)}ol.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:Kn,array:!0},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:!0},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:!0,length:2,default:al}]},dt(ol,Ja,{transform(t,e){const n=t.field,i=!1!==t.interval,o="utc"===t.timezone,a=this._floor(t,e),s=(o?Fr:Cr)(a.unit).offset,u=t.as||al,l=u[0],c=u[1],f=a.step;let h=a.start||1/0,d=a.stop||-1/0,p=e.ADD;return(t.modified()||e.changed(e.REM)||e.modified(r(n)))&&(p=(e=e.reflow(!0)).SOURCE,h=1/0,d=-1/0),e.visit(p,(t=>{const e=n(t);let r,o;null==e?(t[l]=null,i&&(t[c]=null)):(t[l]=r=o=a(e),i&&(t[c]=o=s(r,f)),rd&&(d=o))})),a.start=h,a.stop=d,e.modifies(i?u:l)},_floor(t,e){const n="utc"===t.timezone,{units:r,step:i}=t.units?{units:t.units,step:t.step||1}:Jr({extent:t.extent||at(e.materialize(e.SOURCE).source,t.field),maxbins:t.maxbins}),o=er(r),a=this.value||{},s=(n?Mr:wr)(o,i);return s.unit=F(o),s.units=o,s.step=i,s.start=a.start,s.stop=a.stop,this.value=s}}),dt(sl,Ja,{transform(t,e){const n=e.dataflow,r=t.field,i=this.value,o=t=>i.set(r(t),t);let a=!0;return t.modified("field")||e.modified(r.fields)?(i.clear(),e.visit(e.SOURCE,o)):e.changed()?(e.visit(e.REM,(t=>i.delete(r(t)))),e.visit(e.ADD,o)):a=!1,this.modified(a),i.empty>n.cleanThreshold&&n.runAfter(i.clean),e.fork()}}),dt(ul,Ja,{transform(t,e){(!this.value||t.modified("field")||t.modified("sort")||e.changed()||t.sort&&e.modified(t.sort.fields))&&(this.value=(t.sort?e.source.slice().sort(ka(t.sort)):e.source).map(t.field))}});const ll={row_number:function(){return{next:t=>t.index+1}},rank:function(){let t;return{init:()=>t=1,next:e=>{const n=e.index,r=e.data;return n&&e.compare(r[n-1],r[n])?t=n+1:t}}},dense_rank:function(){let t;return{init:()=>t=1,next:e=>{const n=e.index,r=e.data;return n&&e.compare(r[n-1],r[n])?++t:t}}},percent_rank:function(){const t=ll.rank(),e=t.next;return{init:t.init,next:t=>(e(t)-1)/(t.data.length-1)}},cume_dist:function(){let t;return{init:()=>t=0,next:e=>{const n=e.data,r=e.compare;let i=e.index;if(t0||s("ntile num must be greater than zero.");const n=ll.cume_dist(),r=n.next;return{init:n.init,next:t=>Math.ceil(e*r(t))}},lag:function(t,e){return e=+e||1,{next:n=>{const r=n.index-e;return r>=0?t(n.data[r]):null}}},lead:function(t,e){return e=+e||1,{next:n=>{const r=n.index+e,i=n.data;return rt(e.data[e.i0])}},last_value:function(t){return{next:e=>t(e.data[e.i1-1])}},nth_value:function(t,e){return(e=+e)>0||s("nth_value nth must be greater than zero."),{next:n=>{const r=n.i0+(e-1);return re=null,next:n=>{const r=t(n.data[n.index]);return null!=r?e=r:e}}},next_value:function(t){let e,n;return{init:()=>(e=null,n=-1),next:r=>{const i=r.data;return r.index<=n?e:(n=function(t,e,n){for(let r=e.length;nf[t]=1))}y(t.sort),e.forEach(((t,e)=>{const r=i[e],f=o[e],v=a[e]||null,_=n(r),x=Ys(t,_,u[e]);if(y(r),l.push(x),lt(ll,t))c.push(function(t,e,n,r){const i=ll[t](e,n);return{init:i.init||h,update:function(t,e){e[r]=i.next(t)}}}(t,r,f,x));else{if(null==r&&"count"!==t&&s("Null aggregate field specified."),"count"===t)return void p.push(x);m=!1;let e=d[_];e||(e=d[_]=[],e.field=r,g.push(e)),e.push(Zs(t,v,x))}})),(p.length||g.length)&&(this.cell=function(t,e,n){t=t.map((t=>ru(t,t.field)));const r={num:0,agg:null,store:!1,count:e};if(!n)for(var i=t.length,o=r.agg=Array(i),a=0;a0&&!i(o[n],o[n-1])&&(t.i0=e.left(o,o[n])),rt.init())),this.cell&&this.cell.init()},hl.update=function(t,e){const n=this.cell,r=this.windows,i=t.data,o=r&&r.length;let a;if(n){for(a=t.p0;athis.group(i(t));let a=this.state;a&&!n||(a=this.state=new fl(t)),n||e.modified(a.inputs)?(this.value={},e.visit(e.SOURCE,(t=>o(t).add(t)))):(e.visit(e.REM,(t=>o(t).remove(t))),e.visit(e.ADD,(t=>o(t).add(t))));for(let e=0,n=this._mlen;e=1?Cl:t<=-1?-Cl:Math.asin(t)}const $l=Math.PI,Tl=2*$l,Bl=1e-6,zl=Tl-Bl;function Nl(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Nl;const n=10**e;return function(t){this._+=t[0];for(let e=1,r=t.length;eBl)if(Math.abs(c*s-u*l)>Bl&&i){let h=n-o,d=r-a,p=s*s+u*u,g=h*h+d*d,m=Math.sqrt(p),y=Math.sqrt(f),v=i*Math.tan(($l-Math.acos((p+f-g)/(2*m*y)))/2),_=v/y,x=v/m;Math.abs(_-1)>Bl&&this._append`L${t+_*l},${e+_*c}`,this._append`A${i},${i},0,0,${+(c*h>l*d)},${this._x1=t+x*s},${this._y1=e+x*u}`}else this._append`L${this._x1=t},${this._y1=e}`;else;}arc(t,e,n,r,i,o){if(t=+t,e=+e,o=!!o,(n=+n)<0)throw new Error(`negative radius: ${n}`);let a=n*Math.cos(r),s=n*Math.sin(r),u=t+a,l=e+s,c=1^o,f=o?r-i:i-r;null===this._x1?this._append`M${u},${l}`:(Math.abs(this._x1-u)>Bl||Math.abs(this._y1-l)>Bl)&&this._append`L${u},${l}`,n&&(f<0&&(f=f%Tl+Tl),f>zl?this._append`A${n},${n},0,1,${c},${t-a},${e-s}A${n},${n},0,1,${c},${this._x1=u},${this._y1=l}`:f>Bl&&this._append`A${n},${n},0,${+(f>=$l)},${c},${this._x1=t+n*Math.cos(i)},${this._y1=e+n*Math.sin(i)}`)}rect(t,e,n,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};function Rl(){return new Ol}function Ul(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(null==n)e=null;else{const t=Math.floor(n);if(!(t>=0))throw new RangeError(`invalid digits: ${n}`);e=t}return t},()=>new Ol(e)}function Ll(t){return t.innerRadius}function ql(t){return t.outerRadius}function Pl(t){return t.startAngle}function jl(t){return t.endAngle}function Il(t){return t&&t.padAngle}function Wl(t,e,n,r,i,o,a){var s=t-n,u=e-r,l=(a?o:-o)/Ml(s*s+u*u),c=l*u,f=-l*s,h=t+c,d=e+f,p=n+c,g=r+f,m=(h+p)/2,y=(d+g)/2,v=p-h,_=g-d,x=v*v+_*_,b=i-o,w=h*g-p*d,k=(_<0?-1:1)*Ml(wl(0,b*b*x-w*w)),A=(w*_-v*k)/x,M=(-w*v-_*k)/x,E=(w*_+v*k)/x,D=(-w*v+_*k)/x,C=A-m,F=M-y,S=E-m,$=D-y;return C*C+F*F>S*S+$*$&&(A=E,M=D),{cx:A,cy:M,x01:-c,y01:-f,x11:A*(i/b-1),y11:M*(i/b-1)}}function Hl(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function Yl(t){this._context=t}function Gl(t){return new Yl(t)}function Vl(t){return t[0]}function Xl(t){return t[1]}function Jl(t,e){var n=vl(!0),r=null,i=Gl,o=null,a=Ul(s);function s(s){var u,l,c,f=(s=Hl(s)).length,h=!1;for(null==r&&(o=i(c=a())),u=0;u<=f;++u)!(u=f;--h)s.point(y[h],v[h]);s.lineEnd(),s.areaEnd()}m&&(y[c]=+t(d,c,l),v[c]=+e(d,c,l),s.point(r?+r(d,c,l):y[c],n?+n(d,c,l):v[c]))}if(p)return s=null,p+""||null}function c(){return Jl().defined(i).curve(a).context(o)}return t="function"==typeof t?t:void 0===t?Vl:vl(+t),e="function"==typeof e?e:vl(void 0===e?0:+e),n="function"==typeof n?n:void 0===n?Xl:vl(+n),l.x=function(e){return arguments.length?(t="function"==typeof e?e:vl(+e),r=null,l):t},l.x0=function(e){return arguments.length?(t="function"==typeof e?e:vl(+e),l):t},l.x1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:vl(+t),l):r},l.y=function(t){return arguments.length?(e="function"==typeof t?t:vl(+t),n=null,l):e},l.y0=function(t){return arguments.length?(e="function"==typeof t?t:vl(+t),l):e},l.y1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:vl(+t),l):n},l.lineX0=l.lineY0=function(){return c().x(t).y(e)},l.lineY1=function(){return c().x(t).y(n)},l.lineX1=function(){return c().x(r).y(e)},l.defined=function(t){return arguments.length?(i="function"==typeof t?t:vl(!!t),l):i},l.curve=function(t){return arguments.length?(a=t,null!=o&&(s=a(o)),l):a},l.context=function(t){return arguments.length?(null==t?o=s=null:s=a(o=t),l):o},l}Rl.prototype=Ol.prototype,Yl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var Ql={draw(t,e){const n=Ml(e/Dl);t.moveTo(n,0),t.arc(0,0,n,0,Fl)}};function Kl(){}function tc(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function ec(t){this._context=t}function nc(t){this._context=t}function rc(t){this._context=t}function ic(t,e){this._basis=new ec(t),this._beta=e}ec.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:tc(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:tc(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},nc.prototype={areaStart:Kl,areaEnd:Kl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:tc(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},rc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:tc(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ic.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],o=e[0],a=t[n]-i,s=e[n]-o,u=-1;++u<=n;)r=u/n,this._basis.point(this._beta*t[u]+(1-this._beta)*(i+r*a),this._beta*e[u]+(1-this._beta)*(o+r*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var oc=function t(e){function n(t){return 1===e?new ec(t):new ic(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function ac(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function sc(t,e){this._context=t,this._k=(1-e)/6}sc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:ac(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:ac(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var uc=function t(e){function n(t){return new sc(t,e)}return n.tension=function(e){return t(+e)},n}(0);function lc(t,e){this._context=t,this._k=(1-e)/6}lc.prototype={areaStart:Kl,areaEnd:Kl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:ac(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var cc=function t(e){function n(t){return new lc(t,e)}return n.tension=function(e){return t(+e)},n}(0);function fc(t,e){this._context=t,this._k=(1-e)/6}fc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:ac(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var hc=function t(e){function n(t){return new fc(t,e)}return n.tension=function(e){return t(+e)},n}(0);function dc(t,e,n){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>El){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>El){var l=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*l+t._x1*t._l23_2a-e*t._l12_2a)/c,a=(a*l+t._y1*t._l23_2a-n*t._l12_2a)/c}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function pc(t,e){this._context=t,this._alpha=e}pc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:dc(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var gc=function t(e){function n(t){return e?new pc(t,e):new sc(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function mc(t,e){this._context=t,this._alpha=e}mc.prototype={areaStart:Kl,areaEnd:Kl,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:dc(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var yc=function t(e){function n(t){return e?new mc(t,e):new lc(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function vc(t,e){this._context=t,this._alpha=e}vc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:dc(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var _c=function t(e){function n(t){return e?new vc(t,e):new fc(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function xc(t){this._context=t}function bc(t){return t<0?-1:1}function wc(t,e,n){var r=t._x1-t._x0,i=e-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(n-t._y1)/(i||r<0&&-0),s=(o*i+a*r)/(r+i);return(bc(o)+bc(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function kc(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Ac(t,e,n){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,s=(o-r)/3;t._context.bezierCurveTo(r+s,i+s*e,o-s,a-s*n,o,a)}function Mc(t){this._context=t}function Ec(t){this._context=new Dc(t)}function Dc(t){this._context=t}function Cc(t){this._context=t}function Fc(t){var e,n,r=t.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(a[e]-i[e+1])/o[e];for(o[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};const Tc=()=>"undefined"!=typeof Image?Image:null;function Bc(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}function zc(t,e){switch(arguments.length){case 0:break;case 1:"function"==typeof t?this.interpolator(t):this.range(t);break;default:this.domain(t),"function"==typeof e?this.interpolator(e):this.range(e)}return this}const Nc=Symbol("implicit");function Oc(){var t=new ue,e=[],n=[],r=Nc;function i(i){let o=t.get(i);if(void 0===o){if(r!==Nc)return r;t.set(i,o=e.push(i)-1)}return n[o%n.length]}return i.domain=function(n){if(!arguments.length)return e.slice();e=[],t=new ue;for(const r of n)t.has(r)||t.set(r,e.push(r)-1);return i},i.range=function(t){return arguments.length?(n=Array.from(t),i):n.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return Oc(e,n).unknown(r)},Bc.apply(i,arguments),i}function Rc(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Uc(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Lc(){}var qc=.7,Pc=1/qc,jc="\\s*([+-]?\\d+)\\s*",Ic="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Wc="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Hc=/^#([0-9a-f]{3,8})$/,Yc=new RegExp(`^rgb\\(${jc},${jc},${jc}\\)$`),Gc=new RegExp(`^rgb\\(${Wc},${Wc},${Wc}\\)$`),Vc=new RegExp(`^rgba\\(${jc},${jc},${jc},${Ic}\\)$`),Xc=new RegExp(`^rgba\\(${Wc},${Wc},${Wc},${Ic}\\)$`),Jc=new RegExp(`^hsl\\(${Ic},${Wc},${Wc}\\)$`),Zc=new RegExp(`^hsla\\(${Ic},${Wc},${Wc},${Ic}\\)$`),Qc={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Kc(){return this.rgb().formatHex()}function tf(){return this.rgb().formatRgb()}function ef(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=Hc.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?nf(e):3===n?new sf(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?rf(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?rf(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Yc.exec(t))?new sf(e[1],e[2],e[3],1):(e=Gc.exec(t))?new sf(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Vc.exec(t))?rf(e[1],e[2],e[3],e[4]):(e=Xc.exec(t))?rf(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Jc.exec(t))?df(e[1],e[2]/100,e[3]/100,1):(e=Zc.exec(t))?df(e[1],e[2]/100,e[3]/100,e[4]):Qc.hasOwnProperty(t)?nf(Qc[t]):"transparent"===t?new sf(NaN,NaN,NaN,0):null}function nf(t){return new sf(t>>16&255,t>>8&255,255&t,1)}function rf(t,e,n,r){return r<=0&&(t=e=n=NaN),new sf(t,e,n,r)}function of(t){return t instanceof Lc||(t=ef(t)),t?new sf((t=t.rgb()).r,t.g,t.b,t.opacity):new sf}function af(t,e,n,r){return 1===arguments.length?of(t):new sf(t,e,n,null==r?1:r)}function sf(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function uf(){return`#${hf(this.r)}${hf(this.g)}${hf(this.b)}`}function lf(){const t=cf(this.opacity);return`${1===t?"rgb(":"rgba("}${ff(this.r)}, ${ff(this.g)}, ${ff(this.b)}${1===t?")":`, ${t})`}`}function cf(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ff(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function hf(t){return((t=ff(t))<16?"0":"")+t.toString(16)}function df(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new mf(t,e,n,r)}function pf(t){if(t instanceof mf)return new mf(t.h,t.s,t.l,t.opacity);if(t instanceof Lc||(t=ef(t)),!t)return new mf;if(t instanceof mf)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,s=o-i,u=(o+i)/2;return s?(a=e===o?(n-r)/s+6*(n0&&u<1?0:a,new mf(a,s,u,t.opacity)}function gf(t,e,n,r){return 1===arguments.length?pf(t):new mf(t,e,n,null==r?1:r)}function mf(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function yf(t){return(t=(t||0)%360)<0?t+360:t}function vf(t){return Math.max(0,Math.min(1,t||0))}function _f(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}Rc(Lc,ef,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Kc,formatHex:Kc,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return pf(this).formatHsl()},formatRgb:tf,toString:tf}),Rc(sf,af,Uc(Lc,{brighter(t){return t=null==t?Pc:Math.pow(Pc,t),new sf(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?qc:Math.pow(qc,t),new sf(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new sf(ff(this.r),ff(this.g),ff(this.b),cf(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:uf,formatHex:uf,formatHex8:function(){return`#${hf(this.r)}${hf(this.g)}${hf(this.b)}${hf(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:lf,toString:lf})),Rc(mf,gf,Uc(Lc,{brighter(t){return t=null==t?Pc:Math.pow(Pc,t),new mf(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?qc:Math.pow(qc,t),new mf(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new sf(_f(t>=240?t-240:t+120,i,r),_f(t,i,r),_f(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new mf(yf(this.h),vf(this.s),vf(this.l),cf(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=cf(this.opacity);return`${1===t?"hsl(":"hsla("}${yf(this.h)}, ${100*vf(this.s)}%, ${100*vf(this.l)}%${1===t?")":`, ${t})`}`}}));const xf=Math.PI/180,bf=180/Math.PI,wf=.96422,kf=1,Af=.82521,Mf=4/29,Ef=6/29,Df=3*Ef*Ef,Cf=Ef*Ef*Ef;function Ff(t){if(t instanceof $f)return new $f(t.l,t.a,t.b,t.opacity);if(t instanceof Rf)return Uf(t);t instanceof sf||(t=of(t));var e,n,r=Nf(t.r),i=Nf(t.g),o=Nf(t.b),a=Tf((.2225045*r+.7168786*i+.0606169*o)/kf);return r===i&&i===o?e=n=a:(e=Tf((.4360747*r+.3850649*i+.1430804*o)/wf),n=Tf((.0139322*r+.0971045*i+.7141733*o)/Af)),new $f(116*a-16,500*(e-a),200*(a-n),t.opacity)}function Sf(t,e,n,r){return 1===arguments.length?Ff(t):new $f(t,e,n,null==r?1:r)}function $f(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function Tf(t){return t>Cf?Math.pow(t,1/3):t/Df+Mf}function Bf(t){return t>Ef?t*t*t:Df*(t-Mf)}function zf(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Nf(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Of(t,e,n,r){return 1===arguments.length?function(t){if(t instanceof Rf)return new Rf(t.h,t.c,t.l,t.opacity);if(t instanceof $f||(t=Ff(t)),0===t.a&&0===t.b)return new Rf(NaN,0=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,s=r()=>t;function Kf(t,e){return function(n){return t+n*e}}function th(t,e){var n=e-t;return n?Kf(t,n>180||n<-180?n-360*Math.round(n/360):n):Qf(isNaN(t)?e:t)}function eh(t){return 1==(t=+t)?nh:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):Qf(isNaN(e)?n:e)}}function nh(t,e){var n=e-t;return n?Kf(t,n):Qf(isNaN(t)?e:t)}var rh=function t(e){var n=eh(e);function r(t,e){var r=n((t=af(t)).r,(e=af(e)).r),i=n(t.g,e.g),o=n(t.b,e.b),a=nh(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=o(e),t.opacity=a(e),t+""}}return r.gamma=t,r}(1);function ih(t){return function(e){var n,r,i=e.length,o=new Array(i),a=new Array(i),s=new Array(i);for(n=0;no&&(i=e.slice(o,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,u.push({i:a,x:fh(n,r)})),o=ph.lastIndex;return o180?e+=360:e-t>180&&(t+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:fh(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(o.rotate,a.rotate,s,u),function(t,e,n,o){t!==e?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:fh(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(o.skewX,a.skewX,s,u),function(t,e,n,r,o,a){if(t!==n||e!==r){var s=o.push(i(o)+"scale(",null,",",null,")");a.push({i:s-4,x:fh(t,n)},{i:s-2,x:fh(e,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,s,u),o=a=null,function(t){for(var e,n=-1,r=u.length;++ne&&(n=t,t=e,e=n),function(n){return Math.max(t,Math.min(e,n))}}(a[0],a[t-1])),r=t>2?Ih:jh,i=o=null,f}function f(e){return null==e||isNaN(e=+e)?n:(i||(i=r(a.map(t),s,u)))(t(l(e)))}return f.invert=function(n){return l(e((o||(o=r(s,a.map(t),fh)))(n)))},f.domain=function(t){return arguments.length?(a=Array.from(t,Uh),c()):a.slice()},f.range=function(t){return arguments.length?(s=Array.from(t),c()):s.slice()},f.rangeRound=function(t){return s=Array.from(t),u=yh,c()},f.clamp=function(t){return arguments.length?(l=!!t||qh,c()):l!==qh},f.interpolate=function(t){return arguments.length?(u=t,c()):u},f.unknown=function(t){return arguments.length?(n=t,f):n},function(n,r){return t=n,e=r,c()}}function Yh(){return Hh()(qh,qh)}function Gh(t,e,n,r){var i,o=be(t,e,n);switch((r=Re(null==r?",f":r)).type){case"s":var a=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=Xe(o,a))||(r.precision=i),We(r,a);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=Je(o,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=Ve(o))||(r.precision=i-2*("%"===r.type))}return Ie(r)}function Vh(t){var e=t.domain;return t.ticks=function(t){var n=e();return _e(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return Gh(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,i,o=e(),a=0,s=o.length-1,u=o[a],l=o[s],c=10;for(l0;){if((i=xe(u,l,n))===r)return o[a]=u,o[s]=l,e(o);if(i>0)u=Math.floor(u/i)*i,l=Math.ceil(l/i)*i;else{if(!(i<0))break;u=Math.ceil(u*i)/i,l=Math.floor(l*i)/i}r=i}return t},t}function Xh(t,e){var n,r=0,i=(t=t.slice()).length-1,o=t[r],a=t[i];return a-t(-e,n)}function nd(t){const e=t(Jh,Zh),n=e.domain;let r,i,o=10;function a(){return r=function(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}(o),i=function(t){return 10===t?td:t===Math.E?Math.exp:e=>Math.pow(t,e)}(o),n()[0]<0?(r=ed(r),i=ed(i),t(Qh,Kh)):t(Jh,Zh),e}return e.base=function(t){return arguments.length?(o=+t,a()):o},e.domain=function(t){return arguments.length?(n(t),a()):n()},e.ticks=t=>{const e=n();let a=e[0],s=e[e.length-1];const u=s0){for(;f<=h;++f)for(l=1;ls)break;p.push(c)}}else for(;f<=h;++f)for(l=o-1;l>=1;--l)if(c=f>0?l/i(-f):l*i(f),!(cs)break;p.push(c)}2*p.length{if(null==t&&(t=10),null==n&&(n=10===o?"s":","),"function"!=typeof n&&(o%1||null!=(n=Re(n)).precision||(n.trim=!0),n=Ie(n)),t===1/0)return n;const a=Math.max(1,o*t/e.ticks().length);return t=>{let e=t/i(Math.round(r(t)));return e*on(Xh(n(),{floor:t=>i(Math.floor(r(t))),ceil:t=>i(Math.ceil(r(t)))})),e}function rd(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function id(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function od(t){var e=1,n=t(rd(e),id(e));return n.constant=function(n){return arguments.length?t(rd(e=+n),id(e)):e},Vh(n)}function ad(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function sd(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function ud(t){return t<0?-t*t:t*t}function ld(t){var e=t(qh,qh),n=1;return e.exponent=function(e){return arguments.length?1===(n=+e)?t(qh,qh):.5===n?t(sd,ud):t(ad(n),ad(1/n)):n},Vh(e)}function cd(){var t=ld(Hh());return t.copy=function(){return Wh(t,cd()).exponent(t.exponent())},Bc.apply(t,arguments),t}function fd(t){return new Date(t)}function hd(t){return t instanceof Date?+t:+new Date(+t)}function dd(t,e,n,r,i,o,a,s,u,l){var c=Yh(),f=c.invert,h=c.domain,d=l(".%L"),p=l(":%S"),g=l("%I:%M"),m=l("%I %p"),y=l("%a %d"),v=l("%b %d"),_=l("%B"),x=l("%Y");function b(t){return(u(t)0?r:1:0}const bd="linear",wd="log",kd="pow",Ad="sqrt",Md="symlog",Ed="time",Dd="utc",Cd="sequential",Fd="diverging",Sd="quantile",$d="quantize",Td="threshold",Bd="ordinal",zd="point",Nd="band",Od="bin-ordinal",Rd="continuous",Ud="discrete",Ld="discretizing",qd="interpolating",Pd="temporal";function jd(){const t=Oc().unknown(void 0),e=t.domain,n=t.range;let r,i,o=[0,1],a=!1,s=0,u=0,l=.5;function c(){const t=e().length,c=o[1]d+r*t));return n(c?p.reverse():p)}return delete t.unknown,t.domain=function(t){return arguments.length?(e(t),c()):e()},t.range=function(t){return arguments.length?(o=[+t[0],+t[1]],c()):o.slice()},t.rangeRound=function(t){return o=[+t[0],+t[1]],a=!0,c()},t.bandwidth=function(){return i},t.step=function(){return r},t.round=function(t){return arguments.length?(a=!!t,c()):a},t.padding=function(t){return arguments.length?(u=Math.max(0,Math.min(1,t)),s=u,c()):s},t.paddingInner=function(t){return arguments.length?(s=Math.max(0,Math.min(1,t)),c()):s},t.paddingOuter=function(t){return arguments.length?(u=Math.max(0,Math.min(1,t)),c()):u},t.align=function(t){return arguments.length?(l=Math.max(0,Math.min(1,t)),c()):l},t.invertRange=function(t){if(null==t[0]||null==t[1])return;const r=o[1]o[1-r])?void 0:(u=Math.max(0,oe(a,f)-1),l=f===h?u:oe(a,h)-1,f-a[u]>i+1e-10&&++u,r&&(c=u,u=s-l,l=s-c),u>l?void 0:e().slice(u,l+1))},t.invert=function(e){const n=t.invertRange([e,e]);return n?n[0]:n},t.copy=function(){return jd().domain(e()).range(o).round(a).paddingInner(s).paddingOuter(u).align(l)},c()}function Id(t){const e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,t.copy=function(){return Id(e())},t}var Wd=Array.prototype.map;const Hd=Array.prototype.slice;const Yd=new Map,Gd=Symbol("vega_scale");function Vd(t){return t[Gd]=!0,t}function Xd(t,e,n){return arguments.length>1?(Yd.set(t,function(t,e,n){const r=function(){const n=e();return n.invertRange||(n.invertRange=n.invert?function(t){return function(e){let n,r=e[0],i=e[1];return i=s&&n[o]<=u&&(l<0&&(l=o),r=o);if(!(l<0))return s=t.invertExtent(n[l]),u=t.invertExtent(n[r]),[void 0===s[0]?s[1]:s[0],void 0===u[1]?u[0]:u[1]]}}(n):void 0),n.type=t,Vd(n)};return r.metadata=Bt(V(n)),r}(t,e,n)),this):Jd(t)?Yd.get(t):void 0}function Jd(t){return Yd.has(t)}function Zd(t,e){const n=Yd.get(t);return n&&n.metadata[e]}function Qd(t){return Zd(t,Rd)}function Kd(t){return Zd(t,Ud)}function tp(t){return Zd(t,Ld)}function ep(t){return Zd(t,wd)}function np(t){return Zd(t,qd)}function rp(t){return Zd(t,Sd)}Xd("identity",(function t(e){var n;function r(t){return null==t||isNaN(t=+t)?n:t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(e=Array.from(t,Uh),r):e.slice()},r.unknown=function(t){return arguments.length?(n=t,r):n},r.copy=function(){return t(e).unknown(n)},e=arguments.length?Array.from(e,Uh):[0,1],Vh(r)})),Xd(bd,(function t(){var e=Yh();return e.copy=function(){return Wh(e,t())},Bc.apply(e,arguments),Vh(e)}),Rd),Xd(wd,(function t(){const e=nd(Hh()).domain([1,10]);return e.copy=()=>Wh(e,t()).base(e.base()),Bc.apply(e,arguments),e}),[Rd,wd]),Xd(kd,cd,Rd),Xd(Ad,(function(){return cd.apply(null,arguments).exponent(.5)}),Rd),Xd(Md,(function t(){var e=od(Hh());return e.copy=function(){return Wh(e,t()).constant(e.constant())},Bc.apply(e,arguments)}),Rd),Xd(Ed,(function(){return Bc.apply(dd(qn,Pn,Nn,Bn,vn,pn,hn,cn,ln,ni).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}),[Rd,Pd]),Xd(Dd,(function(){return Bc.apply(dd(Un,Ln,On,zn,En,gn,dn,fn,ln,ii).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}),[Rd,Pd]),Xd(Cd,md,[Rd,qd]),Xd(`${Cd}-${bd}`,md,[Rd,qd]),Xd(`${Cd}-${wd}`,(function t(){var e=nd(pd()).domain([1,10]);return e.copy=function(){return gd(e,t()).base(e.base())},zc.apply(e,arguments)}),[Rd,qd,wd]),Xd(`${Cd}-${kd}`,yd,[Rd,qd]),Xd(`${Cd}-${Ad}`,(function(){return yd.apply(null,arguments).exponent(.5)}),[Rd,qd]),Xd(`${Cd}-${Md}`,(function t(){var e=od(pd());return e.copy=function(){return gd(e,t()).constant(e.constant())},zc.apply(e,arguments)}),[Rd,qd]),Xd(`${Fd}-${bd}`,(function t(){var e=Vh(vd()(qh));return e.copy=function(){return gd(e,t())},zc.apply(e,arguments)}),[Rd,qd]),Xd(`${Fd}-${wd}`,(function t(){var e=nd(vd()).domain([.1,1,10]);return e.copy=function(){return gd(e,t()).base(e.base())},zc.apply(e,arguments)}),[Rd,qd,wd]),Xd(`${Fd}-${kd}`,_d,[Rd,qd]),Xd(`${Fd}-${Ad}`,(function(){return _d.apply(null,arguments).exponent(.5)}),[Rd,qd]),Xd(`${Fd}-${Md}`,(function t(){var e=od(vd());return e.copy=function(){return gd(e,t()).constant(e.constant())},zc.apply(e,arguments)}),[Rd,qd]),Xd(Sd,(function t(){var e,n=[],r=[],i=[];function o(){var t=0,e=Math.max(1,r.length);for(i=new Array(e-1);++t0?i[e-1]:n[0],e=i?[o[i-1],r]:[o[e-1],o[e]]},s.unknown=function(t){return arguments.length?(e=t,s):s},s.thresholds=function(){return o.slice()},s.copy=function(){return t().domain([n,r]).range(a).unknown(e)},Bc.apply(Vh(s),arguments)}),Ld),Xd(Td,(function t(){var e,n=[.5],r=[0,1],i=1;function o(t){return null!=t&&t<=t?r[oe(n,t,0,i)]:e}return o.domain=function(t){return arguments.length?(n=Array.from(t),i=Math.min(n.length,r.length-1),o):n.slice()},o.range=function(t){return arguments.length?(r=Array.from(t),i=Math.min(n.length,r.length-1),o):r.slice()},o.invertExtent=function(t){var e=r.indexOf(t);return[n[e-1],n[e]]},o.unknown=function(t){return arguments.length?(e=t,o):e},o.copy=function(){return t().domain(n).range(r).unknown(e)},Bc.apply(o,arguments)}),Ld),Xd(Od,(function t(){let e=[],n=[];function r(t){return null==t||t!=t?void 0:n[(oe(e,t)-1)%n.length]}return r.domain=function(t){return arguments.length?(e=function(t){return Wd.call(t,S)}(t),r):e.slice()},r.range=function(t){return arguments.length?(n=Hd.call(t),r):n.slice()},r.tickFormat=function(t,n){return Gh(e[0],F(e),null==t?10:t,n)},r.copy=function(){return t().domain(r.domain()).range(r.range())},r}),[Ud,Ld]),Xd(Bd,Oc,Ud),Xd(Nd,jd,Ud),Xd(zd,(function(){return Id(jd().paddingInner(1))}),Ud);const ip=["clamp","base","constant","exponent"];function op(t,e){const n=e[0],r=F(e)-n;return function(e){return t(n+e*r)}}function ap(t,e,n){return Oh(lp(e||"rgb",n),t)}function sp(t,e){const n=new Array(e),r=e+1;for(let i=0;it[e]?a[e](t[e]()):0)),a):rt(.5)}function lp(t,e){const n=Rh[function(t){return"interpolate"+t.toLowerCase().split("-").map((t=>t[0].toUpperCase()+t.slice(1))).join("")}(t)];return null!=e&&n&&n.gamma?n.gamma(e):n}function cp(t){const e=t.length/6|0,n=new Array(e);for(let r=0;r1?(hp[t]=e,this):hp[t]}fp({category10:"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf",category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5",accent:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666",dark2:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666",paired:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928",pastel1:"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2",pastel2:"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc",set1:"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999",set2:"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3",set3:"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"},cp),fp({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},(t=>ap(cp(t))));const pp="symbol",gp="discrete",mp=t=>k(t)?t.map((t=>String(t))):String(t),yp=(t,e)=>t[1]-e[1],vp=(t,e)=>e[1]-t[1];function _p(t,e,n){let r;return vt(e)&&(t.bins&&(e=Math.max(e,t.bins.length)),null!=n&&(e=Math.min(e,Math.floor(Dt(t.domain())/n||1)+1))),A(e)&&(r=e.step,e=e.interval),xt(e)&&(e=t.type===Ed?Cr(e):t.type==Dd?Fr(e):s("Only time and utc scales accept interval strings."),r&&(e=e.every(r))),e}function xp(t,e,n){let r=t.range(),i=r[0],o=F(r),a=yp;if(i>o&&(r=o,o=i,i=r,a=vp),i=Math.floor(i),o=Math.ceil(o),e=e.map((e=>[e,t(e)])).filter((t=>i<=t[1]&&t[1]<=o)).sort(a).map((t=>t[0])),n>0&&e.length>1){const t=[e[0],F(e)];for(;e.length>n&&e.length>=3;)e=e.filter(((t,e)=>!(e%2)));e.length<3&&(e=t)}return e}function bp(t,e){return t.bins?xp(t,t.bins):t.ticks?t.ticks(e):t.domain()}function wp(t,e,n,r,i,o){const a=e.type;let s=mp;if(a===Ed||i===Ed)s=t.timeFormat(r);else if(a===Dd||i===Dd)s=t.utcFormat(r);else if(ep(a)){const i=t.formatFloat(r);if(o||e.bins)s=i;else{const t=kp(e,n,!1);s=e=>t(e)?i(e):""}}else if(e.tickFormat){const i=e.domain();s=t.formatSpan(i[0],i[i.length-1],n,r)}else r&&(s=t.format(r));return s}function kp(t,e,n){const r=bp(t,e),i=t.base(),o=Math.log(i),a=Math.max(1,i*e/r.length),s=t=>{let e=t/Math.pow(i,Math.round(Math.log(t)/o));return e*iAp[t.type]||t.bins;function Cp(t,e,n,r,i,o,a){const s=Mp[e.type]&&o!==Ed&&o!==Dd?function(t,e,n){const r=e[Mp[e.type]](),i=r.length;let o,a=i>1?r[1]-r[0]:r[0];for(o=1;o(e,n,r)=>{const i=Sp(r[n+1],Sp(r.max,1/0)),o=Bp(e,t),a=Bp(i,t);return o&&a?o+" – "+a:a?"< "+a:"≥ "+o},Sp=(t,e)=>null!=t?t:e,$p=t=>(e,n)=>n?t(e):null,Tp=t=>e=>t(e),Bp=(t,e)=>Number.isFinite(t)?e(t):null;function zp(t,e,n,r){const i=r||e.type;return xt(n)&&function(t){return Zd(t,Pd)}(i)&&(n=n.replace(/%a/g,"%A").replace(/%b/g,"%B")),n||i!==Ed?n||i!==Dd?Cp(t,e,5,null,n,r,!0):t.utcFormat("%A, %d %B %Y, %X UTC"):t.timeFormat("%A, %d %B %Y, %X")}function Np(t,e,n){n=n||{};const r=Math.max(3,n.maxlen||7),i=zp(t,e,n.format,n.formatType);if(tp(e.type)){const t=Ep(e).slice(1).map(i),n=t.length;return`${n} boundar${1===n?"y":"ies"}: ${t.join(", ")}`}if(Kd(e.type)){const t=e.domain(),n=t.length;return`${n} value${1===n?"":"s"}: ${n>r?t.slice(0,r-2).map(i).join(", ")+", ending with "+t.slice(-1).map(i):t.map(i).join(", ")}`}{const t=e.domain();return`values from ${i(t[0])} to ${i(F(t))}`}}let Op=0;const Rp="p_";function Up(t){return t&&t.gradient}function Lp(t,e,n){const r=t.gradient;let i=t.id,o="radial"===r?Rp:"";return i||(i=t.id="gradient_"+Op++,"radial"===r?(t.x1=qp(t.x1,.5),t.y1=qp(t.y1,.5),t.r1=qp(t.r1,0),t.x2=qp(t.x2,.5),t.y2=qp(t.y2,.5),t.r2=qp(t.r2,.5),o=Rp):(t.x1=qp(t.x1,0),t.y1=qp(t.y1,0),t.x2=qp(t.x2,1),t.y2=qp(t.y2,0))),e[i]=t,"url("+(n||"")+"#"+o+i+")"}function qp(t,e){return null!=t?t:e}function Pp(t,e){var n,r=[];return n={gradient:"linear",x1:t?t[0]:0,y1:t?t[1]:0,x2:e?e[0]:1,y2:e?e[1]:0,stops:r,stop:function(t,e){return r.push({offset:t,color:e}),n}}}const jp={basis:{curve:function(t){return new ec(t)}},"basis-closed":{curve:function(t){return new nc(t)}},"basis-open":{curve:function(t){return new rc(t)}},bundle:{curve:oc,tension:"beta",value:.85},cardinal:{curve:uc,tension:"tension",value:0},"cardinal-open":{curve:hc,tension:"tension",value:0},"cardinal-closed":{curve:cc,tension:"tension",value:0},"catmull-rom":{curve:gc,tension:"alpha",value:.5},"catmull-rom-closed":{curve:yc,tension:"alpha",value:.5},"catmull-rom-open":{curve:_c,tension:"alpha",value:.5},linear:{curve:Gl},"linear-closed":{curve:function(t){return new xc(t)}},monotone:{horizontal:function(t){return new Ec(t)},vertical:function(t){return new Mc(t)}},natural:{curve:function(t){return new Cc(t)}},step:{curve:function(t){return new Sc(t,.5)}},"step-after":{curve:function(t){return new Sc(t,1)}},"step-before":{curve:function(t){return new Sc(t,0)}}};function Ip(t,e,n){var r=lt(jp,t)&&jp[t],i=null;return r&&(i=r.curve||r[e||"vertical"],r.tension&&null!=n&&(i=i[r.tension](n))),i}const Wp={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},Hp=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,Yp=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,Gp=/^((\s+,?\s*)|(,\s*))/,Vp=/^[01]/;function Xp(t){const e=[];return(t.match(Hp)||[]).forEach((t=>{let n=t[0];const r=n.toLowerCase(),i=Wp[r],o=function(t,e,n){const r=[];for(let i=0;e&&i1&&(g=Math.sqrt(g),n*=g,r*=g);const m=h/n,y=f/n,v=-f/r,_=h/r,x=m*s+y*u,b=v*s+_*u,w=m*t+y*e,k=v*t+_*e;let A=1/((w-x)*(w-x)+(k-b)*(k-b))-.25;A<0&&(A=0);let M=Math.sqrt(A);o==i&&(M=-M);const E=.5*(x+w)-M*(k-b),D=.5*(b+k)+M*(w-x),C=Math.atan2(b-D,x-E);let F=Math.atan2(k-D,w-E)-C;F<0&&1===o?F+=Qp:F>0&&0===o&&(F-=Qp);const S=Math.ceil(Math.abs(F/(Zp+.001))),$=[];for(let t=0;t+t}function vg(t,e,n){return Math.max(e,Math.min(t,n))}function _g(){var t=dg,e=pg,n=gg,r=mg,i=yg(0),o=i,a=i,s=i,u=null;function l(l,c,f){var h,d=null!=c?c:+t.call(this,l),p=null!=f?f:+e.call(this,l),g=+n.call(this,l),m=+r.call(this,l),y=Math.min(g,m)/2,v=vg(+i.call(this,l),0,y),_=vg(+o.call(this,l),0,y),x=vg(+a.call(this,l),0,y),b=vg(+s.call(this,l),0,y);if(u||(u=h=Rl()),v<=0&&_<=0&&x<=0&&b<=0)u.rect(d,p,g,m);else{var w=d+g,k=p+m;u.moveTo(d+v,p),u.lineTo(w-_,p),u.bezierCurveTo(w-hg*_,p,w,p+hg*_,w,p+_),u.lineTo(w,k-b),u.bezierCurveTo(w,k-hg*b,w-hg*b,k,w-b,k),u.lineTo(d+x,k),u.bezierCurveTo(d+hg*x,k,d,k-hg*x,d,k-x),u.lineTo(d,p+v),u.bezierCurveTo(d,p+hg*v,d+hg*v,p,d+v,p),u.closePath()}if(h)return u=null,h+""||null}return l.x=function(e){return arguments.length?(t=yg(e),l):t},l.y=function(t){return arguments.length?(e=yg(t),l):e},l.width=function(t){return arguments.length?(n=yg(t),l):n},l.height=function(t){return arguments.length?(r=yg(t),l):r},l.cornerRadius=function(t,e,n,r){return arguments.length?(i=yg(t),o=null!=e?yg(e):i,s=null!=n?yg(n):i,a=null!=r?yg(r):o,l):i},l.context=function(t){return arguments.length?(u=null==t?null:t,l):u},l}function xg(){var t,e,n,r,i,o,a,s,u=null;function l(t,e,n){const r=n/2;if(i){var l=a-e,c=t-o;if(l||c){var f=Math.hypot(l,c),h=(l/=f)*s,d=(c/=f)*s,p=Math.atan2(c,l);u.moveTo(o-h,a-d),u.lineTo(t-l*r,e-c*r),u.arc(t,e,r,p-Math.PI,p),u.lineTo(o+h,a+d),u.arc(o,a,s,p,p+Math.PI)}else u.arc(t,e,r,0,Qp);u.closePath()}else i=1;o=t,a=e,s=r}function c(o){var a,s,c,f=o.length,h=!1;for(null==u&&(u=c=Rl()),a=0;a<=f;++a)!(at.x||0,kg=t=>t.y||0,Ag=t=>!(!1===t.defined),Mg=function(){var t=Ll,e=ql,n=vl(0),r=null,i=Pl,o=jl,a=Il,s=null,u=Ul(l);function l(){var l,c,f=+t.apply(this,arguments),h=+e.apply(this,arguments),d=i.apply(this,arguments)-Cl,p=o.apply(this,arguments)-Cl,g=_l(p-d),m=p>d;if(s||(s=l=u()),hEl)if(g>Fl-El)s.moveTo(h*bl(d),h*Al(d)),s.arc(0,0,h,d,p,!m),f>El&&(s.moveTo(f*bl(p),f*Al(p)),s.arc(0,0,f,p,d,m));else{var y,v,_=d,x=p,b=d,w=p,k=g,A=g,M=a.apply(this,arguments)/2,E=M>El&&(r?+r.apply(this,arguments):Ml(f*f+h*h)),D=kl(_l(h-f)/2,+n.apply(this,arguments)),C=D,F=D;if(E>El){var S=Sl(E/f*Al(M)),$=Sl(E/h*Al(M));(k-=2*S)>El?(b+=S*=m?1:-1,w-=S):(k=0,b=w=(d+p)/2),(A-=2*$)>El?(_+=$*=m?1:-1,x-=$):(A=0,_=x=(d+p)/2)}var T=h*bl(_),B=h*Al(_),z=f*bl(w),N=f*Al(w);if(D>El){var O,R=h*bl(x),U=h*Al(x),L=f*bl(b),q=f*Al(b);if(g1?0:t<-1?Dl:Math.acos(t)}((P*I+j*W)/(Ml(P*P+j*j)*Ml(I*I+W*W)))/2),Y=Ml(O[0]*O[0]+O[1]*O[1]);C=kl(D,(f-Y)/(H-1)),F=kl(D,(h-Y)/(H+1))}else C=F=0}A>El?F>El?(y=Wl(L,q,T,B,h,F,m),v=Wl(R,U,z,N,h,F,m),s.moveTo(y.cx+y.x01,y.cy+y.y01),FEl&&k>El?C>El?(y=Wl(z,N,R,U,f,-C,m),v=Wl(T,B,L,q,f,-C,m),s.lineTo(y.cx+y.x01,y.cy+y.y01),Ct.startAngle||0)).endAngle((t=>t.endAngle||0)).padAngle((t=>t.padAngle||0)).innerRadius((t=>t.innerRadius||0)).outerRadius((t=>t.outerRadius||0)).cornerRadius((t=>t.cornerRadius||0)),Eg=Zl().x(wg).y1(kg).y0((t=>(t.y||0)+(t.height||0))).defined(Ag),Dg=Zl().y(kg).x1(wg).x0((t=>(t.x||0)+(t.width||0))).defined(Ag),Cg=Jl().x(wg).y(kg).defined(Ag),Fg=_g().x(wg).y(kg).width((t=>t.width||0)).height((t=>t.height||0)).cornerRadius((t=>bg(t.cornerRadiusTopLeft,t.cornerRadius)||0),(t=>bg(t.cornerRadiusTopRight,t.cornerRadius)||0),(t=>bg(t.cornerRadiusBottomRight,t.cornerRadius)||0),(t=>bg(t.cornerRadiusBottomLeft,t.cornerRadius)||0)),Sg=function(t,e){let n=null,r=Ul(i);function i(){let i;if(n||(n=i=r()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),i)return n=null,i+""||null}return t="function"==typeof t?t:vl(t||Ql),e="function"==typeof e?e:vl(void 0===e?64:+e),i.type=function(e){return arguments.length?(t="function"==typeof e?e:vl(e),i):t},i.size=function(t){return arguments.length?(e="function"==typeof t?t:vl(+t),i):e},i.context=function(t){return arguments.length?(n=null==t?null:t,i):n},i}().type((t=>cg(t.shape||"circle"))).size((t=>bg(t.size,64))),$g=xg().x(wg).y(kg).defined(Ag).size((t=>t.size||1));function Tg(t){return t.cornerRadius||t.cornerRadiusTopLeft||t.cornerRadiusTopRight||t.cornerRadiusBottomRight||t.cornerRadiusBottomLeft}function Bg(t,e,n,r){return Fg.context(t)(e,n,r)}var zg=1;function Ng(){zg=1}function Og(t,e,n){var r=e.clip,i=t._defs,o=e.clip_id||(e.clip_id="clip"+zg++),a=i.clipping[o]||(i.clipping[o]={id:o});return J(r)?a.path=r(null):Tg(n)?a.path=Bg(null,n,0,0):(a.width=n.width||0,a.height=n.height||0),"url(#"+o+")"}function Rg(t){this.clear(),t&&this.union(t)}function Ug(t){this.mark=t,this.bounds=this.bounds||new Rg}function Lg(t){Ug.call(this,t),this.items=this.items||[]}Rg.prototype={clone(){return new Rg(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2},set(t,e,n,r){return nthis.x2&&(this.x2=t),e>this.y2&&(this.y2=e),this},expand(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(t){return this.x1*=t,this.y1*=t,this.x2*=t,this.y2*=t,this},translate(t,e){return this.x1+=t,this.x2+=t,this.y1+=e,this.y2+=e,this},rotate(t,e,n){const r=this.rotatedPoints(t,e,n);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(t,e,n){var{x1:r,y1:i,x2:o,y2:a}=this,s=Math.cos(t),u=Math.sin(t),l=e-e*s+n*u,c=n-e*u-n*s;return[s*r-u*i+l,u*r+s*i+c,s*r-u*a+l,u*r+s*a+c,s*o-u*i+l,u*o+s*i+c,s*o-u*a+l,u*o+s*a+c]},union(t){return t.x1this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},intersect(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},alignsWith(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},intersects(t){return t&&!(this.x2t.x2||this.y2t.y2)},contains(t,e){return!(tthis.x2||ethis.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}},dt(Lg,Ug);class qg{constructor(t){this._pending=0,this._loader=t||fa()}pending(){return this._pending}sanitizeURL(t){const e=this;return Pg(e),e._loader.sanitize(t,{context:"href"}).then((t=>(jg(e),t))).catch((()=>(jg(e),null)))}loadImage(t){const e=this,n=Tc();return Pg(e),e._loader.sanitize(t,{context:"image"}).then((t=>{const r=t.href;if(!r||!n)throw{url:r};const i=new n,o=lt(t,"crossOrigin")?t.crossOrigin:"anonymous";return null!=o&&(i.crossOrigin=o),i.onload=()=>jg(e),i.onerror=()=>jg(e),i.src=r,i})).catch((t=>(jg(e),{complete:!1,width:0,height:0,src:t&&t.url||""})))}ready(){const t=this;return new Promise((e=>{!function n(r){t.pending()?setTimeout((()=>{n(!0)}),10):e(r)}(!1)}))}}function Pg(t){t._pending+=1}function jg(t){t._pending-=1}function Ig(t,e,n){if(e.stroke&&0!==e.opacity&&0!==e.strokeOpacity){const r=null!=e.strokeWidth?+e.strokeWidth:1;t.expand(r+(n?function(t,e){return t.strokeJoin&&"miter"!==t.strokeJoin?0:e}(e,r):0))}return t}const Wg=Qp-1e-8;let Hg,Yg,Gg,Vg,Xg,Jg,Zg,Qg;const Kg=(t,e)=>Hg.add(t,e),tm=(t,e)=>Kg(Yg=t,Gg=e),em=t=>Kg(t,Hg.y1),nm=t=>Kg(Hg.x1,t),rm=(t,e)=>Xg*t+Zg*e,im=(t,e)=>Jg*t+Qg*e,om=(t,e)=>Kg(rm(t,e),im(t,e)),am=(t,e)=>tm(rm(t,e),im(t,e));function sm(t,e){return Hg=t,e?(Vg=e*Jp,Xg=Qg=Math.cos(Vg),Jg=Math.sin(Vg),Zg=-Jg):(Xg=Qg=1,Vg=Jg=Zg=0),um}const um={beginPath(){},closePath(){},moveTo:am,lineTo:am,rect(t,e,n,r){Vg?(om(t+n,e),om(t+n,e+r),om(t,e+r),am(t,e)):(Kg(t+n,e+r),tm(t,e))},quadraticCurveTo(t,e,n,r){const i=rm(t,e),o=im(t,e),a=rm(n,r),s=im(n,r);lm(Yg,i,a,em),lm(Gg,o,s,nm),tm(a,s)},bezierCurveTo(t,e,n,r,i,o){const a=rm(t,e),s=im(t,e),u=rm(n,r),l=im(n,r),c=rm(i,o),f=im(i,o);cm(Yg,a,u,c,em),cm(Gg,s,l,f,nm),tm(c,f)},arc(t,e,n,r,i,o){if(r+=Vg,i+=Vg,Yg=n*Math.cos(i)+t,Gg=n*Math.sin(i)+e,Math.abs(i-r)>Wg)Kg(t-n,e-n),Kg(t+n,e+n);else{const a=r=>Kg(n*Math.cos(r)+t,n*Math.sin(r)+e);let s,u;if(a(r),a(i),i!==r)if((r%=Qp)<0&&(r+=Qp),(i%=Qp)<0&&(i+=Qp),ii;++u,s-=Zp)a(s);else for(s=r-r%Zp+Zp,u=0;u<4&&s1e-14?(u=a*a+s*o,u>=0&&(u=Math.sqrt(u),l=(-a+u)/o,c=(-a-u)/o)):l=.5*s/a,0m)return!1;d>g&&(g=d)}else if(f>0){if(d0&&(t.globalAlpha=n,t.fillStyle=wm(t,e,e.fill),!0)}var Am=[];function Mm(t,e,n){var r=null!=(r=e.strokeWidth)?r:1;return!(r<=0)&&((n*=null==e.strokeOpacity?1:e.strokeOpacity)>0&&(t.globalAlpha=n,t.strokeStyle=wm(t,e,e.stroke),t.lineWidth=r,t.lineCap=e.strokeCap||"butt",t.lineJoin=e.strokeJoin||"miter",t.miterLimit=e.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(e.strokeDash||Am),t.lineDashOffset=e.strokeDashOffset||0),!0))}function Em(t,e){return t.zindex-e.zindex||t.index-e.index}function Dm(t){if(!t.zdirty)return t.zitems;var e,n,r,i=t.items,o=[];for(n=0,r=i.length;n=0;)if(n=e(i[r]))return n;if(i===o)for(r=(i=t.items).length;--r>=0;)if(!i[r].zindex&&(n=e(i[r])))return n;return null}function Sm(t){return function(e,n,r){Cm(n,(n=>{r&&!r.intersects(n.bounds)||Tm(t,e,n,n)}))}}function $m(t){return function(e,n,r){!n.items.length||r&&!r.intersects(n.bounds)||Tm(t,e,n.items[0],n.items)}}function Tm(t,e,n,r){var i=null==n.opacity?1:n.opacity;0!==i&&(t(e,r)||(_m(e,n),n.fill&&km(e,n,i)&&e.fill(),n.stroke&&Mm(e,n,i)&&e.stroke()))}function Bm(t){return t=t||p,function(e,n,r,i,o,a){return r*=e.pixelRatio,i*=e.pixelRatio,Fm(n,(n=>{const s=n.bounds;if((!s||s.contains(o,a))&&s)return t(e,n,r,i,o,a)?n:void 0}))}}function zm(t,e){return function(n,r,i,o){var a,s,u=Array.isArray(r)?r[0]:r,l=null==e?u.fill:e,c=u.stroke&&n.isPointInStroke;return c&&(a=u.strokeWidth,s=u.strokeCap,n.lineWidth=null!=a?a:1,n.lineCap=null!=s?s:"butt"),!t(n,r)&&(l&&n.isPointInPath(i,o)||c&&n.isPointInStroke(i,o))}}function Nm(t){return Bm(zm(t))}function Om(t,e){return"translate("+t+","+e+")"}function Rm(t){return"rotate("+t+")"}function Um(t){return Om(t.x||0,t.y||0)}function Lm(t,e,n){function r(t,n){var r=n.x||0,i=n.y||0,o=n.angle||0;t.translate(r,i),o&&t.rotate(o*=Jp),t.beginPath(),e(t,n),o&&t.rotate(-o),t.translate(-r,-i)}return{type:t,tag:"path",nested:!1,attr:function(t,n){t("transform",function(t){return Om(t.x||0,t.y||0)+(t.angle?" "+Rm(t.angle):"")}(n)),t("d",e(null,n))},bound:function(t,n){return e(sm(t,n.angle),n),Ig(t,n).translate(n.x||0,n.y||0)},draw:Sm(r),pick:Nm(r),isect:n||pm(r)}}var qm=Lm("arc",(function(t,e){return Mg.context(t)(e)}));function Pm(t,e,n){function r(t,n){t.beginPath(),e(t,n)}const i=zm(r);return{type:t,tag:"path",nested:!0,attr:function(t,n){var r=n.mark.items;r.length&&t("d",e(null,r))},bound:function(t,n){var r=n.items;return 0===r.length?t:(e(sm(t),r),Ig(t,r[0]))},draw:$m(r),pick:function(t,e,n,r,o,a){var s=e.items,u=e.bounds;return!s||!s.length||u&&!u.contains(o,a)?null:(n*=t.pixelRatio,r*=t.pixelRatio,i(t,s,n,r)?s[0]:null)},isect:gm,tip:n}}var jm=Pm("area",(function(t,e){const n=e[0],r=n.interpolate||"linear";return("horizontal"===n.orient?Dg:Eg).curve(Ip(r,n.orient,n.tension)).context(t)(e)}),(function(t,e){for(var n,r,i="horizontal"===t[0].orient?e[1]:e[0],o="horizontal"===t[0].orient?"y":"x",a=t.length,s=1/0;--a>=0;)!1!==t[a].defined&&(r=Math.abs(t[a][o]-i)).5&&e<1.5?.5-Math.abs(e-1):0}function Hm(t,e){const n=Wm(e);t("d",Bg(null,e,n,n))}function Ym(t,e,n,r){const i=Wm(e);t.beginPath(),Bg(t,e,(n||0)+i,(r||0)+i)}const Gm=zm(Ym),Vm=zm(Ym,!1),Xm=zm(Ym,!0);var Jm={type:"group",tag:"g",nested:!1,attr:function(t,e){t("transform",Um(e))},bound:function(t,e){if(!e.clip&&e.items){const n=e.items,r=n.length;for(let e=0;e{const i=e.x||0,o=e.y||0,a=e.strokeForeground,s=null==e.opacity?1:e.opacity;(e.stroke||e.fill)&&s&&(Ym(t,e,i,o),_m(t,e),e.fill&&km(t,e,s)&&t.fill(),e.stroke&&!a&&Mm(t,e,s)&&t.stroke()),t.save(),t.translate(i,o),e.clip&&Im(t,e),n&&n.translate(-i,-o),Cm(e,(e=>{("group"===e.marktype||null==r||r.includes(e.marktype))&&this.draw(t,e,n,r)})),n&&n.translate(i,o),t.restore(),a&&e.stroke&&s&&(Ym(t,e,i,o),_m(t,e),Mm(t,e,s)&&t.stroke())}))},pick:function(t,e,n,r,i,o){if(e.bounds&&!e.bounds.contains(i,o)||!e.items)return null;const a=n*t.pixelRatio,s=r*t.pixelRatio;return Fm(e,(u=>{let l,c,f;const h=u.bounds;if(h&&!h.contains(i,o))return;c=u.x||0,f=u.y||0;const d=c+(u.width||0),p=f+(u.height||0),g=u.clip;if(g&&(id||op))return;if(t.save(),t.translate(c,f),c=i-c,f=o-f,g&&Tg(u)&&!Xm(t,u,a,s))return t.restore(),null;const m=u.strokeForeground,y=!1!==e.interactive;return y&&m&&u.stroke&&Vm(t,u,a,s)?(t.restore(),u):(l=Fm(u,(t=>function(t,e,n){return(!1!==t.interactive||"group"===t.marktype)&&t.bounds&&t.bounds.contains(e,n)}(t,c,f)?this.pick(t,n,r,c,f):null)),!l&&y&&(u.fill||!m&&u.stroke)&&Gm(t,u,a,s)&&(l=u),t.restore(),l||null)}))},isect:mm,content:function(t,e,n){t("clip-path",e.clip?Og(n,e,e):null)},background:function(t,e){t("class","background"),t("aria-hidden",!0),Hm(t,e)},foreground:function(t,e){t("class","foreground"),t("aria-hidden",!0),e.strokeForeground?Hm(t,e):t("d","")}},Zm={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function Qm(t,e){var n=t.image;return(!n||t.url&&t.url!==n.url)&&(n={complete:!1,width:0,height:0},e.loadImage(t.url).then((e=>{t.image=e,t.image.url=t.url}))),n}function Km(t,e){return null!=t.width?t.width:e&&e.width?!1!==t.aspect&&t.height?t.height*e.width/e.height:e.width:0}function ty(t,e){return null!=t.height?t.height:e&&e.height?!1!==t.aspect&&t.width?t.width*e.height/e.width:e.height:0}function ey(t,e){return"center"===t?e/2:"right"===t?e:0}function ny(t,e){return"middle"===t?e/2:"bottom"===t?e:0}var ry={type:"image",tag:"image",nested:!1,attr:function(t,e,n){const r=Qm(e,n),i=Km(e,r),o=ty(e,r),a=(e.x||0)-ey(e.align,i),s=(e.y||0)-ny(e.baseline,o);t("href",!r.src&&r.toDataURL?r.toDataURL():r.src||"",Zm["xmlns:xlink"],"xlink:href"),t("transform",Om(a,s)),t("width",i),t("height",o),t("preserveAspectRatio",!1===e.aspect?"none":"xMidYMid")},bound:function(t,e){const n=e.image,r=Km(e,n),i=ty(e,n),o=(e.x||0)-ey(e.align,r),a=(e.y||0)-ny(e.baseline,i);return t.set(o,a,o+r,a+i)},draw:function(t,e,n){Cm(e,(e=>{if(n&&!n.intersects(e.bounds))return;const r=Qm(e,this);let i=Km(e,r),o=ty(e,r);if(0===i||0===o)return;let a,s,u,l,c=(e.x||0)-ey(e.align,i),f=(e.y||0)-ny(e.baseline,o);!1!==e.aspect&&(s=r.width/r.height,u=e.width/e.height,s==s&&u==u&&s!==u&&(u=0;)if(!1!==t[o].defined&&(n=t[o].x-e[0])*n+(r=t[o].y-e[1])*r{if(!n||n.intersects(e.bounds)){var r=null==e.opacity?1:e.opacity;r&&ly(t,e,r)&&(_m(t,e),t.stroke())}}))},pick:Bm((function(t,e,n,r){return!!t.isPointInStroke&&(ly(t,e,1)&&t.isPointInStroke(n,r))})),isect:ym},fy=Lm("shape",(function(t,e){return(e.mark.shape||e.shape).context(t)(e)})),hy=Lm("symbol",(function(t,e){return Sg.context(t)(e)}),gm);const dy=kt();var py={height:xy,measureWidth:vy,estimateWidth:my,width:my,canvas:gy};function gy(t){py.width=t&&hm?vy:my}function my(t,e){return yy(Ay(t,e),xy(t))}function yy(t,e){return~~(.8*t.length*e)}function vy(t,e){return xy(t)<=0||!(e=Ay(t,e))?0:_y(e,Ey(t))}function _y(t,e){const n=`(${e}) ${t}`;let r=dy.get(n);return void 0===r&&(hm.font=e,r=hm.measureText(t).width,dy.set(n,r)),r}function xy(t){return null!=t.fontSize?+t.fontSize||0:11}function by(t){return null!=t.lineHeight?t.lineHeight:xy(t)+2}function wy(t){return e=t.lineBreak&&t.text&&!k(t.text)?t.text.split(t.lineBreak):t.text,k(e)?e.length>1?e:e[0]:e;var e}function ky(t){const e=wy(t);return(k(e)?e.length-1:0)*by(t)}function Ay(t,e){const n=null==e?"":(e+"").trim();return t.limit>0&&n.length?function(t,e){var n=+t.limit,r=function(t){if(py.width===vy){const e=Ey(t);return t=>_y(t,e)}if(py.width===my){const e=xy(t);return t=>yy(t,e)}return e=>py.width(t,e)}(t);if(r(e)>>1,r(e.slice(i))>n?s=i+1:u=i;return o+e.slice(s)}for(;s>>1),r(e.slice(0,i))Math.max(t,py.width(e,n))),0)):r=py.width(e,f),"center"===o?l-=r/2:"right"===o&&(l-=r),t.set(l+=s,c+=u,l+r,c+i),e.angle&&!n)t.rotate(e.angle*Jp,s,u);else if(2===n)return t.rotatedPoints(e.angle*Jp,s,u);return t}var Ty={type:"text",tag:"text",nested:!1,attr:function(t,e){var n,r=e.dx||0,i=(e.dy||0)+Dy(e),o=Sy(e),a=o.x1,s=o.y1,u=e.angle||0;t("text-anchor",Cy[e.align]||"start"),u?(n=Om(a,s)+" "+Rm(u),(r||i)&&(n+=" "+Om(r,i))):n=Om(a+r,s+i),t("transform",n)},bound:$y,draw:function(t,e,n){Cm(e,(e=>{var r,i,o,a,s,u,l,c=null==e.opacity?1:e.opacity;if(!(n&&!n.intersects(e.bounds)||0===c||e.fontSize<=0||null==e.text||0===e.text.length)){if(t.font=Ey(e),t.textAlign=e.align||"left",i=(r=Sy(e)).x1,o=r.y1,e.angle&&(t.save(),t.translate(i,o),t.rotate(e.angle*Jp),i=o=0),i+=e.dx||0,o+=(e.dy||0)+Dy(e),u=wy(e),_m(t,e),k(u))for(s=by(e),a=0;a=0;)if(!1!==t[i].defined&&(n=t[i].x-e[0])*n+(r=t[i].y-e[1])*r<(n=t[i].size||1)*n)return t[i];return null})),zy={arc:qm,area:jm,group:Jm,image:ry,line:iy,path:ay,rect:uy,rule:cy,shape:fy,symbol:hy,text:Ty,trail:By};function Ny(t,e,n){var r=zy[t.mark.marktype],i=e||r.bound;return r.nested&&(t=t.mark),i(t.bounds||(t.bounds=new Rg),t,n)}var Oy={mark:null};function Ry(t,e,n){var r,i,o,a,s=zy[t.marktype],u=s.bound,l=t.items,c=l&&l.length;if(s.nested)return c?o=l[0]:(Oy.mark=t,o=Oy),a=Ny(o,u,n),e=e&&e.union(a)||a;if(e=e||t.bounds&&t.bounds.clear()||new Rg,c)for(r=0,i=l.length;re;)t.removeChild(n[--r]);return t}function Vy(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function Xy(t,e){const n=e.getBoundingClientRect();return[t.clientX-n.left-(e.clientLeft||0),t.clientY-n.top-(e.clientTop||0)]}class Jy{constructor(t,e){this._active=null,this._handlers={},this._loader=t||fa(),this._tooltip=e||Zy}initialize(t,e,n){return this._el=t,this._obj=n||null,this.origin(e)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(t){return arguments.length?(this._origin=t||[0,0],this):this._origin.slice()}scene(t){return arguments.length?(this._scene=t,this):this._scene}on(){}off(){}_handlerIndex(t,e,n){for(let r=t?t.length:0;--r>=0;)if(t[r].type===e&&(!n||t[r].handler===n))return r;return-1}handlers(t){const e=this._handlers,n=[];if(t)n.push(...e[this.eventName(t)]);else for(const t in e)n.push(...e[t]);return n}eventName(t){const e=t.indexOf(".");return e<0?t:t.slice(0,e)}handleHref(t,e,n){this._loader.sanitize(n,{context:"href"}).then((e=>{const n=new MouseEvent(t.type,t),r=Wy(null,"a");for(const t in e)r.setAttribute(t,e[t]);r.dispatchEvent(n)})).catch((()=>{}))}handleTooltip(t,e,n){if(e&&null!=e.tooltip){e=function(t,e,n,r){var i,o,a=t&&t.mark;if(a&&(i=zy[a.marktype]).tip){for((o=Xy(e,n))[0]-=r[0],o[1]-=r[1];t=t.mark.group;)o[0]-=t.x||0,o[1]-=t.y||0;t=i.tip(a.items,o)}return t}(e,t,this.canvas(),this._origin);const r=n&&e&&e.tooltip||null;this._tooltip.call(this._obj,this,t,e,r)}}getItemBoundingClientRect(t){const e=this.canvas();if(!e)return;const n=e.getBoundingClientRect(),r=this._origin,i=t.bounds,o=i.width(),a=i.height();let s=i.x1+r[0]+n.left,u=i.y1+r[1]+n.top;for(;t.mark&&(t=t.mark.group);)s+=t.x||0,u+=t.y||0;return{x:s,y:u,width:o,height:a,left:s,top:u,right:s+o,bottom:u+a}}}function Zy(t,e,n,r){t.element().setAttribute("title",r||"")}class Qy{constructor(t){this._el=null,this._bgcolor=null,this._loader=new qg(t)}initialize(t,e,n,r,i){return this._el=t,this.resize(e,n,r,i)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(t){return 0===arguments.length?this._bgcolor:(this._bgcolor=t,this)}resize(t,e,n,r){return this._width=t,this._height=e,this._origin=n||[0,0],this._scale=r||1,this}dirty(){}render(t,e){const n=this;return n._call=function(){n._render(t,e)},n._call(),n._call=null,n}_render(){}renderAsync(t,e){const n=this.render(t,e);return this._ready?this._ready.then((()=>n)):Promise.resolve(n)}_load(t,e){var n=this,r=n._loader[t](e);if(!n._ready){const t=n._call;n._ready=n._loader.ready().then((e=>{e&&t(),n._ready=null}))}return r}sanitizeURL(t){return this._load("sanitizeURL",t)}loadImage(t){return this._load("loadImage",t)}}const Ky="dragenter",tv="dragleave",ev="dragover",nv="pointerdown",rv="pointermove",iv="pointerout",ov="pointerover",av="mousedown",sv="mousemove",uv="mouseout",lv="mouseover",cv="click",fv="mousewheel",hv="touchstart",dv="touchmove",pv="touchend",gv=["keydown","keypress","keyup",Ky,tv,ev,nv,"pointerup",rv,iv,ov,av,"mouseup",sv,uv,lv,cv,"dblclick","wheel",fv,hv,dv,pv],mv=rv,yv=iv,vv=cv;class _v extends Jy{constructor(t,e){super(t,e),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=gv,this.pointermove=kv([rv,sv],[ov,lv],[iv,uv]),this.dragover=kv([ev],[Ky],[tv]),this.pointerout=Av([iv,uv]),this.dragleave=Av([tv])}initialize(t,e,n){return this._canvas=t&&Hy(t,"canvas"),[cv,av,nv,rv,iv,tv].forEach((t=>bv(this,t))),super.initialize(t,e,n)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(t){this.fire(fv,t)}pointerdown(t){this._down=this._active,this.fire(nv,t)}mousedown(t){this._down=this._active,this.fire(av,t)}click(t){this._down===this._active&&(this.fire(cv,t),this._down=null)}touchstart(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire(hv,t,!0)}touchmove(t){this.fire(dv,t,!0)}touchend(t){this.fire(pv,t,!0),this._touch=null}fire(t,e,n){const r=n?this._touch:this._active,i=this._handlers[t];if(e.vegaType=t,t===vv&&r&&r.href?this.handleHref(e,r,r.href):t!==mv&&t!==yv||this.handleTooltip(e,r,t!==yv),i)for(let t=0,n=i.length;t=0&&r.splice(i,1),this}pickEvent(t){const e=Xy(t,this._canvas),n=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-n[0],e[1]-n[1])}pick(t,e,n,r,i){const o=this.context();return zy[t.marktype].pick.call(this,o,t,e,n,r,i)}}const xv=t=>t===hv||t===dv||t===pv?[hv,dv,pv]:[t];function bv(t,e){xv(e).forEach((e=>function(t,e){const n=t.canvas();n&&!t._events[e]&&(t._events[e]=1,n.addEventListener(e,t[e]?n=>t[e](n):n=>t.fire(e,n)))}(t,e)))}function wv(t,e,n){e.forEach((e=>t.fire(e,n)))}function kv(t,e,n){return function(r){const i=this._active,o=this.pickEvent(r);o===i||(i&&i.exit||wv(this,n,r),this._active=o,wv(this,e,r)),wv(this,t,r)}}function Av(t){return function(e){wv(this,t,e),this._active=null}}function Mv(t,e,n,r,i,o){const a="undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&null!=t.parentNode,s=t.getContext("2d"),u=a?"undefined"!=typeof window&&window.devicePixelRatio||1:i;t.width=e*u,t.height=n*u;for(const t in o)s[t]=o[t];return a&&1!==u&&(t.style.width=e+"px",t.style.height=n+"px"),s.pixelRatio=u,s.setTransform(u,0,0,u,u*r[0],u*r[1]),t}class Ev extends Qy{constructor(t){super(t),this._options={},this._redraw=!1,this._dirty=new Rg,this._tempb=new Rg}initialize(t,e,n,r,i,o){return this._options=o||{},this._canvas=this._options.externalContext?null:$c(1,1,this._options.type),t&&this._canvas&&(Gy(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),super.initialize(t,e,n,r,i)}resize(t,e,n,r){if(super.resize(t,e,n,r),this._canvas)Mv(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{const t=this._options.externalContext;t||s("CanvasRenderer is missing a valid canvas or context"),t.scale(this._scale,this._scale),t.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)}dirty(t){const e=this._tempb.clear().union(t.bounds);let n=t.mark.group;for(;n;)e.translate(n.x||0,n.y||0),n=n.mark.group;this._dirty.union(e)}_render(t,e){const n=this.context(),r=this._origin,i=this._width,o=this._height,a=this._dirty,s=Dv(r,i,o);n.save();const u=this._redraw||a.empty()?(this._redraw=!1,s.expand(1)):function(t,e,n){e.expand(1).round(),t.pixelRatio%1&&e.scale(t.pixelRatio).round().scale(1/t.pixelRatio);return e.translate(-n[0]%1,-n[1]%1),t.beginPath(),t.rect(e.x1,e.y1,e.width(),e.height()),t.clip(),e}(n,s.intersect(a),r);return this.clear(-r[0],-r[1],i,o),this.draw(n,t,u,e),n.restore(),a.clear(),this}draw(t,e,n,r){if("group"!==e.marktype&&null!=r&&!r.includes(e.marktype))return;const i=zy[e.marktype];e.clip&&function(t,e){var n=e.clip;t.save(),J(n)?(t.beginPath(),n(t),t.clip()):Im(t,e.group)}(t,e),i.draw.call(this,t,e,n,r),e.clip&&t.restore()}clear(t,e,n,r){const i=this._options,o=this.context();"pdf"===i.type||i.externalContext||o.clearRect(t,e,n,r),null!=this._bgcolor&&(o.fillStyle=this._bgcolor,o.fillRect(t,e,n,r))}}const Dv=(t,e,n)=>(new Rg).set(0,0,e,n).translate(-t[0],-t[1]);class Cv extends Jy{constructor(t,e){super(t,e);const n=this;n._hrefHandler=Fv(n,((t,e)=>{e&&e.href&&n.handleHref(t,e,e.href)})),n._tooltipHandler=Fv(n,((t,e)=>{n.handleTooltip(t,e,t.type!==yv)}))}initialize(t,e,n){let r=this._svg;return r&&(r.removeEventListener(vv,this._hrefHandler),r.removeEventListener(mv,this._tooltipHandler),r.removeEventListener(yv,this._tooltipHandler)),this._svg=r=t&&Hy(t,"svg"),r&&(r.addEventListener(vv,this._hrefHandler),r.addEventListener(mv,this._tooltipHandler),r.addEventListener(yv,this._tooltipHandler)),super.initialize(t,e,n)}canvas(){return this._svg}on(t,e){const n=this.eventName(t),r=this._handlers;if(this._handlerIndex(r[n],t,e)<0){const i={type:t,handler:e,listener:Fv(this,e)};(r[n]||(r[n]=[])).push(i),this._svg&&this._svg.addEventListener(n,i.listener)}return this}off(t,e){const n=this.eventName(t),r=this._handlers[n],i=this._handlerIndex(r,t,e);return i>=0&&(this._svg&&this._svg.removeEventListener(n,r[i].listener),r.splice(i,1)),this}}const Fv=(t,e)=>n=>{let r=n.target.__data__;r=Array.isArray(r)?r[0]:r,n.vegaType=n.type,e.call(t._obj,n,r)},Sv="aria-hidden",$v="aria-label",Tv="role",Bv="aria-roledescription",zv="graphics-object",Nv="graphics-symbol",Ov=(t,e,n)=>({[Tv]:t,[Bv]:e,[$v]:n||void 0}),Rv=Bt(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),Uv={axis:{desc:"axis",caption:function(t){const e=t.datum,n=t.orient,r=e.title?Iv(t):null,i=t.context,o=i.scales[e.scale].value,a=i.dataflow.locale(),s=o.type;return("left"===n||"right"===n?"Y":"X")+"-axis"+(r?` titled '${r}'`:"")+` for a ${Kd(s)?"discrete":s} scale`+` with ${Np(a,o,t)}`}},legend:{desc:"legend",caption:function(t){const e=t.datum,n=e.title?Iv(t):null,r=`${e.type||""} legend`.trim(),i=e.scales,o=Object.keys(i),a=t.context,s=a.scales[i[o[0]]].value,u=a.dataflow.locale();return l=r,(l.length?l[0].toUpperCase()+l.slice(1):l)+(n?` titled '${n}'`:"")+` for ${function(t){return t=t.map((t=>t+("fill"===t||"stroke"===t?" color":""))),t.length<2?t[0]:t.slice(0,-1).join(", ")+" and "+F(t)}(o)}`+` with ${Np(u,s,t)}`;var l}},"title-text":{desc:"title",caption:t=>`Title text '${jv(t)}'`},"title-subtitle":{desc:"subtitle",caption:t=>`Subtitle text '${jv(t)}'`}},Lv={ariaRole:Tv,ariaRoleDescription:Bv,description:$v};function qv(t,e){const n=!1===e.aria;if(t(Sv,n||void 0),n||null==e.description)for(const e in Lv)t(Lv[e],void 0);else{const n=e.mark.marktype;t($v,e.description),t(Tv,e.ariaRole||("group"===n?zv:Nv)),t(Bv,e.ariaRoleDescription||`${n} mark`)}}function Pv(t){return!1===t.aria?{[Sv]:!0}:Rv[t.role]?null:Uv[t.role]?function(t,e){try{const n=t.items[0],r=e.caption||(()=>"");return Ov(e.role||Nv,e.desc,n.description||r(n))}catch(t){return null}}(t,Uv[t.role]):function(t){const e=t.marktype,n="group"===e||"text"===e||t.items.some((t=>null!=t.description&&!1!==t.aria));return Ov(n?zv:Nv,`${e} mark container`,t.description)}(t)}function jv(t){return V(t.text).join(" ")}function Iv(t){try{return V(F(t.items).items[0].text).join(" ")}catch(t){return null}}const Wv=t=>(t+"").replace(/&/g,"&").replace(//g,">");function Hv(){let t="",e="",n="";const r=[],i=()=>e=n="",o=(t,n)=>{var r;return null!=n&&(e+=` ${t}="${r=n,Wv(r).replace(/"/g,""").replace(/\t/g," ").replace(/\n/g," ").replace(/\r/g," ")}"`),a},a={open(s){(o=>{e&&(t+=`${e}>${n}`,i()),r.push(o)})(s),e="<"+s;for(var u=arguments.length,l=new Array(u>1?u-1:0),c=1;c${n}`:"/>"):``,i(),a},attr:o,text:t=>(n+=Wv(t),a),toString:()=>t};return a}const Yv=t=>Gv(Hv(),t)+"";function Gv(t,e){if(t.open(e.tagName),e.hasAttributes()){const n=e.attributes,r=n.length;for(let e=0;e{t.dirty=e}))),r.zdirty||(n.exit?(o.nested&&r.items.length?(u=r.items[0],u._svg&&this._update(o,u._svg,u)):n._svg&&(u=n._svg.parentNode,u&&u.removeChild(n._svg)),n._svg=null):(n=o.nested?r.items[0]:n,n._update!==e&&(n._svg&&n._svg.ownerSVGElement?this._update(o,n._svg,n):(this._dirtyAll=!1,t_(n,e)),n._update=e)));return!this._dirtyAll}mark(t,e,n,r){if(!this.isDirty(e))return e._svg;const i=this._svg,o=e.marktype,a=zy[o],s=!1===e.interactive?"none":null,u="g"===a.tag,l=r_(e,t,n,"g",i);if("group"!==o&&null!=r&&!r.includes(o))return Gy(l,0),e._svg;l.setAttribute("class",Vy(e));const c=Pv(e);for(const t in c)c_(l,t,c[t]);u||c_(l,"pointer-events",s),c_(l,"clip-path",e.clip?Og(this,e,e.group):null);let f=null,h=0;const d=t=>{const e=this.isDirty(t),n=r_(t,l,f,a.tag,i);e&&(this._update(a,n,t),u&&function(t,e,n,r){e=e.lastChild.previousSibling;let i,o=0;Cm(n,(n=>{i=t.mark(e,n,i,r),++o})),Gy(e,1+o)}(this,n,t,r)),f=n,++h};return a.nested?e.items.length&&d(e.items[0]):Cm(e,d),Gy(l,h),l}_update(t,e,n){i_=e,o_=e.__values__,qv(s_,n),t.attr(s_,n,this);const r=a_[t.type];r&&r.call(this,t,e,n),i_&&this.style(i_,n)}style(t,e){if(null!=e){for(const n in Vv){let r="font"===n?My(e):e[n];if(r===o_[n])continue;const i=Vv[n];null==r?t.removeAttribute(i):(Up(r)&&(r=Lp(r,this._defs.gradient,f_())),t.setAttribute(i,r+"")),o_[n]=r}for(const n in Xv)u_(t,Xv[n],e[n])}}defs(){const t=this._svg,e=this._defs;let n=e.el,r=0;for(const i in e.gradient)n||(e.el=n=Yy(t,1,"defs",Qv)),r=e_(n,e.gradient[i],r);for(const i in e.clipping)n||(e.el=n=Yy(t,1,"defs",Qv)),r=n_(n,e.clipping[i],r);n&&(0===r?(t.removeChild(n),e.el=null):Gy(n,r))}_clearDefs(){const t=this._defs;t.gradient={},t.clipping={}}}function t_(t,e){for(;t&&t.dirty!==e;t=t.mark.group){if(t.dirty=e,!t.mark||t.mark.dirty===e)return;t.mark.dirty=e}}function e_(t,e,n){let r,i,o;if("radial"===e.gradient){let r=Yy(t,n++,"pattern",Qv);l_(r,{id:Rp+e.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),r=Yy(r,0,"rect",Qv),l_(r,{width:1,height:1,fill:`url(${f_()}#${e.id})`}),l_(t=Yy(t,n++,"radialGradient",Qv),{id:e.id,fx:e.x1,fy:e.y1,fr:e.r1,cx:e.x2,cy:e.y2,r:e.r2})}else l_(t=Yy(t,n++,"linearGradient",Qv),{id:e.id,x1:e.x1,x2:e.x2,y1:e.y1,y2:e.y2});for(r=0,i=e.stops.length;r1&&t.previousSibling!=e}(a,n))&&e.insertBefore(a,n?n.nextSibling:e.firstChild),a}let i_=null,o_=null;const a_={group(t,e,n){const r=i_=e.childNodes[2];o_=r.__values__,t.foreground(s_,n,this),o_=e.__values__,i_=e.childNodes[1],t.content(s_,n,this);const i=i_=e.childNodes[0];t.background(s_,n,this);const o=!1===n.mark.interactive?"none":null;if(o!==o_.events&&(c_(r,"pointer-events",o),c_(i,"pointer-events",o),o_.events=o),n.strokeForeground&&n.stroke){const t=n.fill;c_(r,"display",null),this.style(i,n),c_(i,"stroke",null),t&&(n.fill=null),o_=r.__values__,this.style(r,n),t&&(n.fill=t),i_=null}else c_(r,"display","none")},image(t,e,n){!1===n.smooth?(u_(e,"image-rendering","optimizeSpeed"),u_(e,"image-rendering","pixelated")):u_(e,"image-rendering",null)},text(t,e,n){const r=wy(n);let i,o,a,s;k(r)?(o=r.map((t=>Ay(n,t))),i=o.join("\n"),i!==o_.text&&(Gy(e,0),a=e.ownerDocument,s=by(n),o.forEach(((t,r)=>{const i=Wy(a,"tspan",Qv);i.__data__=n,i.textContent=t,r&&(i.setAttribute("x",0),i.setAttribute("dy",s)),e.appendChild(i)})),o_.text=i)):(o=Ay(n,r),o!==o_.text&&(e.textContent=o,o_.text=o)),c_(e,"font-family",My(n)),c_(e,"font-size",xy(n)+"px"),c_(e,"font-style",n.fontStyle),c_(e,"font-variant",n.fontVariant),c_(e,"font-weight",n.fontWeight)}};function s_(t,e,n){e!==o_[t]&&(n?function(t,e,n,r){null!=n?t.setAttributeNS(r,e,n):t.removeAttributeNS(r,e)}(i_,t,e,n):c_(i_,t,e),o_[t]=e)}function u_(t,e,n){n!==o_[e]&&(null==n?t.style.removeProperty(e):t.style.setProperty(e,n+""),o_[e]=n)}function l_(t,e){for(const n in e)c_(t,n,e[n])}function c_(t,e,n){null!=n?t.setAttribute(e,n):t.removeAttribute(e)}function f_(){let t;return"undefined"==typeof window?"":(t=window.location).hash?t.href.slice(0,-t.hash.length):t.href}class h_ extends Qy{constructor(t){super(t),this._text=null,this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(t){const e=Hv();e.open("svg",ot({},Zm,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}));const n=this._bgcolor;return n&&"transparent"!==n&&"none"!==n&&e.open("rect",{width:this._width,height:this._height,fill:n}).close(),e.open("g",Jv,{transform:"translate("+this._origin+")"}),this.mark(e,t),e.close(),this.defs(e),this._text=e.close()+"",this}mark(t,e){const n=zy[e.marktype],r=n.tag,i=[qv,n.attr];t.open("g",{class:Vy(e),"clip-path":e.clip?Og(this,e,e.group):null},Pv(e),{"pointer-events":"g"!==r&&!1===e.interactive?"none":null});const o=o=>{const a=this.href(o);if(a&&t.open("a",a),t.open(r,this.attr(e,o,i,"g"!==r?r:null)),"text"===r){const e=wy(o);if(k(e)){const n={x:0,dy:by(o)};for(let r=0;rthis.mark(t,e))),t.close(),r&&a?(i&&(o.fill=null),o.stroke=a,t.open("path",this.attr(e,o,n.foreground,"bgrect")).close(),i&&(o.fill=i)):t.open("path",this.attr(e,o,n.foreground,"bgfore")).close()}t.close(),a&&t.close()};return n.nested?e.items&&e.items.length&&o(e.items[0]):Cm(e,o),t.close()}href(t){const e=t.href;let n;if(e){if(n=this._hrefs&&this._hrefs[e])return n;this.sanitizeURL(e).then((t=>{t["xlink:href"]=t.href,t.href=null,(this._hrefs||(this._hrefs={}))[e]=t}))}return null}attr(t,e,n,r){const i={},o=(t,e,n,r)=>{i[r||t]=e};return Array.isArray(n)?n.forEach((t=>t(o,e,this))):n(o,e,this),r&&function(t,e,n,r,i){let o;if(null==e)return t;"bgrect"===r&&!1===n.interactive&&(t["pointer-events"]="none");if("bgfore"===r&&(!1===n.interactive&&(t["pointer-events"]="none"),t.display="none",null!==e.fill))return t;"image"===r&&!1===e.smooth&&(o=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]);"text"===r&&(t["font-family"]=My(e),t["font-size"]=xy(e)+"px",t["font-style"]=e.fontStyle,t["font-variant"]=e.fontVariant,t["font-weight"]=e.fontWeight);for(const n in Vv){let r=e[n];const o=Vv[n];("transparent"!==r||"fill"!==o&&"stroke"!==o)&&null!=r&&(Up(r)&&(r=Lp(r,i.gradient,"")),t[o]=r)}for(const t in Xv){const n=e[t];null!=n&&(o=o||[],o.push(`${Xv[t]}: ${n};`))}o&&(t.style=o.join(" "))}(i,e,t,r,this._defs),i}defs(t){const e=this._defs.gradient,n=this._defs.clipping;if(0!==Object.keys(e).length+Object.keys(n).length){t.open("defs");for(const n in e){const r=e[n],i=r.stops;"radial"===r.gradient?(t.open("pattern",{id:Rp+n,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),t.open("rect",{width:"1",height:"1",fill:"url(#"+n+")"}).close(),t.close(),t.open("radialGradient",{id:n,fx:r.x1,fy:r.y1,fr:r.r1,cx:r.x2,cy:r.y2,r:r.r2})):t.open("linearGradient",{id:n,x1:r.x1,x2:r.x2,y1:r.y1,y2:r.y2});for(let e=0;e!d_.svgMarkTypes.includes(t)));this._svgRenderer.render(t,d_.svgMarkTypes),this._canvasRenderer.render(t,n)}resize(t,e,n,r){return super.resize(t,e,n,r),this._svgRenderer.resize(t,e,n,r),this._canvasRenderer.resize(t,e,n,r),this}background(t){return d_.svgOnTop?this._canvasRenderer.background(t):this._svgRenderer.background(t),this}}class g_ extends _v{constructor(t,e){super(t,e)}initialize(t,e,n){const r=Yy(Yy(t,0,"div"),d_.svgOnTop?0:1,"div");return super.initialize(r,e,n)}}const m_="canvas",y_="hybrid",v_="none",__={Canvas:m_,PNG:"png",SVG:"svg",Hybrid:y_,None:v_},x_={};function b_(t,e){return t=String(t||"").toLowerCase(),arguments.length>1?(x_[t]=e,this):x_[t]}function w_(t,e,n){const r=[],i=(new Rg).union(e),o=t.marktype;return o?k_(t,i,n,r):"group"===o?A_(t,i,n,r):s("Intersect scene must be mark node or group item.")}function k_(t,e,n,r){if(function(t,e,n){return t.bounds&&e.intersects(t.bounds)&&("group"===t.marktype||!1!==t.interactive&&(!n||n(t)))}(t,e,n)){const i=t.items,o=t.marktype,a=i.length;let s=0;if("group"===o)for(;s=0;r--)if(i[r]!=o[r])return!1;for(r=i.length-1;r>=0;r--)if(!F_(t[n=i[r]],e[n],n))return!1;return typeof t==typeof e}(t,e):t==e)}function S_(t,e){return F_(Xp(t),Xp(e))}const $_="top",T_="left",B_="right",z_="bottom",N_="top-left",O_="top-right",R_="bottom-left",U_="bottom-right",L_="start",q_="middle",P_="end",j_="x",I_="y",W_="group",H_="axis",Y_="title",G_="frame",V_="scope",X_="legend",J_="row-header",Z_="row-footer",Q_="row-title",K_="column-header",tx="column-footer",ex="column-title",nx="padding",rx="symbol",ix="fit",ox="fit-x",ax="fit-y",sx="pad",ux="none",lx="all",cx="each",fx="flush",hx="column",dx="row";function px(t){Ja.call(this,null,t)}function gx(t,e,n){return e(t.bounds.clear(),t,n)}dt(px,Ja,{transform(t,e){const n=e.dataflow,r=t.mark,i=r.marktype,o=zy[i],a=o.bound;let s,u=r.bounds;if(o.nested)r.items.length&&n.dirty(r.items[0]),u=gx(r,a),r.items.forEach((t=>{t.bounds.clear().union(u)}));else if(i===W_||t.modified())switch(e.visit(e.MOD,(t=>n.dirty(t))),u.clear(),r.items.forEach((t=>u.union(gx(t,a)))),r.role){case H_:case X_:case Y_:e.reflow()}else s=e.changed(e.REM),e.visit(e.ADD,(t=>{u.union(gx(t,a))})),e.visit(e.MOD,(t=>{s=s||u.alignsWith(t.bounds),n.dirty(t),u.union(gx(t,a))})),s&&(u.clear(),r.items.forEach((t=>u.union(t.bounds))));return D_(r),e.modifies("bounds")}});const mx=":vega_identifier:";function yx(t){Ja.call(this,0,t)}function vx(t){Ja.call(this,null,t)}function _x(t){Ja.call(this,null,t)}yx.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},dt(yx,Ja,{transform(t,e){const n=(i=e.dataflow)._signals[mx]||(i._signals[mx]=i.add(0)),r=t.as;var i;let o=n.value;return e.visit(e.ADD,(t=>t[r]=t[r]||++o)),n.set(this.value=o),e}}),dt(vx,Ja,{transform(t,e){let n=this.value;n||(n=e.dataflow.scenegraph().mark(t.markdef,function(t){const e=t.groups,n=t.parent;return e&&1===e.size?e.get(Object.keys(e.object)[0]):e&&n?e.lookup(n):null}(t),t.index),n.group.context=t.context,t.context.group||(t.context.group=n.group),n.source=this.source,n.clip=t.clip,n.interactive=t.interactive,this.value=n);const r=n.marktype===W_?Lg:Ug;return e.visit(e.ADD,(t=>r.call(t,n))),(t.modified("clip")||t.modified("interactive"))&&(n.clip=t.clip,n.interactive=!!t.interactive,n.zdirty=!0,e.reflow()),n.items=e.source,e}});const xx={parity:t=>t.filter(((t,e)=>e%2?t.opacity=0:1)),greedy:(t,e)=>{let n;return t.filter(((t,r)=>r&&bx(n.bounds,t.bounds,e)?t.opacity=0:(n=t,1)))}},bx=(t,e,n)=>n>Math.max(e.x1-t.x2,t.x1-e.x2,e.y1-t.y2,t.y1-e.y2),wx=(t,e)=>{for(var n,r=1,i=t.length,o=t[0].bounds;r{const e=t.bounds;return e.width()>1&&e.height()>1},Ax=t=>(t.forEach((t=>t.opacity=1)),t),Mx=(t,e)=>t.reflow(e.modified()).modifies("opacity");function Ex(t){Ja.call(this,null,t)}dt(_x,Ja,{transform(t,e){const n=xx[t.method]||xx.parity,r=t.separation||0;let i,o,a=e.materialize(e.SOURCE).source;if(!a||!a.length)return;if(!t.method)return t.modified("method")&&(Ax(a),e=Mx(e,t)),e;if(a=a.filter(kx),!a.length)return;if(t.sort&&(a=a.slice().sort(t.sort)),i=Ax(a),e=Mx(e,t),i.length>=3&&wx(i,r)){do{i=n(i,r)}while(i.length>=3&&wx(i,r));i.length<3&&!F(a).opacity&&(i.length>1&&(F(i).opacity=0),F(a).opacity=1)}t.boundScale&&t.boundTolerance>=0&&(o=((t,e,n)=>{var r=t.range(),i=new Rg;return e===$_||e===z_?i.set(r[0],-1/0,r[1],1/0):i.set(-1/0,r[0],1/0,r[1]),i.expand(n||1),t=>i.encloses(t.bounds)})(t.boundScale,t.boundOrient,+t.boundTolerance),a.forEach((t=>{o(t)||(t.opacity=0)})));const s=i[0].mark.bounds.clear();return a.forEach((t=>{t.opacity&&s.union(t.bounds)})),e}}),dt(Ex,Ja,{transform(t,e){const n=e.dataflow;if(e.visit(e.ALL,(t=>n.dirty(t))),e.fields&&e.fields.zindex){const t=e.source&&e.source[0];t&&(t.mark.zdirty=!0)}}});const Dx=new Rg;function Cx(t,e,n){return t[e]===n?0:(t[e]=n,1)}function Fx(t){var e=t.items[0].orient;return e===T_||e===B_}function Sx(t,e,n,r){var i,o,a=e.items[0],s=a.datum,u=null!=a.translate?a.translate:.5,l=a.orient,c=function(t){let e=+t.grid;return[t.ticks?e++:-1,t.labels?e++:-1,e+ +t.domain]}(s),f=a.range,h=a.offset,d=a.position,p=a.minExtent,g=a.maxExtent,m=s.title&&a.items[c[2]].items[0],y=a.titlePadding,v=a.bounds,_=m&&ky(m),x=0,b=0;switch(Dx.clear().union(v),v.clear(),(i=c[0])>-1&&v.union(a.items[i].bounds),(i=c[1])>-1&&v.union(a.items[i].bounds),l){case $_:x=d||0,b=-h,o=Math.max(p,Math.min(g,-v.y1)),v.add(0,-o).add(f,0),m&&$x(t,m,o,y,_,0,-1,v);break;case T_:x=-h,b=d||0,o=Math.max(p,Math.min(g,-v.x1)),v.add(-o,0).add(0,f),m&&$x(t,m,o,y,_,1,-1,v);break;case B_:x=n+h,b=d||0,o=Math.max(p,Math.min(g,v.x2)),v.add(0,0).add(o,f),m&&$x(t,m,o,y,_,1,1,v);break;case z_:x=d||0,b=r+h,o=Math.max(p,Math.min(g,v.y2)),v.add(0,0).add(f,o),m&&$x(t,m,o,y,0,0,1,v);break;default:x=a.x,b=a.y}return Ig(v.translate(x,b),a),Cx(a,"x",x+u)|Cx(a,"y",b+u)&&(a.bounds=Dx,t.dirty(a),a.bounds=v,t.dirty(a)),a.mark.bounds.clear().union(v)}function $x(t,e,n,r,i,o,a,s){const u=e.bounds;if(e.auto){const s=a*(n+i+r);let l=0,c=0;t.dirty(e),o?l=(e.x||0)-(e.x=s):c=(e.y||0)-(e.y=s),e.mark.bounds.clear().union(u.translate(-l,-c)),t.dirty(e)}s.union(u)}const Tx=(t,e)=>Math.floor(Math.min(t,e)),Bx=(t,e)=>Math.ceil(Math.max(t,e));function zx(t){return(new Rg).set(0,0,t.width||0,t.height||0)}function Nx(t){const e=t.bounds.clone();return e.empty()?e.set(0,0,0,0):e.translate(-(t.x||0),-(t.y||0))}function Ox(t,e,n){const r=A(t)?t[e]:t;return null!=r?r:void 0!==n?n:0}function Rx(t){return t<0?Math.ceil(-t):0}function Ux(t,e,n){var r,i,o,a,s,u,l,c,f,h,d,p=!n.nodirty,g=n.bounds===fx?zx:Nx,m=Dx.set(0,0,0,0),y=Ox(n.align,hx),v=Ox(n.align,dx),_=Ox(n.padding,hx),x=Ox(n.padding,dx),b=n.columns||e.length,w=b<=0?1:Math.ceil(e.length/b),k=e.length,A=Array(k),M=Array(b),E=0,D=Array(k),C=Array(w),F=0,S=Array(k),$=Array(k),T=Array(k);for(i=0;i1)for(i=0;i0&&(S[i]+=f/2);if(v&&Ox(n.center,dx)&&1!==b)for(i=0;i0&&($[i]+=h/2);for(i=0;ii&&(t.warn("Grid headers exceed limit: "+i),e=e.slice(0,i)),A+=o,g=0,y=e.length;g=0&&null==(x=n[m]);m-=h);s?(b=null==d?x.x:Math.round(x.bounds.x1+d*x.bounds.width()),w=A):(b=A,w=null==d?x.y:Math.round(x.bounds.y1+d*x.bounds.height())),v.union(_.bounds.translate(b-(_.x||0),w-(_.y||0))),_.x=b,_.y=w,t.dirty(_),M=a(M,v[l])}return M}function Ix(t,e,n,r,i,o){if(e){t.dirty(e);var a=n,s=n;r?a=Math.round(i.x1+o*i.width()):s=Math.round(i.y1+o*i.height()),e.bounds.translate(a-(e.x||0),s-(e.y||0)),e.mark.bounds.clear().union(e.bounds),e.x=a,e.y=s,t.dirty(e)}}function Wx(t,e,n,r,i,o,a){const s=function(t,e){const n=t[e]||{};return(e,r)=>null!=n[e]?n[e]:null!=t[e]?t[e]:r}(n,e),u=function(t,e){let n=-1/0;return t.forEach((t=>{null!=t.offset&&(n=Math.max(n,t.offset))})),n>-1/0?n:e}(t,s("offset",0)),l=s("anchor",L_),c=l===P_?1:l===q_?.5:0,f={align:cx,bounds:s("bounds",fx),columns:"vertical"===s("direction")?1:t.length,padding:s("margin",8),center:s("center"),nodirty:!0};switch(e){case T_:f.anchor={x:Math.floor(r.x1)-u,column:P_,y:c*(a||r.height()+2*r.y1),row:l};break;case B_:f.anchor={x:Math.ceil(r.x2)+u,y:c*(a||r.height()+2*r.y1),row:l};break;case $_:f.anchor={y:Math.floor(i.y1)-u,row:P_,x:c*(o||i.width()+2*i.x1),column:l};break;case z_:f.anchor={y:Math.ceil(i.y2)+u,x:c*(o||i.width()+2*i.x1),column:l};break;case N_:f.anchor={x:u,y:u};break;case O_:f.anchor={x:o-u,y:u,column:P_};break;case R_:f.anchor={x:u,y:a-u,row:P_};break;case U_:f.anchor={x:o-u,y:a-u,column:P_,row:P_}}return f}function Hx(t,e){var n,r,i=e.items[0],o=i.datum,a=i.orient,s=i.bounds,u=i.x,l=i.y;return i._bounds?i._bounds.clear().union(s):i._bounds=s.clone(),s.clear(),function(t,e,n){var r=e.padding,i=r-n.x,o=r-n.y;if(e.datum.title){var a=e.items[1].items[0],s=a.anchor,u=e.titlePadding||0,l=r-a.x,c=r-a.y;switch(a.orient){case T_:i+=Math.ceil(a.bounds.width())+u;break;case B_:case z_:break;default:o+=a.bounds.height()+u}switch((i||o)&&Gx(t,n,i,o),a.orient){case T_:c+=Yx(e,n,a,s,1,1);break;case B_:l+=Yx(e,n,a,P_,0,0)+u,c+=Yx(e,n,a,s,1,1);break;case z_:l+=Yx(e,n,a,s,0,0),c+=Yx(e,n,a,P_,-1,0,1)+u;break;default:l+=Yx(e,n,a,s,0,0)}(l||c)&&Gx(t,a,l,c),(l=Math.round(a.bounds.x1-r))<0&&(Gx(t,n,-l,0),Gx(t,a,-l,0))}else(i||o)&&Gx(t,n,i,o)}(t,i,i.items[0].items[0]),s=function(t,e){return t.items.forEach((t=>e.union(t.bounds))),e.x1=t.padding,e.y1=t.padding,e}(i,s),n=2*i.padding,r=2*i.padding,s.empty()||(n=Math.ceil(s.width()+n),r=Math.ceil(s.height()+r)),o.type===rx&&function(t){const e=t.reduce(((t,e)=>(t[e.column]=Math.max(e.bounds.x2-e.x,t[e.column]||0),t)),{});t.forEach((t=>{t.width=e[t.column],t.height=t.bounds.y2-t.y}))}(i.items[0].items[0].items[0].items),a!==ux&&(i.x=u=0,i.y=l=0),i.width=n,i.height=r,Ig(s.set(u,l,u+n,l+r),i),i.mark.bounds.clear().union(s),i}function Yx(t,e,n,r,i,o,a){const s="symbol"!==t.datum.type,u=n.datum.vgrad,l=(!s||!o&&u||a?e:e.items[0]).bounds[i?"y2":"x2"]-t.padding,c=u&&o?l:0,f=u&&o?0:l,h=i<=0?0:ky(n);return Math.round(r===L_?c:r===P_?f-h:.5*(l-h))}function Gx(t,e,n,r){e.x+=n,e.y+=r,e.bounds.translate(n,r),e.mark.bounds.translate(n,r),t.dirty(e)}function Vx(t){Ja.call(this,null,t)}dt(Vx,Ja,{transform(t,e){const n=e.dataflow;return t.mark.items.forEach((e=>{t.layout&&Lx(n,e,t.layout),function(t,e,n){var r,i,o,a,s,u=e.items,l=Math.max(0,e.width||0),c=Math.max(0,e.height||0),f=(new Rg).set(0,0,l,c),h=f.clone(),d=f.clone(),p=[];for(a=0,s=u.length;a{(o=t.orient||B_)!==ux&&(e[o]||(e[o]=[])).push(t)}));for(const r in e){const i=e[r];Ux(t,i,Wx(i,r,n.legends,h,d,l,c))}p.forEach((e=>{const r=e.bounds;if(r.equals(e._bounds)||(e.bounds=e._bounds,t.dirty(e),e.bounds=r,t.dirty(e)),!n.autosize||n.autosize.type!==ix&&n.autosize.type!==ox&&n.autosize.type!==ax)f.union(r);else switch(e.orient){case T_:case B_:f.add(r.x1,0).add(r.x2,0);break;case $_:case z_:f.add(0,r.y1).add(0,r.y2)}}))}f.union(h).union(d),r&&f.union(function(t,e,n,r,i){var o,a=e.items[0],s=a.frame,u=a.orient,l=a.anchor,c=a.offset,f=a.padding,h=a.items[0].items[0],d=a.items[1]&&a.items[1].items[0],p=u===T_||u===B_?r:n,g=0,m=0,y=0,v=0,_=0;if(s!==W_?u===T_?(g=i.y2,p=i.y1):u===B_?(g=i.y1,p=i.y2):(g=i.x1,p=i.x2):u===T_&&(g=r,p=0),o=l===L_?g:l===P_?p:(g+p)/2,d&&d.text){switch(u){case $_:case z_:_=h.bounds.height()+f;break;case T_:v=h.bounds.width()+f;break;case B_:v=-h.bounds.width()-f}Dx.clear().union(d.bounds),Dx.translate(v-(d.x||0),_-(d.y||0)),Cx(d,"x",v)|Cx(d,"y",_)&&(t.dirty(d),d.bounds.clear().union(Dx),d.mark.bounds.clear().union(Dx),t.dirty(d)),Dx.clear().union(d.bounds)}else Dx.clear();switch(Dx.union(h.bounds),u){case $_:m=o,y=i.y1-Dx.height()-c;break;case T_:m=i.x1-Dx.width()-c,y=o;break;case B_:m=i.x2+Dx.width()+c,y=o;break;case z_:m=o,y=i.y2+c;break;default:m=a.x,y=a.y}return Cx(a,"x",m)|Cx(a,"y",y)&&(Dx.translate(m,y),t.dirty(a),a.bounds.clear().union(Dx),e.bounds.clear().union(Dx),t.dirty(a)),a.bounds}(t,r,l,c,f));e.clip&&f.set(0,0,e.width||0,e.height||0);!function(t,e,n,r){const i=r.autosize||{},o=i.type;if(t._autosize<1||!o)return;let a=t._width,s=t._height,u=Math.max(0,e.width||0),l=Math.max(0,Math.ceil(-n.x1)),c=Math.max(0,e.height||0),f=Math.max(0,Math.ceil(-n.y1));const h=Math.max(0,Math.ceil(n.x2-u)),d=Math.max(0,Math.ceil(n.y2-c));if(i.contains===nx){const e=t.padding();a-=e.left+e.right,s-=e.top+e.bottom}o===ux?(l=0,f=0,u=a,c=s):o===ix?(u=Math.max(0,a-l-h),c=Math.max(0,s-f-d)):o===ox?(u=Math.max(0,a-l-h),s=c+f+d):o===ax?(a=u+l+h,c=Math.max(0,s-f-d)):o===sx&&(a=u+l+h,s=c+f+d);t._resizeView(a,s,u,c,[l,f],i.resize)}(t,e,f,n)}(n,e,t)})),function(t){return t&&"legend-entry"!==t.mark.role}(t.mark.group)?e.reflow():e}});var Xx=Object.freeze({__proto__:null,bound:px,identifier:yx,mark:vx,overlap:_x,render:Ex,viewlayout:Vx});function Jx(t){Ja.call(this,null,t)}function Zx(t){Ja.call(this,null,t)}function Qx(){return _a({})}function Kx(t){Ja.call(this,null,t)}function tb(t){Ja.call(this,[],t)}dt(Jx,Ja,{transform(t,e){if(this.value&&!t.modified())return e.StopPropagation;var n=e.dataflow.locale(),r=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=this.value,o=t.scale,a=_p(o,null==t.count?t.values?t.values.length:10:t.count,t.minstep),s=t.format||wp(n,o,a,t.formatSpecifier,t.formatType,!!t.values),u=t.values?xp(o,t.values,a):bp(o,a);return i&&(r.rem=i),i=u.map(((t,e)=>_a({index:e/(u.length-1||1),value:t,label:s(t)}))),t.extra&&i.length&&i.push(_a({index:-1,extra:{value:i[0].value},label:""})),r.source=i,r.add=i,this.value=i,r}}),dt(Zx,Ja,{transform(t,e){var n=e.dataflow,r=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=t.item||Qx,o=t.key||ya,a=this.value;return k(r.encode)&&(r.encode=null),a&&(t.modified("key")||e.modified(o))&&s("DataJoin does not support modified key function or fields."),a||(e=e.addAll(),this.value=a=function(t){const e=ft().test((t=>t.exit));return e.lookup=n=>e.get(t(n)),e}(o)),e.visit(e.ADD,(t=>{const e=o(t);let n=a.get(e);n?n.exit?(a.empty--,r.add.push(n)):r.mod.push(n):(n=i(t),a.set(e,n),r.add.push(n)),n.datum=t,n.exit=!1})),e.visit(e.MOD,(t=>{const e=o(t),n=a.get(e);n&&(n.datum=t,r.mod.push(n))})),e.visit(e.REM,(t=>{const e=o(t),n=a.get(e);t!==n.datum||n.exit||(r.rem.push(n),n.exit=!0,++a.empty)})),e.changed(e.ADD_MOD)&&r.modifies("datum"),(e.clean()||t.clean&&a.empty>n.cleanThreshold)&&n.runAfter(a.clean),r}}),dt(Kx,Ja,{transform(t,e){var n=e.fork(e.ADD_REM),r=t.mod||!1,i=t.encoders,o=e.encode;if(k(o)){if(!n.changed()&&!o.every((t=>i[t])))return e.StopPropagation;o=o[0],n.encode=null}var a="enter"===o,s=i.update||g,u=i.enter||g,l=i.exit||g,c=(o&&!a?i[o]:s)||g;if(e.changed(e.ADD)&&(e.visit(e.ADD,(e=>{u(e,t),s(e,t)})),n.modifies(u.output),n.modifies(s.output),c!==g&&c!==s&&(e.visit(e.ADD,(e=>{c(e,t)})),n.modifies(c.output))),e.changed(e.REM)&&l!==g&&(e.visit(e.REM,(e=>{l(e,t)})),n.modifies(l.output)),a||c!==g){const i=e.MOD|(t.modified()?e.REFLOW:0);a?(e.visit(i,(e=>{const i=u(e,t)||r;(c(e,t)||i)&&n.mod.push(e)})),n.mod.length&&n.modifies(u.output)):e.visit(i,(e=>{(c(e,t)||r)&&n.mod.push(e)})),n.mod.length&&n.modifies(c.output)}return n.changed()?n:e.StopPropagation}}),dt(tb,Ja,{transform(t,e){if(null!=this.value&&!t.modified())return e.StopPropagation;var n,r,i,o,a,s=e.dataflow.locale(),u=e.fork(e.NO_SOURCE|e.NO_FIELDS),l=this.value,c=t.type||pp,f=t.scale,h=+t.limit,d=_p(f,null==t.count?5:t.count,t.minstep),p=!!t.values||c===pp,g=t.format||Cp(s,f,d,c,t.formatSpecifier,t.formatType,p),m=t.values||Ep(f,d);return l&&(u.rem=l),c===pp?(h&&m.length>h?(e.dataflow.warn("Symbol legend count exceeds limit, filtering items."),l=m.slice(0,h-1),a=!0):l=m,J(i=t.size)?(t.values||0!==f(l[0])||(l=l.slice(1)),o=l.reduce(((e,n)=>Math.max(e,i(n,t))),0)):i=rt(o=i||8),l=l.map(((e,n)=>_a({index:n,label:g(e,n,l),value:e,offset:o,size:i(e,t)}))),a&&(a=m[l.length],l.push(_a({index:l.length,label:`…${m.length-l.length} entries`,value:a,offset:o,size:i(a,t)})))):"gradient"===c?(n=f.domain(),r=up(f,n[0],F(n)),m.length<3&&!t.values&&n[0]!==F(n)&&(m=[n[0],F(n)]),l=m.map(((t,e)=>_a({index:e,label:g(t,e,m),value:t,perc:r(t)})))):(i=m.length-1,r=function(t){const e=t.domain(),n=e.length-1;let r=+e[0],i=+F(e),o=i-r;if(t.type===Td){const t=n?o/n:.1;r-=t,i+=t,o=i-r}return t=>(t-r)/o}(f),l=m.map(((t,e)=>_a({index:e,label:g(t,e,m),value:t,perc:e?r(t):0,perc2:e===i?1:r(m[e+1])})))),u.source=l,u.add=l,this.value=l,u}});const eb=t=>t.source.x,nb=t=>t.source.y,rb=t=>t.target.x,ib=t=>t.target.y;function ob(t){Ja.call(this,{},t)}ob.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},dt(ob,Ja,{transform(t,e){var n=t.sourceX||eb,r=t.sourceY||nb,i=t.targetX||rb,o=t.targetY||ib,a=t.as||"path",u=t.orient||"vertical",l=t.shape||"line",c=lb.get(l+"-"+u)||lb.get(l);return c||s("LinkPath unsupported type: "+t.shape+(t.orient?"-"+t.orient:"")),e.visit(e.SOURCE,(t=>{t[a]=c(n(t),r(t),i(t),o(t))})),e.reflow(t.modified()).modifies(a)}});const ab=(t,e,n,r)=>"M"+t+","+e+"L"+n+","+r,sb=(t,e,n,r)=>{var i=n-t,o=r-e,a=Math.hypot(i,o)/2;return"M"+t+","+e+"A"+a+","+a+" "+180*Math.atan2(o,i)/Math.PI+" 0 1 "+n+","+r},ub=(t,e,n,r)=>{const i=n-t,o=r-e,a=.2*(i+o),s=.2*(o-i);return"M"+t+","+e+"C"+(t+a)+","+(e+s)+" "+(n+s)+","+(r-a)+" "+n+","+r},lb=ft({line:ab,"line-radial":(t,e,n,r)=>ab(e*Math.cos(t),e*Math.sin(t),r*Math.cos(n),r*Math.sin(n)),arc:sb,"arc-radial":(t,e,n,r)=>sb(e*Math.cos(t),e*Math.sin(t),r*Math.cos(n),r*Math.sin(n)),curve:ub,"curve-radial":(t,e,n,r)=>ub(e*Math.cos(t),e*Math.sin(t),r*Math.cos(n),r*Math.sin(n)),"orthogonal-horizontal":(t,e,n,r)=>"M"+t+","+e+"V"+r+"H"+n,"orthogonal-vertical":(t,e,n,r)=>"M"+t+","+e+"H"+n+"V"+r,"orthogonal-radial":(t,e,n,r)=>{const i=Math.cos(t),o=Math.sin(t),a=Math.cos(n),s=Math.sin(n);return"M"+e*i+","+e*o+"A"+e+","+e+" 0 0,"+((Math.abs(n-t)>Math.PI?n<=t:n>t)?1:0)+" "+e*a+","+e*s+"L"+r*a+","+r*s},"diagonal-horizontal":(t,e,n,r)=>{const i=(t+n)/2;return"M"+t+","+e+"C"+i+","+e+" "+i+","+r+" "+n+","+r},"diagonal-vertical":(t,e,n,r)=>{const i=(e+r)/2;return"M"+t+","+e+"C"+t+","+i+" "+n+","+i+" "+n+","+r},"diagonal-radial":(t,e,n,r)=>{const i=Math.cos(t),o=Math.sin(t),a=Math.cos(n),s=Math.sin(n),u=(e+r)/2;return"M"+e*i+","+e*o+"C"+u*i+","+u*o+" "+u*a+","+u*s+" "+r*a+","+r*s}});function cb(t){Ja.call(this,null,t)}cb.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},dt(cb,Ja,{transform(t,e){var n,r,i,o=t.as||["startAngle","endAngle"],a=o[0],s=o[1],u=t.field||d,l=t.startAngle||0,c=null!=t.endAngle?t.endAngle:2*Math.PI,f=e.source,h=f.map(u),p=h.length,g=l,m=(c-l)/$e(h),y=Se(p);for(t.sort&&y.sort(((t,e)=>h[t]-h[e])),n=0;nt+(e<0?-1:e>0?1:0)),0))!==e.length&&n.warn("Log scale domain includes zero: "+Ct(e)));return e}function mb(t,e,n){return J(t)&&(e||n)?op(t,yb(e||[0,1],n)):t}function yb(t,e){return e?t.slice().reverse():t}function vb(t){Ja.call(this,null,t)}dt(pb,Ja,{transform(t,e){var n=e.dataflow,r=this.value,i=function(t){var e,n=t.type,r="";if(n===Cd)return Cd+"-"+bd;(function(t){const e=t.type;return Qd(e)&&e!==Ed&&e!==Dd&&(t.scheme||t.range&&t.range.length&&t.range.every(xt))})(t)&&(r=2===(e=t.rawDomain?t.rawDomain.length:t.domain?t.domain.length+ +(null!=t.domainMid):0)?Cd+"-":3===e?Fd+"-":"");return(r+n||bd).toLowerCase()}(t);for(i in r&&i===r.type||(this.value=r=Xd(i)()),t)if(!db[i]){if("padding"===i&&hb(r.type))continue;J(r[i])?r[i](t[i]):n.warn("Unsupported scale property: "+i)}return function(t,e,n){var r=t.type,i=e.round||!1,o=e.range;if(null!=e.rangeStep)o=function(t,e,n){t!==Nd&&t!==zd&&s("Only band and point scales support rangeStep.");var r=(null!=e.paddingOuter?e.paddingOuter:e.padding)||0,i=t===zd?1:(null!=e.paddingInner?e.paddingInner:e.padding)||0;return[0,e.rangeStep*xd(n,i,r)]}(r,e,n);else if(e.scheme&&(o=function(t,e,n){var r,i=e.schemeExtent;k(e.scheme)?r=ap(e.scheme,e.interpolate,e.interpolateGamma):(r=dp(e.scheme.toLowerCase()))||s(`Unrecognized scheme name: ${e.scheme}`);return n=t===Td?n+1:t===Od?n-1:t===Sd||t===$d?+e.schemeCount||fb:n,np(t)?mb(r,i,e.reverse):J(r)?sp(mb(r,i),n):t===Bd?r:r.slice(0,n)}(r,e,n),J(o))){if(t.interpolator)return t.interpolator(o);s(`Scale type ${r} does not support interpolating color schemes.`)}if(o&&np(r))return t.interpolator(ap(yb(o,e.reverse),e.interpolate,e.interpolateGamma));o&&e.interpolate&&t.interpolate?t.interpolate(lp(e.interpolate,e.interpolateGamma)):J(t.round)?t.round(i):J(t.rangeRound)&&t.interpolate(i?yh:mh);o&&t.range(yb(o,e.reverse))}(r,t,function(t,e,n){let r=e.bins;if(r&&!k(r)){const e=t.domain(),n=e[0],i=F(e),o=r.step;let a=null==r.start?n:r.start,u=null==r.stop?i:r.stop;o||s("Scale bins parameter missing step property."),ai&&(u=o*Math.floor(i/o)),r=Se(a,u+o/2,o)}r?t.bins=r:t.bins&&delete t.bins;t.type===Od&&(r?e.domain||e.domainRaw||(t.domain(r),n=r.length):t.bins=t.domain());return n}(r,t,function(t,e,n){const r=function(t,e,n){return e?(t.domain(gb(t.type,e,n)),e.length):-1}(t,e.domainRaw,n);if(r>-1)return r;var i,o,a=e.domain,s=t.type,u=e.zero||void 0===e.zero&&function(t){const e=t.type;return!t.bins&&(e===bd||e===kd||e===Ad)}(t);if(!a)return 0;hb(s)&&e.padding&&a[0]!==F(a)&&(a=function(t,e,n,r,i,o){var a=Math.abs(F(n)-n[0]),s=a/(a-2*r),u=t===wd?I(e,null,s):t===Ad?W(e,null,s,.5):t===kd?W(e,null,s,i||1):t===Md?H(e,null,s,o||1):j(e,null,s);return e=e.slice(),e[0]=u[0],e[e.length-1]=u[1],e}(s,a,e.range,e.padding,e.exponent,e.constant));if((u||null!=e.domainMin||null!=e.domainMax||null!=e.domainMid)&&(i=(a=a.slice()).length-1||1,u&&(a[0]>0&&(a[0]=0),a[i]<0&&(a[i]=0)),null!=e.domainMin&&(a[0]=e.domainMin),null!=e.domainMax&&(a[i]=e.domainMax),null!=e.domainMid)){const t=(o=e.domainMid)>a[i]?i+1:ot(u);if(null==e)d.push(t.slice());else for(i={},o=0,a=t.length;oh&&(h=f),n&&c.sort(n)}return d.max=h,d}(e.source,t.groupby,l,c),r=0,i=n.length,o=n.max;r0?1:t<0?-1:0},Gb=Math.sqrt,Vb=Math.tan;function Xb(t){return t>1?0:t<-1?Sb:Math.acos(t)}function Jb(t){return t>1?$b:t<-1?-$b:Math.asin(t)}function Zb(){}function Qb(t,e){t&&tw.hasOwnProperty(t.type)&&tw[t.type](t,e)}var Kb={Feature:function(t,e){Qb(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r=0?1:-1,i=r*n,o=Lb(e=(e*=Nb)/2+Tb),a=Hb(e),s=uw*a,u=sw*o+s*Lb(i),l=s*r*Hb(i);xw.add(Ub(l,u)),aw=t,sw=o,uw=a}function Dw(t){return[Ub(t[1],t[0]),Jb(t[2])]}function Cw(t){var e=t[0],n=t[1],r=Lb(n);return[r*Lb(e),r*Hb(e),Hb(n)]}function Fw(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Sw(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function $w(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Tw(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Bw(t){var e=Gb(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var zw,Nw,Ow,Rw,Uw,Lw,qw,Pw,jw,Iw,Ww,Hw,Yw,Gw,Vw,Xw,Jw={point:Zw,lineStart:Kw,lineEnd:tk,polygonStart:function(){Jw.point=ek,Jw.lineStart=nk,Jw.lineEnd=rk,yw=new se,ww.polygonStart()},polygonEnd:function(){ww.polygonEnd(),Jw.point=Zw,Jw.lineStart=Kw,Jw.lineEnd=tk,xw<0?(lw=-(fw=180),cw=-(hw=90)):yw>Cb?hw=90:yw<-Cb&&(cw=-90),_w[0]=lw,_w[1]=fw},sphere:function(){lw=-(fw=180),cw=-(hw=90)}};function Zw(t,e){vw.push(_w=[lw=t,fw=t]),ehw&&(hw=e)}function Qw(t,e){var n=Cw([t*Nb,e*Nb]);if(mw){var r=Sw(mw,n),i=Sw([r[1],-r[0],0],r);Bw(i),i=Dw(i);var o,a=t-dw,s=a>0?1:-1,u=i[0]*zb*s,l=Ob(a)>180;l^(s*dwhw&&(hw=o):l^(s*dw<(u=(u+360)%360-180)&&uhw&&(hw=e)),l?tik(lw,fw)&&(fw=t):ik(t,fw)>ik(lw,fw)&&(lw=t):fw>=lw?(tfw&&(fw=t)):t>dw?ik(lw,t)>ik(lw,fw)&&(fw=t):ik(t,fw)>ik(lw,fw)&&(lw=t)}else vw.push(_w=[lw=t,fw=t]);ehw&&(hw=e),mw=n,dw=t}function Kw(){Jw.point=Qw}function tk(){_w[0]=lw,_w[1]=fw,Jw.point=Zw,mw=null}function ek(t,e){if(mw){var n=t-dw;yw.add(Ob(n)>180?n+(n>0?360:-360):n)}else pw=t,gw=e;ww.point(t,e),Qw(t,e)}function nk(){ww.lineStart()}function rk(){ek(pw,gw),ww.lineEnd(),Ob(yw)>Cb&&(lw=-(fw=180)),_w[0]=lw,_w[1]=fw,mw=null}function ik(t,e){return(e-=t)<0?e+360:e}function ok(t,e){return t[0]-e[0]}function ak(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eSb&&(t-=Math.round(t/Bb)*Bb),[t,e]}function xk(t,e,n){return(t%=Bb)?e||n?vk(wk(t),kk(e,n)):wk(t):e||n?kk(e,n):_k}function bk(t){return function(e,n){return Ob(e+=t)>Sb&&(e-=Math.round(e/Bb)*Bb),[e,n]}}function wk(t){var e=bk(t);return e.invert=bk(-t),e}function kk(t,e){var n=Lb(t),r=Hb(t),i=Lb(e),o=Hb(e);function a(t,e){var a=Lb(e),s=Lb(t)*a,u=Hb(t)*a,l=Hb(e),c=l*n+s*r;return[Ub(u*i-c*o,s*n-l*r),Jb(c*i+u*o)]}return a.invert=function(t,e){var a=Lb(e),s=Lb(t)*a,u=Hb(t)*a,l=Hb(e),c=l*i-u*o;return[Ub(u*i+l*o,s*n+c*r),Jb(c*n-s*r)]},a}function Ak(t,e){(e=Cw(e))[0]-=t,Bw(e);var n=Xb(-e[1]);return((-e[2]<0?-n:n)+Bb-Cb)%Bb}function Mk(){var t,e=[];return{point:function(e,n,r){t.push([e,n,r])},lineStart:function(){e.push(t=[])},lineEnd:Zb,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function Ek(t,e){return Ob(t[0]-e[0])=0;--o)i.point((c=l[o])[0],c[1]);else r(h.x,h.p.x,-1,i);h=h.p}l=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function Fk(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r=0?1:-1,E=M*A,D=E>Sb,C=m*w;if(u.add(Ub(C*M*Hb(E),y*k+C*Lb(E))),a+=D?A+M*Bb:A,D^p>=n^x>=n){var F=Sw(Cw(d),Cw(_));Bw(F);var S=Sw(o,F);Bw(S);var $=(D^A>=0?-1:1)*Jb(S[2]);(r>$||r===$&&(F[0]||F[1]))&&(s+=D^A>=0?1:-1)}}return(a<-Cb||a0){for(f||(i.polygonStart(),f=!0),i.lineStart(),t=0;t1&&2&u&&h.push(h.pop().concat(h.shift())),a.push(h.filter(Tk))}return h}}function Tk(t){return t.length>1}function Bk(t,e){return((t=t.x)[0]<0?t[1]-$b-Cb:$b-t[1])-((e=e.x)[0]<0?e[1]-$b-Cb:$b-e[1])}_k.invert=_k;var zk=$k((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,a){var s=o>0?Sb:-Sb,u=Ob(o-n);Ob(u-Sb)0?$b:-$b),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(o,r),e=0):i!==s&&u>=Sb&&(Ob(n-i)Cb?Rb((Hb(e)*(o=Lb(r))*Hb(n)-Hb(r)*(i=Lb(e))*Hb(t))/(i*o*a)):(e+r)/2}(n,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),e=0),t.point(n=o,r=a),i=s},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*$b,r.point(-Sb,i),r.point(0,i),r.point(Sb,i),r.point(Sb,0),r.point(Sb,-i),r.point(0,-i),r.point(-Sb,-i),r.point(-Sb,0),r.point(-Sb,i);else if(Ob(t[0]-e[0])>Cb){var o=t[0]0,i=Ob(e)>Cb;function o(t,n){return Lb(t)*Lb(n)>e}function a(t,n,r){var i=[1,0,0],o=Sw(Cw(t),Cw(n)),a=Fw(o,o),s=o[0],u=a-s*s;if(!u)return!r&&t;var l=e*a/u,c=-e*s/u,f=Sw(i,o),h=Tw(i,l);$w(h,Tw(o,c));var d=f,p=Fw(h,d),g=Fw(d,d),m=p*p-g*(Fw(h,h)-1);if(!(m<0)){var y=Gb(m),v=Tw(d,(-p-y)/g);if($w(v,h),v=Dw(v),!r)return v;var _,x=t[0],b=n[0],w=t[1],k=n[1];b0^v[1]<(Ob(v[0]-x)Sb^(x<=v[0]&&v[0]<=b)){var E=Tw(d,(-p+y)/g);return $w(E,h),[v,Dw(E)]}}}function s(e,n){var i=r?t:Sb-t,o=0;return e<-i?o|=1:e>i&&(o|=2),n<-i?o|=4:n>i&&(o|=8),o}return $k(o,(function(t){var e,n,u,l,c;return{lineStart:function(){l=u=!1,c=1},point:function(f,h){var d,p=[f,h],g=o(f,h),m=r?g?0:s(f,h):g?s(f+(f<0?Sb:-Sb),h):0;if(!e&&(l=u=g)&&t.lineStart(),g!==u&&(!(d=a(e,p))||Ek(e,d)||Ek(p,d))&&(p[2]=1),g!==u)c=0,g?(t.lineStart(),d=a(p,e),t.point(d[0],d[1])):(d=a(e,p),t.point(d[0],d[1],2),t.lineEnd()),e=d;else if(i&&e&&r^g){var y;m&n||!(y=a(p,e,!0))||(c=0,r?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1],3)))}!g||e&&Ek(e,p)||t.point(p[0],p[1]),e=p,u=g,n=m},lineEnd:function(){u&&t.lineEnd(),e=null},clean:function(){return c|(l&&u)<<1}}}),(function(e,r,i,o){!function(t,e,n,r,i,o){if(n){var a=Lb(e),s=Hb(e),u=r*n;null==i?(i=e+r*Bb,o=e-u/2):(i=Ak(a,i),o=Ak(a,o),(r>0?io)&&(i+=r*Bb));for(var l,c=i;r>0?c>o:c0)do{l.point(0===c||3===c?t:n,c>1?r:e)}while((c=(c+s+4)%4)!==f);else l.point(o[0],o[1])}function a(r,i){return Ob(r[0]-t)0?0:3:Ob(r[0]-n)0?2:1:Ob(r[1]-e)0?1:0:i>0?3:2}function s(t,e){return u(t.x,e.x)}function u(t,e){var n=a(t,1),r=a(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(a){var u,l,c,f,h,d,p,g,m,y,v,_=a,x=Mk(),b={point:w,lineStart:function(){b.point=k,l&&l.push(c=[]);y=!0,m=!1,p=g=NaN},lineEnd:function(){u&&(k(f,h),d&&m&&x.rejoin(),u.push(x.result()));b.point=w,m&&_.lineEnd()},polygonStart:function(){_=x,u=[],l=[],v=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=l.length;nr&&(h-o)*(r-a)>(d-a)*(t-o)&&++e:d<=r&&(h-o)*(r-a)<(d-a)*(t-o)&&--e;return e}(),n=v&&e,i=(u=Fe(u)).length;(n||i)&&(a.polygonStart(),n&&(a.lineStart(),o(null,null,1,a),a.lineEnd()),i&&Ck(u,s,e,o,a),a.polygonEnd());_=a,u=l=c=null}};function w(t,e){i(t,e)&&_.point(t,e)}function k(o,a){var s=i(o,a);if(l&&c.push([o,a]),y)f=o,h=a,d=s,y=!1,s&&(_.lineStart(),_.point(o,a));else if(s&&m)_.point(o,a);else{var u=[p=Math.max(Rk,Math.min(Ok,p)),g=Math.max(Rk,Math.min(Ok,g))],x=[o=Math.max(Rk,Math.min(Ok,o)),a=Math.max(Rk,Math.min(Ok,a))];!function(t,e,n,r,i,o){var a,s=t[0],u=t[1],l=0,c=1,f=e[0]-s,h=e[1]-u;if(a=n-s,f||!(a>0)){if(a/=f,f<0){if(a0){if(a>c)return;a>l&&(l=a)}if(a=i-s,f||!(a<0)){if(a/=f,f<0){if(a>c)return;a>l&&(l=a)}else if(f>0){if(a0)){if(a/=h,h<0){if(a0){if(a>c)return;a>l&&(l=a)}if(a=o-u,h||!(a<0)){if(a/=h,h<0){if(a>c)return;a>l&&(l=a)}else if(h>0){if(a0&&(t[0]=s+l*f,t[1]=u+l*h),c<1&&(e[0]=s+c*f,e[1]=u+c*h),!0}}}}}(u,x,t,e,n,r)?s&&(_.lineStart(),_.point(o,a),v=!1):(m||(_.lineStart(),_.point(u[0],u[1])),_.point(x[0],x[1]),s||_.lineEnd(),v=!1)}p=o,g=a,m=s}return b}}function Lk(t,e,n){var r=Se(t,e-Cb,n).concat(e);return function(t){return r.map((function(e){return[t,e]}))}}function qk(t,e,n){var r=Se(t,e-Cb,n).concat(e);return function(t){return r.map((function(e){return[e,t]}))}}var Pk,jk,Ik,Wk,Hk=t=>t,Yk=new se,Gk=new se,Vk={point:Zb,lineStart:Zb,lineEnd:Zb,polygonStart:function(){Vk.lineStart=Xk,Vk.lineEnd=Qk},polygonEnd:function(){Vk.lineStart=Vk.lineEnd=Vk.point=Zb,Yk.add(Ob(Gk)),Gk=new se},result:function(){var t=Yk/2;return Yk=new se,t}};function Xk(){Vk.point=Jk}function Jk(t,e){Vk.point=Zk,Pk=Ik=t,jk=Wk=e}function Zk(t,e){Gk.add(Wk*t-Ik*e),Ik=t,Wk=e}function Qk(){Zk(Pk,jk)}var Kk=1/0,tA=Kk,eA=-Kk,nA=eA,rA={point:function(t,e){teA&&(eA=t);enA&&(nA=e)},lineStart:Zb,lineEnd:Zb,polygonStart:Zb,polygonEnd:Zb,result:function(){var t=[[Kk,tA],[eA,nA]];return eA=nA=-(tA=Kk=1/0),t}};var iA,oA,aA,sA,uA=0,lA=0,cA=0,fA=0,hA=0,dA=0,pA=0,gA=0,mA=0,yA={point:vA,lineStart:_A,lineEnd:wA,polygonStart:function(){yA.lineStart=kA,yA.lineEnd=AA},polygonEnd:function(){yA.point=vA,yA.lineStart=_A,yA.lineEnd=wA},result:function(){var t=mA?[pA/mA,gA/mA]:dA?[fA/dA,hA/dA]:cA?[uA/cA,lA/cA]:[NaN,NaN];return uA=lA=cA=fA=hA=dA=pA=gA=mA=0,t}};function vA(t,e){uA+=t,lA+=e,++cA}function _A(){yA.point=xA}function xA(t,e){yA.point=bA,vA(aA=t,sA=e)}function bA(t,e){var n=t-aA,r=e-sA,i=Gb(n*n+r*r);fA+=i*(aA+t)/2,hA+=i*(sA+e)/2,dA+=i,vA(aA=t,sA=e)}function wA(){yA.point=vA}function kA(){yA.point=MA}function AA(){EA(iA,oA)}function MA(t,e){yA.point=EA,vA(iA=aA=t,oA=sA=e)}function EA(t,e){var n=t-aA,r=e-sA,i=Gb(n*n+r*r);fA+=i*(aA+t)/2,hA+=i*(sA+e)/2,dA+=i,pA+=(i=sA*t-aA*e)*(aA+t),gA+=i*(sA+e),mA+=3*i,vA(aA=t,sA=e)}function DA(t){this._context=t}DA.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,Bb)}},result:Zb};var CA,FA,SA,$A,TA,BA=new se,zA={point:Zb,lineStart:function(){zA.point=NA},lineEnd:function(){CA&&OA(FA,SA),zA.point=Zb},polygonStart:function(){CA=!0},polygonEnd:function(){CA=null},result:function(){var t=+BA;return BA=new se,t}};function NA(t,e){zA.point=OA,FA=$A=t,SA=TA=e}function OA(t,e){$A-=t,TA-=e,BA.add(Gb($A*$A+TA*TA)),$A=t,TA=e}let RA,UA,LA,qA;class PA{constructor(t){this._append=null==t?jA:function(t){const e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);if(e>15)return jA;if(e!==RA){const t=10**e;RA=e,UA=function(e){let n=1;this._+=e[0];for(const r=e.length;n=0))throw new RangeError(`invalid digits: ${t}`);i=e}return null===e&&(r=new PA(i)),a},a.projection(t).digits(i).context(e)}function WA(t){return function(e){var n=new HA;for(var r in t)n[r]=t[r];return n.stream=e,n}}function HA(){}function YA(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),rw(n,t.stream(rA)),e(rA.result()),null!=r&&t.clipExtent(r),t}function GA(t,e,n){return YA(t,(function(n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],o=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),a=+e[0][0]+(r-o*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(i-o*(n[1][1]+n[0][1]))/2;t.scale(150*o).translate([a,s])}),n)}function VA(t,e,n){return GA(t,[[0,0],e],n)}function XA(t,e,n){return YA(t,(function(n){var r=+e,i=r/(n[1][0]-n[0][0]),o=(r-i*(n[1][0]+n[0][0]))/2,a=-i*n[0][1];t.scale(150*i).translate([o,a])}),n)}function JA(t,e,n){return YA(t,(function(n){var r=+e,i=r/(n[1][1]-n[0][1]),o=-i*n[0][0],a=(r-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([o,a])}),n)}HA.prototype={constructor:HA,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var ZA=16,QA=Lb(30*Nb);function KA(t,e){return+e?function(t,e){function n(r,i,o,a,s,u,l,c,f,h,d,p,g,m){var y=l-r,v=c-i,_=y*y+v*v;if(_>4*e&&g--){var x=a+h,b=s+d,w=u+p,k=Gb(x*x+b*b+w*w),A=Jb(w/=k),M=Ob(Ob(w)-1)e||Ob((y*F+v*S)/_-.5)>.3||a*h+s*d+u*p2?t[2]%360*Nb:0,F()):[m*zb,y*zb,v*zb]},D.angle=function(t){return arguments.length?(_=t%360*Nb,F()):_*zb},D.reflectX=function(t){return arguments.length?(x=t?-1:1,F()):x<0},D.reflectY=function(t){return arguments.length?(b=t?-1:1,F()):b<0},D.precision=function(t){return arguments.length?(a=KA(s,E=t*t),S()):Gb(E)},D.fitExtent=function(t,e){return GA(D,t,e)},D.fitSize=function(t,e){return VA(D,t,e)},D.fitWidth=function(t,e){return XA(D,t,e)},D.fitHeight=function(t,e){return JA(D,t,e)},function(){return e=t.apply(this,arguments),D.invert=e.invert&&C,F()}}function iM(t){var e=0,n=Sb/3,r=rM(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*Nb,n=t[1]*Nb):[e*zb,n*zb]},i}function oM(t,e){var n=Hb(t),r=(n+Hb(e))/2;if(Ob(r)2?t[2]*Nb:0),e.invert=function(e){return(e=t.invert(e[0]*Nb,e[1]*Nb))[0]*=zb,e[1]*=zb,e},e}(i.rotate()).invert([0,0]));return u(null==l?[[s[0]-o,s[1]-o],[s[0]+o,s[1]+o]]:t===hM?[[Math.max(s[0]-o,l),e],[Math.min(s[0]+o,n),r]]:[[l,Math.max(s[1]-o,e)],[n,Math.min(s[1]+o,r)]])}return i.scale=function(t){return arguments.length?(a(t),c()):a()},i.translate=function(t){return arguments.length?(s(t),c()):s()},i.center=function(t){return arguments.length?(o(t),c()):o()},i.clipExtent=function(t){return arguments.length?(null==t?l=e=n=r=null:(l=+t[0][0],e=+t[0][1],n=+t[1][0],r=+t[1][1]),c()):null==l?null:[[l,e],[n,r]]},c()}function pM(t){return Vb(($b+t)/2)}function gM(t,e){var n=Lb(t),r=t===e?Hb(t):Ib(n/Lb(e))/Ib(pM(e)/pM(t)),i=n*Wb(pM(t),r)/r;if(!r)return hM;function o(t,e){i>0?e<-$b+Cb&&(e=-$b+Cb):e>$b-Cb&&(e=$b-Cb);var n=i/Wb(pM(e),r);return[n*Hb(r*t),i-n*Lb(r*t)]}return o.invert=function(t,e){var n=i-e,o=Yb(r)*Gb(t*t+n*n),a=Ub(t,Ob(n))*Yb(n);return n*r<0&&(a-=Sb*Yb(t)*Yb(n)),[a/r,2*Rb(Wb(i/o,1/r))-$b]},o}function mM(t,e){return[t,e]}function yM(t,e){var n=Lb(t),r=t===e?Hb(t):(n-Lb(e))/(e-t),i=n/r+t;if(Ob(r)Cb&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]},EM.invert=lM(Jb),DM.invert=lM((function(t){return 2*Rb(t)})),CM.invert=function(t,e){return[-e,2*Rb(Pb(t))-$b]};var FM=Math.abs,SM=Math.cos,$M=Math.sin,TM=1e-6,BM=Math.PI,zM=BM/2,NM=function(t){return t>0?Math.sqrt(t):0}(2);function OM(t){return t>1?zM:t<-1?-zM:Math.asin(t)}function RM(t,e){var n,r=t*$M(e),i=30;do{e-=n=(e+$M(e)-r)/(1+SM(e))}while(FM(n)>TM&&--i>0);return e/2}var UM=function(t,e,n){function r(r,i){return[t*r*SM(i=RM(n,i)),e*$M(i)]}return r.invert=function(r,i){return i=OM(i/e),[r/(t*SM(i)),OM((2*i+$M(2*i))/n)]},r}(NM/zM,NM,BM);const LM=IA(),qM=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function PM(t,e){if(!t||"string"!=typeof t)throw new Error("Projection type must be a name string.");return t=t.toLowerCase(),arguments.length>1?(IM[t]=function(t,e){return function n(){const r=e();return r.type=t,r.path=IA().projection(r),r.copy=r.copy||function(){const t=n();return qM.forEach((e=>{r[e]&&t[e](r[e]())})),t.path.pointRadius(r.path.pointRadius()),t},Vd(r)}}(t,e),this):IM[t]||null}function jM(t){return t&&t.path||LM}const IM={albers:sM,albersusa:function(){var t,e,n,r,i,o,a=sM(),s=aM().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=aM().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,e){o=[t,e]}};function c(t){var e=t[0],a=t[1];return o=null,n.point(e,a),o||(r.point(e,a),o)||(i.point(e,a),o)}function f(){return t=e=null,c}return c.invert=function(t){var e=a.scale(),n=a.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?u:a).invert(t)},c.stream=function(n){return t&&e===n?t:(r=[a.stream(e=n),s.stream(n),u.stream(n)],i=r.length,t={point:function(t,e){for(var n=-1;++n2?t[2]+90:90]):[(t=n())[0],t[1],t[2]-90]},n([0,0,90]).scale(159.155)}};for(const t in IM)PM(t,IM[t]);function WM(){}const HM=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function YM(){var t=1,e=1,n=a;function r(t,e){return e.map((e=>i(t,e)))}function i(r,i){var a=[],s=[];return function(n,r,i){var a,s,u,l,c,f,h=new Array,d=new Array;a=s=-1,l=n[0]>=r,HM[l<<1].forEach(p);for(;++a=r,HM[u|l<<1].forEach(p);HM[l<<0].forEach(p);for(;++s=r,c=n[s*t]>=r,HM[l<<1|c<<2].forEach(p);++a=r,f=c,c=n[s*t+a+1]>=r,HM[u|l<<1|c<<2|f<<3].forEach(p);HM[l|c<<3].forEach(p)}a=-1,c=n[s*t]>=r,HM[c<<2].forEach(p);for(;++a=r,HM[c<<2|f<<3].forEach(p);function p(t){var e,n,r=[t[0][0]+a,t[0][1]+s],u=[t[1][0]+a,t[1][1]+s],l=o(r),c=o(u);(e=d[l])?(n=h[c])?(delete d[e.end],delete h[n.start],e===n?(e.ring.push(u),i(e.ring)):h[e.start]=d[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete d[e.end],e.ring.push(u),d[e.end=c]=e):(e=h[c])?(n=d[l])?(delete h[e.start],delete d[n.end],e===n?(e.ring.push(u),i(e.ring)):h[n.start]=d[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete h[e.start],e.ring.unshift(r),h[e.start=l]=e):h[l]=d[c]={start:l,end:c,ring:[r,u]}}HM[c<<3].forEach(p)}(r,i,(t=>{n(t,r,i),function(t){var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];for(;++e0?a.push([t]):s.push(t)})),s.forEach((t=>{for(var e,n=0,r=a.length;n{var o,a=n[0],s=n[1],u=0|a,l=0|s,c=r[l*t+u];a>0&&a0&&s=0&&o>=0||s("invalid size"),t=i,e=o,r},r.smooth=function(t){return arguments.length?(n=t?a:WM,r):n===a},r}function GM(t,e){for(var n,r=-1,i=e.length;++rr!=d>r&&n<(h-l)*(r-c)/(d-c)+l&&(i=-i)}return i}function XM(t,e,n){var r,i,o,a;return function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])==(n[0]-t[0])*(e[1]-t[1])}(t,e,n)&&(i=t[r=+(t[0]===e[0])],o=n[r],a=e[r],i<=o&&o<=a||a<=o&&o<=i)}function JM(t,e,n){return function(r){var i=at(r),o=n?Math.min(i[0],0):i[0],a=i[1],s=a-o,u=e?be(o,a,t):s/(t+1);return Se(o+u,a,u)}}function ZM(t){Ja.call(this,null,t)}function QM(t,e,n,r,i){const o=t.x1||0,a=t.y1||0,s=e*n<0;function u(t){t.forEach(l)}function l(t){s&&t.reverse(),t.forEach(c)}function c(t){t[0]=(t[0]-o)*e+r,t[1]=(t[1]-a)*n+i}return function(t){return t.coordinates.forEach(u),t}}function KM(t,e,n){const r=t>=0?t:rs(e,n);return Math.round((Math.sqrt(4*r*r+1)-1)/2)}function tE(t){return J(t)?t:rt(+t)}function eE(){var t=t=>t[0],e=t=>t[1],n=d,r=[-1,-1],i=960,o=500,a=2;function u(s,u){const l=KM(r[0],s,t)>>a,c=KM(r[1],s,e)>>a,f=l?l+2:0,h=c?c+2:0,d=2*f+(i>>a),p=2*h+(o>>a),g=new Float32Array(d*p),m=new Float32Array(d*p);let y=g;s.forEach((r=>{const i=f+(+t(r)>>a),o=h+(+e(r)>>a);i>=0&&i=0&&o0&&c>0?(nE(d,p,g,m,l),rE(d,p,m,g,c),nE(d,p,g,m,l),rE(d,p,m,g,c),nE(d,p,g,m,l),rE(d,p,m,g,c)):l>0?(nE(d,p,g,m,l),nE(d,p,m,g,l),nE(d,p,g,m,l),y=m):c>0&&(rE(d,p,g,m,c),rE(d,p,m,g,c),rE(d,p,g,m,c),y=m);const v=u?Math.pow(2,-2*a):1/$e(y);for(let t=0,e=d*p;t>a),y2:h+(o>>a)}}return u.x=function(e){return arguments.length?(t=tE(e),u):t},u.y=function(t){return arguments.length?(e=tE(t),u):e},u.weight=function(t){return arguments.length?(n=tE(t),u):n},u.size=function(t){if(!arguments.length)return[i,o];var e=+t[0],n=+t[1];return e>=0&&n>=0||s("invalid size"),i=e,o=n,u},u.cellSize=function(t){return arguments.length?((t=+t)>=1||s("invalid cell size"),a=Math.floor(Math.log(t)/Math.LN2),u):1<=i&&(e>=o&&(s-=n[e-o+a*t]),r[e-i+a*t]=s/Math.min(e+1,t-1+o-e,o))}function rE(t,e,n,r,i){const o=1+(i<<1);for(let a=0;a=i&&(s>=o&&(u-=n[a+(s-o)*t]),r[a+(s-i)*t]=u/Math.min(s+1,e-1+o-s,o))}function iE(t){Ja.call(this,null,t)}ZM.Definition={type:"Isocontour",metadata:{generates:!0},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:!0},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:!0},{name:"smooth",type:"boolean",default:!0},{name:"scale",type:"number",expr:!0},{name:"translate",type:"number",array:!0,expr:!0},{name:"as",type:"string",null:!0,default:"contour"}]},dt(ZM,Ja,{transform(t,e){if(this.value&&!e.changed()&&!t.modified())return e.StopPropagation;var n=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=e.materialize(e.SOURCE).source,i=t.field||f,o=YM().smooth(!1!==t.smooth),a=t.thresholds||function(t,e,n){const r=JM(n.levels||10,n.nice,!1!==n.zero);return"shared"!==n.resolve?r:r(t.map((t=>we(e(t).values))))}(r,i,t),s=null===t.as?null:t.as||"contour",u=[];return r.forEach((e=>{const n=i(e),r=o.size([n.width,n.height])(n.values,k(a)?a:a(n.values));!function(t,e,n,r){let i=r.scale||e.scale,o=r.translate||e.translate;J(i)&&(i=i(n,r));J(o)&&(o=o(n,r));if((1===i||null==i)&&!o)return;const a=(vt(i)?i:i[0])||1,s=(vt(i)?i:i[1])||1,u=o&&o[0]||0,l=o&&o[1]||0;t.forEach(QM(e,a,s,u,l))}(r,n,e,t),r.forEach((t=>{u.push(ba(e,_a(null!=s?{[s]:t}:t)))}))})),this.value&&(n.rem=this.value),this.value=n.source=n.add=u,n}}),iE.Definition={type:"KDE2D",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"weight",type:"field"},{name:"groupby",type:"field",array:!0},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:!0,length:2},{name:"counts",type:"boolean",default:!1},{name:"as",type:"string",default:"grid"}]};const oE=["x","y","weight","size","cellSize","bandwidth"];function aE(t,e){return oE.forEach((n=>null!=e[n]?t[n](e[n]):0)),t}function sE(t){Ja.call(this,null,t)}dt(iE,Ja,{transform(t,e){if(this.value&&!e.changed()&&!t.modified())return e.StopPropagation;var r,i=e.fork(e.NO_SOURCE|e.NO_FIELDS),o=function(t,e){var n,r,i,o,a,s,u=[],l=t=>t(o);if(null==e)u.push(t);else for(n={},r=0,i=t.length;r_a(function(t,e){for(let n=0;nCb})).map(u)).concat(Se(qb(o/d)*d,i,d).filter((function(t){return Ob(t%g)>Cb})).map(l))}return y.lines=function(){return v().map((function(t){return{type:"LineString",coordinates:t}}))},y.outline=function(){return{type:"Polygon",coordinates:[c(r).concat(f(a).slice(1),c(n).reverse().slice(1),f(s).reverse().slice(1))]}},y.extent=function(t){return arguments.length?y.extentMajor(t).extentMinor(t):y.extentMinor()},y.extentMajor=function(t){return arguments.length?(r=+t[0][0],n=+t[1][0],s=+t[0][1],a=+t[1][1],r>n&&(t=r,r=n,n=t),s>a&&(t=s,s=a,a=t),y.precision(m)):[[r,s],[n,a]]},y.extentMinor=function(n){return arguments.length?(e=+n[0][0],t=+n[1][0],o=+n[0][1],i=+n[1][1],e>t&&(n=e,e=t,t=n),o>i&&(n=o,o=i,i=n),y.precision(m)):[[e,o],[t,i]]},y.step=function(t){return arguments.length?y.stepMajor(t).stepMinor(t):y.stepMinor()},y.stepMajor=function(t){return arguments.length?(p=+t[0],g=+t[1],y):[p,g]},y.stepMinor=function(t){return arguments.length?(h=+t[0],d=+t[1],y):[h,d]},y.precision=function(h){return arguments.length?(m=+h,u=Lk(o,i,90),l=qk(e,t,m),c=Lk(s,a,90),f=qk(r,n,m),y):m},y.extentMajor([[-180,-90+Cb],[180,90-Cb]]).extentMinor([[-180,-80-Cb],[180,80+Cb]])}()}function gE(t){Ja.call(this,null,t)}function mE(t){if(!J(t))return!1;const e=Bt(r(t));return e.$x||e.$y||e.$value||e.$max}function yE(t){Ja.call(this,null,t),this.modified(!0)}function vE(t,e,n){J(t[e])&&t[e](n)}cE.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},dt(cE,Ja,{transform(t,e){var n,i=this._features,o=this._points,a=t.fields,s=a&&a[0],u=a&&a[1],l=t.geojson||!a&&f,c=e.ADD;n=t.modified()||e.changed(e.REM)||e.modified(r(l))||s&&e.modified(r(s))||u&&e.modified(r(u)),this.value&&!n||(c=e.SOURCE,this._features=i=[],this._points=o=[]),l&&e.visit(c,(t=>i.push(l(t)))),s&&u&&(e.visit(c,(t=>{var e=s(t),n=u(t);null!=e&&null!=n&&(e=+e)===e&&(n=+n)===n&&o.push([e,n])})),i=i.concat({type:uE,geometry:{type:"MultiPoint",coordinates:o}})),this.value={type:lE,features:i}}}),fE.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]},dt(fE,Ja,{transform(t,e){var n=e.fork(e.ALL),r=this.value,i=t.field||f,o=t.as||"path",a=n.SOURCE;!r||t.modified()?(this.value=r=jM(t.projection),n.materialize().reflow()):a=i===f||e.modified(i.fields)?n.ADD_MOD:n.ADD;const s=function(t,e){const n=t.pointRadius();t.context(null),null!=e&&t.pointRadius(e);return n}(r,t.pointRadius);return n.visit(a,(t=>t[o]=r(i(t)))),r.pointRadius(s),n.modifies(o)}}),hE.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},dt(hE,Ja,{transform(t,e){var n,r=t.projection,i=t.fields[0],o=t.fields[1],a=t.as||["x","y"],s=a[0],u=a[1];function l(t){const e=r([i(t),o(t)]);e?(t[s]=e[0],t[u]=e[1]):(t[s]=void 0,t[u]=void 0)}return t.modified()?e=e.materialize().reflow(!0).visit(e.SOURCE,l):(n=e.modified(i.fields)||e.modified(o.fields),e.visit(n?e.ADD_MOD:e.ADD,l)),e.modifies(a)}}),dE.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]},dt(dE,Ja,{transform(t,e){var n=e.fork(e.ALL),r=this.value,i=t.as||"shape",o=n.ADD;return r&&!t.modified()||(this.value=r=function(t,e,n){const r=null==n?n=>t(e(n)):r=>{var i=t.pointRadius(),o=t.pointRadius(n)(e(r));return t.pointRadius(i),o};return r.context=e=>(t.context(e),r),r}(jM(t.projection),t.field||l("datum"),t.pointRadius),n.materialize().reflow(),o=n.SOURCE),n.visit(o,(t=>t[i]=r)),n.modifies(i)}}),pE.Definition={type:"Graticule",metadata:{changes:!0,generates:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},dt(pE,Ja,{transform(t,e){var n,r=this.value,i=this.generator;if(!r.length||t.modified())for(const e in t)J(i[e])&&i[e](t[e]);return n=i(),r.length?e.mod.push(wa(r[0],n)):e.add.push(_a(n)),r[0]=n,e}}),gE.Definition={type:"heatmap",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:!0},{name:"opacity",type:"number",expr:!0},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]},dt(gE,Ja,{transform(t,e){if(!e.changed()&&!t.modified())return e.StopPropagation;var n=e.materialize(e.SOURCE).source,r="shared"===t.resolve,i=t.field||f,o=function(t,e){let n;J(t)?(n=n=>t(n,e),n.dep=mE(t)):t?n=rt(t):(n=t=>t.$value/t.$max||0,n.dep=!0);return n}(t.opacity,t),a=function(t,e){let n;J(t)?(n=n=>af(t(n,e)),n.dep=mE(t)):n=rt(af(t||"#888"));return n}(t.color,t),s=t.as||"image",u={$x:0,$y:0,$value:0,$max:r?we(n.map((t=>we(i(t).values)))):0};return n.forEach((t=>{const e=i(t),n=ot({},t,u);r||(n.$max=we(e.values||[])),t[s]=function(t,e,n,r){const i=t.width,o=t.height,a=t.x1||0,s=t.y1||0,u=t.x2||i,l=t.y2||o,c=t.values,f=c?t=>c[t]:h,d=$c(u-a,l-s),p=d.getContext("2d"),g=p.getImageData(0,0,u-a,l-s),m=g.data;for(let t=s,o=0;t{null!=t[e]&&vE(n,e,t[e])}))):qM.forEach((e=>{t.modified(e)&&vE(n,e,t[e])})),null!=t.pointRadius&&n.path.pointRadius(t.pointRadius),t.fit&&function(t,e){const n=function(t){return t=V(t),1===t.length?t[0]:{type:lE,features:t.reduce(((t,e)=>t.concat(function(t){return t.type===lE?t.features:V(t).filter((t=>null!=t)).map((t=>t.type===uE?t:{type:uE,geometry:t}))}(e))),[])}}(e.fit);e.extent?t.fitExtent(e.extent,n):e.size&&t.fitSize(e.size,n)}(n,t),e.fork(e.NO_SOURCE|e.NO_FIELDS)}});var _E=Object.freeze({__proto__:null,contour:sE,geojson:cE,geopath:fE,geopoint:hE,geoshape:dE,graticule:pE,heatmap:gE,isocontour:ZM,kde2d:iE,projection:yE});function xE(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,o,a,s,u,l,c,f,h,d=t._root,p={data:r},g=t._x0,m=t._y0,y=t._x1,v=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((l=e>=(o=(g+y)/2))?g=o:y=o,(c=n>=(a=(m+v)/2))?m=a:v=a,i=d,!(d=d[f=c<<1|l]))return i[f]=p,t;if(s=+t._x.call(null,d.data),u=+t._y.call(null,d.data),e===s&&n===u)return p.next=d,i?i[f]=p:t._root=p,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(l=e>=(o=(g+y)/2))?g=o:y=o,(c=n>=(a=(m+v)/2))?m=a:v=a}while((f=c<<1|l)==(h=(u>=a)<<1|s>=o));return i[h]=d,i[f]=p,t}function bE(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i}function wE(t){return t[0]}function kE(t){return t[1]}function AE(t,e,n){var r=new ME(null==e?wE:e,null==n?kE:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function ME(t,e,n,r,i,o){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function EE(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var DE=AE.prototype=ME.prototype;function CE(t){return function(){return t}}function FE(t){return 1e-6*(t()-.5)}function SE(t){return t.x+t.vx}function $E(t){return t.y+t.vy}function TE(t){return t.index}function BE(t,e){var n=t.get(e);if(!n)throw new Error("node not found: "+e);return n}DE.copy=function(){var t,e,n=new ME(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=EE(r),n;for(t=[{source:r,target:n._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(4)}):r.target[i]=EE(e));return n},DE.add=function(t){const e=+this._x.call(null,t),n=+this._y.call(null,t);return xE(this.cover(e,n),e,n,t)},DE.addAll=function(t){var e,n,r,i,o=t.length,a=new Array(o),s=new Array(o),u=1/0,l=1/0,c=-1/0,f=-1/0;for(n=0;nc&&(c=r),if&&(f=i));if(u>c||l>f)return this;for(this.cover(u,l).cover(c,f),n=0;nt||t>=i||r>e||e>=o;)switch(s=(eh||(o=u.y0)>d||(a=u.x1)=y)<<1|t>=m)&&(u=p[p.length-1],p[p.length-1]=p[p.length-1-l],p[p.length-1-l]=u)}else{var v=t-+this._x.call(null,g.data),_=e-+this._y.call(null,g.data),x=v*v+_*_;if(x=(s=(p+m)/2))?p=s:m=s,(c=a>=(u=(g+y)/2))?g=u:y=u,e=d,!(d=d[f=c<<1|l]))return this;if(!d.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(n=e,h=f)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):e?(i?e[f]=i:delete e[f],(d=e[0]||e[1]||e[2]||e[3])&&d===(e[3]||e[2]||e[1]||e[0])&&!d.length&&(n?n[h]=d:this._root=d),this):(this._root=i,this)},DE.removeAll=function(t){for(var e=0,n=t.length;e{}};function NE(){for(var t,e=0,n=arguments.length,r={};e=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),a=-1,s=o.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++a0)for(var n,r,i=new Array(n),o=0;o=0&&e._call.call(void 0,t),e=e._next;--PE}()}finally{PE=0,function(){var t,e,n=LE,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:LE=e);qE=t,nD(r)}(),YE=0}}function eD(){var t=VE.now(),e=t-HE;e>WE&&(GE-=e,HE=t)}function nD(t){PE||(jE&&(jE=clearTimeout(jE)),t-YE>24?(t<1/0&&(jE=setTimeout(tD,t-VE.now()-GE)),IE&&(IE=clearInterval(IE))):(IE||(HE=VE.now(),IE=setInterval(eD,WE)),PE=1,XE(tD)))}QE.prototype=KE.prototype={constructor:QE,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?JE():+n)+(null==e?0:+e),this._next||qE===this||(qE?qE._next=this:LE=this,qE=this),this._call=t,this._time=n,nD()},stop:function(){this._call&&(this._call=null,this._time=1/0,nD())}};const rD=1664525,iD=1013904223,oD=4294967296;function aD(t){return t.x}function sD(t){return t.y}var uD=10,lD=Math.PI*(3-Math.sqrt(5));function cD(t){var e,n=1,r=.001,i=1-Math.pow(r,1/300),o=0,a=.6,s=new Map,u=KE(f),l=NE("tick","end"),c=function(){let t=1;return()=>(t=(rD*t+iD)%oD)/oD}();function f(){h(),l.call("tick",e),n1?(null==n?s.delete(t):s.set(t,p(n)),e):s.get(t)},find:function(e,n,r){var i,o,a,s,u,l=0,c=t.length;for(null==r?r=1/0:r*=r,l=0;l1?(l.on(t,n),e):l.on(t)}}}const fD={center:function(t,e){var n,r=1;function i(){var i,o,a=n.length,s=0,u=0;for(i=0;il+p||oc+p||au.index){var g=l-s.x-s.vx,m=c-s.y-s.vy,y=g*g+m*m;yt.r&&(t.r=t[e].r)}function u(){if(e){var r,i,o=e.length;for(n=new Array(o),r=0;r=s)){(t.data!==e||t.next)&&(0===f&&(p+=(f=FE(n))*f),0===h&&(p+=(h=FE(n))*h),p[s(t,e,r),t])));for(a=0,i=new Array(l);ae(t,n):e)}mD.Definition={type:"Force",metadata:{modifies:!0},params:[{name:"static",type:"boolean",default:!1},{name:"restart",type:"boolean",default:!1},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:!0,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:!0},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30,expr:!0},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:!0},{name:"strength",type:"number",expr:!0},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:!0,modify:!1,default:gD}]},dt(mD,Ja,{transform(t,e){var n,r,i=this.value,o=e.changed(e.ADD_REM),a=t.modified(dD),s=t.iterations||300;if(i?(o&&(e.modifies("index"),i.nodes(e.source)),(a||e.changed(e.MOD))&&yD(i,t,0,e)):(this.value=i=function(t,e){const n=cD(t),r=n.stop,i=n.restart;let o=!1;return n.stopped=()=>o,n.restart=()=>(o=!1,i()),n.stop=()=>(o=!0,r()),yD(n,e,!0).on("end",(()=>o=!0))}(e.source,t),i.on("tick",(n=e.dataflow,r=this,()=>n.touch(r).run())),t.static||(o=!0,i.tick()),e.modifies("index")),a||o||t.modified(pD)||e.changed()&&t.restart)if(i.alpha(Math.max(i.alpha(),t.alpha||1)).alphaDecay(1-Math.pow(i.alphaMin(),1/s)),t.static)for(i.stop();--s>=0;)i.tick();else if(i.stopped()&&i.restart(),!o)return e.StopPropagation;return this.finish(t,e)},finish(t,e){const n=e.dataflow;for(let t,e=this._argops,s=0,u=e.length;s=0;)e+=n[r].value;else e=1;t.value=e}function ED(t,e){t instanceof Map?(t=[void 0,t],void 0===e&&(e=CD)):void 0===e&&(e=DD);for(var n,r,i,o,a,s=new $D(t),u=[s];n=u.pop();)if((i=e(n.data))&&(a=(i=Array.from(i)).length))for(n.children=i,o=a-1;o>=0;--o)u.push(r=i[o]=new $D(i[o])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(SD)}function DD(t){return t.children}function CD(t){return Array.isArray(t)?t[1]:null}function FD(t){void 0!==t.data.value&&(t.value=t.data.value),t.data=t.data.data}function SD(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function $D(t){this.data=t,this.depth=this.height=0,this.parent=null}function TD(t){return null==t?null:BD(t)}function BD(t){if("function"!=typeof t)throw new Error;return t}function zD(){return 0}function ND(t){return function(){return t}}$D.prototype=ED.prototype={constructor:$D,count:function(){return this.eachAfter(MD)},each:function(t,e){let n=-1;for(const r of this)t.call(e,r,++n,this);return this},eachAfter:function(t,e){for(var n,r,i,o=this,a=[o],s=[],u=-1;o=a.pop();)if(s.push(o),n=o.children)for(r=0,i=n.length;r=0;--r)o.push(n[r]);return this},find:function(t,e){let n=-1;for(const r of this)if(t.call(e,r,++n,this))return r},sum:function(t){return this.eachAfter((function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;t=n.pop(),e=r.pop();for(;t===e;)i=t,t=n.pop(),e=r.pop();return i}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){return Array.from(this)},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(n){n!==t&&e.push({source:n.parent,target:n})})),e},copy:function(){return ED(this).eachBefore(FD)},[Symbol.iterator]:function*(){var t,e,n,r,i=this,o=[i];do{for(t=o.reverse(),o=[];i=t.pop();)if(yield i,e=i.children)for(n=0,r=e.length;n0&&n*n>r*r+i*i}function jD(t,e){for(var n=0;n1e-6?(D+Math.sqrt(D*D-4*E*C))/(2*E):C/D);return{x:r+w+k*F,y:i+A+M*F,r:F}}function YD(t,e,n){var r,i,o,a,s=t.x-e.x,u=t.y-e.y,l=s*s+u*u;l?(i=e.r+n.r,i*=i,a=t.r+n.r,i>(a*=a)?(r=(l+a-i)/(2*l),o=Math.sqrt(Math.max(0,a/l-r*r)),n.x=t.x-r*s-o*u,n.y=t.y-r*u+o*s):(r=(l+i-a)/(2*l),o=Math.sqrt(Math.max(0,i/l-r*r)),n.x=e.x+r*s-o*u,n.y=e.y+r*u+o*s)):(n.x=e.x+n.r,n.y=e.y)}function GD(t,e){var n=t.r+e.r-1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function VD(t){var e=t._,n=t.next._,r=e.r+n.r,i=(e.x*n.r+n.x*e.r)/r,o=(e.y*n.r+n.y*e.r)/r;return i*i+o*o}function XD(t){this._=t,this.next=null,this.previous=null}function JD(t,e){if(!(o=(t=function(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}(t)).length))return 0;var n,r,i,o,a,s,u,l,c,f,h;if((n=t[0]).x=0,n.y=0,!(o>1))return n.r;if(r=t[1],n.x=-r.r,r.x=n.r,r.y=0,!(o>2))return n.r+r.r;YD(r,n,i=t[2]),n=new XD(n),r=new XD(r),i=new XD(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;t:for(u=3;ufunction(t){t=`${t}`;let e=t.length;cC(t,e-1)&&!cC(t,e-2)&&(t=t.slice(0,-1));return"/"===t[0]?t:`/${t}`}(t(e,n,r)))),n=e.map(lC),i=new Set(e).add("");for(const t of n)i.has(t)||(i.add(t),e.push(t),n.push(lC(t)),h.push(oC));d=(t,n)=>e[n],p=(t,e)=>n[e]}for(a=0,i=h.length;a=0&&(l=h[t]).data===oC;--t)l.data=null}if(s.parent=rC,s.eachBefore((function(t){t.depth=t.parent.depth+1,--i})).eachBefore(SD),s.parent=null,i>0)throw new Error("cycle");return s}return r.id=function(t){return arguments.length?(e=TD(t),r):e},r.parentId=function(t){return arguments.length?(n=TD(t),r):n},r.path=function(e){return arguments.length?(t=TD(e),r):t},r}function lC(t){let e=t.length;if(e<2)return"";for(;--e>1&&!cC(t,e););return t.slice(0,e)}function cC(t,e){if("/"===t[e]){let n=0;for(;e>0&&"\\"===t[--e];)++n;if(0==(1&n))return!0}return!1}function fC(t,e){return t.parent===e.parent?1:2}function hC(t){var e=t.children;return e?e[0]:t.t}function dC(t){var e=t.children;return e?e[e.length-1]:t.t}function pC(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function gC(t,e,n){return t.a.parent===e.parent?t.a:n}function mC(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function yC(t,e,n,r,i){for(var o,a=t.children,s=-1,u=a.length,l=t.value&&(i-n)/t.value;++sh&&(h=s),m=c*c*g,(d=Math.max(h/m,m/f))>p){c-=s;break}p=d}y.push(a={value:c,dice:u1?e:1)},n}(vC);var bC=function t(e){function n(t,n,r,i,o){if((a=t._squarify)&&a.ratio===e)for(var a,s,u,l,c,f=-1,h=a.length,d=t.value;++f1?e:1)},n}(vC);function wC(t,e,n){const r={};return t.each((t=>{const i=t.data;n(i)&&(r[e(i)]=t)})),t.lookup=r,t}function kC(t){Ja.call(this,null,t)}kC.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]};const AC=t=>t.values;function MC(){const t=[],e={entries:t=>r(n(t,0),0),key:n=>(t.push(n),e)};function n(e,r){if(r>=t.length)return e;const i=e.length,o=t[r++],a={},s={};let u,l,c,f=-1;for(;++ft.length)return e;const i=[];for(const t in e)i.push({key:t,values:r(e[t],n)});return i}return e}function EC(t){Ja.call(this,null,t)}dt(kC,Ja,{transform(t,e){e.source||s("Nest transform requires an upstream data source.");var n=t.generate,r=t.modified(),i=e.clone(),o=this.value;return(!o||r||e.changed())&&(o&&o.each((t=>{t.children&&ma(t.data)&&i.rem.push(t.data)})),this.value=o=ED({values:V(t.keys).reduce(((t,e)=>(t.key(e),t)),MC()).entries(i.source)},AC),n&&o.each((t=>{t.children&&(t=_a(t.data),i.add.push(t),i.source.push(t))})),wC(o,ya,ya)),i.source.root=o,i}});const DC=(t,e)=>t.parent===e.parent?1:2;dt(EC,Ja,{transform(t,e){e.source&&e.source.root||s(this.constructor.name+" transform requires a backing tree data source.");const n=this.layout(t.method),r=this.fields,i=e.source.root,o=t.as||r;t.field?i.sum(t.field):i.count(),t.sort&&i.sort(ka(t.sort,(t=>t.data))),function(t,e,n){for(let r,i=0,o=e.length;ifunction(t,e,n){const r=t.data,i=e.length-1;for(let o=0;o(t=(OD*t+RD)%UD)/UD}();return i.x=e/2,i.y=n/2,t?i.eachBefore(QD(t)).eachAfter(KD(r,.5,o)).eachBefore(tC(1)):i.eachBefore(QD(ZD)).eachAfter(KD(zD,1,o)).eachAfter(KD(r,i.r/Math.min(e,n),o)).eachBefore(tC(Math.min(e,n)/(2*i.r))),i}return i.radius=function(e){return arguments.length?(t=TD(e),i):t},i.size=function(t){return arguments.length?(e=+t[0],n=+t[1],i):[e,n]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:ND(+t),i):r},i},params:["radius","size","padding"],fields:CC});const SC=["x0","y0","x1","y1","depth","children"];function $C(t){EC.call(this,t)}function TC(t){Ja.call(this,null,t)}$C.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:SC.length,default:SC}]},dt($C,EC,{layout:function(){var t=1,e=1,n=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=n,i.x1=t,i.y1=e/o,i.eachBefore(function(t,e){return function(r){r.children&&nC(r,r.x0,t*(r.depth+1)/e,r.x1,t*(r.depth+2)/e);var i=r.x0,o=r.y0,a=r.x1-n,s=r.y1-n;a=0;--i)s.push(n=e.children[i]=new mC(r[i],i)),n.parent=e;return(a.parent=new mC(null,0)).children=[a],a}(i);if(u.eachAfter(o),u.parent.m=-u.z,u.eachBefore(a),r)i.eachBefore(s);else{var l=i,c=i,f=i;i.eachBefore((function(t){t.xc.x&&(c=t),t.depth>f.depth&&(f=t)}));var h=l===c?1:t(l,c)/2,d=h-l.x,p=e/(c.x+h+d),g=n/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+d)*p,t.y=t.depth*g}))}return i}function o(e){var n=e.children,r=e.parent.children,i=e.i?r[e.i-1]:null;if(n){!function(t){for(var e,n=0,r=0,i=t.children,o=i.length;--o>=0;)(e=i[o]).z+=n,e.m+=n,n+=e.s+(r+=e.c)}(e);var o=(n[0].z+n[n.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-o):e.z=o}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,n,r){if(n){for(var i,o=e,a=e,s=n,u=o.parent.children[0],l=o.m,c=a.m,f=s.m,h=u.m;s=dC(s),o=hC(o),s&&o;)u=hC(u),(a=dC(a)).a=e,(i=s.z+f-o.z-l+t(s._,o._))>0&&(pC(gC(s,e,r),e,i),l+=i,c+=i),f+=s.m,l+=o.m,h+=u.m,c+=a.m;s&&!dC(a)&&(a.t=s,a.m+=f-c),o&&!hC(u)&&(u.t=o,u.m+=l-h,r=e)}return r}(e,i,e.parent.A||r[0])}function a(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*n}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i},cluster:function(){var t=wD,e=1,n=1,r=!1;function i(i){var o,a=0;i.eachAfter((function(e){var n=e.children;n?(e.x=function(t){return t.reduce(kD,0)/t.length}(n),e.y=function(t){return 1+t.reduce(AD,0)}(n)):(e.x=o?a+=t(e,o):0,e.y=0,o=e)}));var s=function(t){for(var e;e=t.children;)t=e[0];return t}(i),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(i),l=s.x-t(s,u)/2,c=u.x+t(u,s)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*e,t.y=(i.y-t.y)*n}:function(t){t.x=(t.x-l)/(c-l)*e,t.y=(1-(i.y?t.y/i.y:1))*n})}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i}},zC=["x","y","depth","children"];function NC(t){EC.call(this,t)}function OC(t){Ja.call(this,[],t)}NC.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:zC.length,default:zC}]},dt(NC,EC,{layout(t){const e=t||"tidy";if(lt(BC,e))return BC[e]();s("Unrecognized Tree layout method: "+e)},params:["size","nodeSize"],fields:zC}),OC.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},dt(OC,Ja,{transform(t,e){const n=this.value,r=e.source&&e.source.root,i=e.fork(e.NO_SOURCE),o={};return r||s("TreeLinks transform requires a tree data source."),e.changed(e.ADD_REM)?(i.rem=n,e.visit(e.SOURCE,(t=>o[ya(t)]=1)),r.each((t=>{const e=t.data,n=t.parent&&t.parent.data;n&&o[ya(e)]&&o[ya(n)]&&i.add.push(_a({source:n,target:e}))})),this.value=i.add):e.changed(e.MOD)&&(e.visit(e.MOD,(t=>o[ya(t)]=1)),n.forEach((t=>{(o[ya(t.source)]||o[ya(t.target)])&&i.mod.push(t)}))),i}});const RC={binary:function(t,e,n,r,i){var o,a,s=t.children,u=s.length,l=new Array(u+1);for(l[0]=a=o=0;o=n-1){var c=s[e];return c.x0=i,c.y0=o,c.x1=a,void(c.y1=u)}var f=l[e],h=r/2+f,d=e+1,p=n-1;for(;d>>1;l[g]u-o){var v=r?(i*y+a*m)/r:a;t(e,d,m,i,o,v,u),t(d,n,y,v,o,a,u)}else{var _=r?(o*y+u*m)/r:u;t(e,d,m,i,o,a,_),t(d,n,y,i,_,a,u)}}(0,u,t.value,e,n,r,i)},dice:nC,slice:yC,slicedice:function(t,e,n,r,i){(1&t.depth?yC:nC)(t,e,n,r,i)},squarify:xC,resquarify:bC},UC=["x0","y0","x1","y1","depth","children"];function LC(t){EC.call(this,t)}LC.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:UC.length,default:UC}]},dt(LC,EC,{layout(){const t=function(){var t=xC,e=!1,n=1,r=1,i=[0],o=zD,a=zD,s=zD,u=zD,l=zD;function c(t){return t.x0=t.y0=0,t.x1=n,t.y1=r,t.eachBefore(f),i=[0],e&&t.eachBefore(eC),t}function f(e){var n=i[e.depth],r=e.x0+n,c=e.y0+n,f=e.x1-n,h=e.y1-n;f{const n=t.tile();n.ratio&&t.tile(n.ratio(e))},t.method=e=>{lt(RC,e)?t.tile(RC[e]):s("Unrecognized Treemap layout method: "+e)},t},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:UC});var qC=Object.freeze({__proto__:null,nest:kC,pack:FC,partition:$C,stratify:TC,tree:NC,treelinks:OC,treemap:LC});const PC=4278190080;function jC(t,e,n){return new Uint32Array(t.getImageData(0,0,e,n).data.buffer)}function IC(t,e,n){if(!e.length)return;const r=e[0].mark.marktype;"group"===r?e.forEach((e=>{e.items.forEach((e=>IC(t,e.items,n)))})):zy[r].draw(t,{items:n?e.map(WC):e})}function WC(t){const e=ba(t,{});return e.stroke&&0!==e.strokeOpacity||e.fill&&0!==e.fillOpacity?{...e,strokeOpacity:1,stroke:"#000",fillOpacity:0}:e}const HC=5,YC=31,GC=32,VC=new Uint32Array(GC+1),XC=new Uint32Array(GC+1);XC[0]=0,VC[0]=~XC[0];for(let t=1;t<=GC;++t)XC[t]=XC[t-1]<<1|1,VC[t]=~XC[t];function JC(t,e,n){const r=Math.max(1,Math.sqrt(t*e/1e6)),i=~~((t+2*n+r)/r),o=~~((e+2*n+r)/r),a=t=>~~((t+n)/r);return a.invert=t=>t*r-n,a.bitmap=()=>function(t,e){const n=new Uint32Array(~~((t*e+GC)/GC));function r(t,e){n[t]|=e}function i(t,e){n[t]&=e}return{array:n,get:(e,r)=>{const i=r*t+e;return n[i>>>HC]&1<<(i&YC)},set:(e,n)=>{const i=n*t+e;r(i>>>HC,1<<(i&YC))},clear:(e,n)=>{const r=n*t+e;i(r>>>HC,~(1<<(r&YC)))},getRange:(e,r,i,o)=>{let a,s,u,l,c=o;for(;c>=r;--c)if(a=c*t+e,s=c*t+i,u=a>>>HC,l=s>>>HC,u===l){if(n[u]&VC[a&YC]&XC[1+(s&YC)])return!0}else{if(n[u]&VC[a&YC])return!0;if(n[l]&XC[1+(s&YC)])return!0;for(let t=u+1;t{let a,s,u,l,c;for(;n<=o;++n)if(a=n*t+e,s=n*t+i,u=a>>>HC,l=s>>>HC,u===l)r(u,VC[a&YC]&XC[1+(s&YC)]);else for(r(u,VC[a&YC]),r(l,XC[1+(s&YC)]),c=u+1;c{let a,s,u,l,c;for(;n<=o;++n)if(a=n*t+e,s=n*t+r,u=a>>>HC,l=s>>>HC,u===l)i(u,XC[a&YC]|VC[1+(s&YC)]);else for(i(u,XC[a&YC]),i(l,VC[1+(s&YC)]),c=u+1;cn<0||r<0||o>=e||i>=t}}(i,o),a.ratio=r,a.padding=n,a.width=t,a.height=e,a}function ZC(t,e,n,r,i,o){let a=n/2;return t-a<0||t+a>i||e-(a=r/2)<0||e+a>o}function QC(t,e,n,r,i,o,a,s){const u=i*o/(2*r),l=t(e-u),c=t(e+u),f=t(n-(o/=2)),h=t(n+o);return a.outOfBounds(l,f,c,h)||a.getRange(l,f,c,h)||s&&s.getRange(l,f,c,h)}const KC=[-1,-1,1,1],tF=[-1,1,-1,1];const eF=["right","center","left"],nF=["bottom","middle","top"];function rF(t,e,n,r,i,o,a,s,u,l,c,f){return!(i.outOfBounds(t,n,e,r)||(f&&o||i).getRange(t,n,e,r))}const iF={"top-left":0,top:1,"top-right":2,left:4,middle:5,right:6,"bottom-left":8,bottom:9,"bottom-right":10},oF={naive:function(t,e,n,r){const i=t.width,o=t.height;return function(t){const e=t.datum.datum.items[r].items,n=e.length,a=t.datum.fontSize,s=py.width(t.datum,t.datum.text);let u,l,c,f,h,d,p,g=0;for(let r=0;r=g&&(g=p,t.x=h,t.y=d);return h=s/2,d=a/2,u=t.x-h,l=t.x+h,c=t.y-d,f=t.y+d,t.align="center",u<0&&l<=i?t.align="left":0<=u&&i=1;)h=(d+p)/2,QC(t,c,f,l,u,h,a,s)?p=h:d=h;if(d>r)return[c,f,d,!0]}}return function(e){const s=e.datum.datum.items[r].items,l=s.length,c=e.datum.fontSize,f=py.width(e.datum,e.datum.text);let h,d,p,g,m,y,v,_,x,b,w,k,A,M,E,D,C,F=n?c:0,S=!1,$=!1,T=0;for(let r=0;rd&&(C=h,h=d,d=C),p>g&&(C=p,p=g,g=C),x=t(h),w=t(d),b=~~((x+w)/2),k=t(p),M=t(g),A=~~((k+M)/2),v=b;v>=x;--v)for(_=A;_>=k;--_)D=u(v,_,F,f,c),D&&([e.x,e.y,F,S]=D);for(v=b;v<=w;++v)for(_=A;_<=M;++_)D=u(v,_,F,f,c),D&&([e.x,e.y,F,S]=D);S||n||(E=Math.abs(d-h+g-p),m=(h+d)/2,y=(p+g)/2,E>=T&&!ZC(m,y,f,c,i,o)&&!QC(t,m,y,c,f,c,a,null)&&(T=E,e.x=m,e.y=y,$=!0))}return!(!S&&!$)&&(m=f/2,y=c/2,a.setRange(t(e.x-m),t(e.y-y),t(e.x+m),t(e.y+y)),e.align="center",e.baseline="middle",!0)}},floodfill:function(t,e,n,r){const i=t.width,o=t.height,a=e[0],s=e[1],u=t.bitmap();return function(e){const l=e.datum.datum.items[r].items,c=l.length,f=e.datum.fontSize,h=py.width(e.datum,e.datum.text),d=[];let p,g,m,y,v,_,x,b,w,k,A,M,E=n?f:0,D=!1,C=!1,F=0;for(let r=0;r=1;)A=(w+k)/2,QC(t,v,_,f,h,A,a,s)?k=A:w=A;w>E&&(e.x=v,e.y=_,E=w,D=!0)}}D||n||(M=Math.abs(g-p+y-m),v=(p+g)/2,_=(m+y)/2,M>=F&&!ZC(v,_,h,f,i,o)&&!QC(t,v,_,f,h,f,a,null)&&(F=M,e.x=v,e.y=_,C=!0))}return!(!D&&!C)&&(v=h/2,_=f/2,a.setRange(t(e.x-v),t(e.y-_),t(e.x+v),t(e.y+_)),e.align="center",e.baseline="middle",!0)}}};function aF(t,e,n,r,i,o,a,s,u,l,c){if(!t.length)return t;const f=Math.max(r.length,i.length),h=function(t,e){const n=new Float64Array(e),r=t.length;for(let e=0;e[t.x,t.x,t.x,t.y,t.y,t.y];return t?"line"===t||"area"===t?t=>i(t.datum):"line"===e?t=>{const e=t.datum.items[r].items;return i(e.length?e["start"===n?0:e.length-1]:{x:NaN,y:NaN})}:t=>{const e=t.datum.bounds;return[e.x1,(e.x1+e.x2)/2,e.x2,e.y1,(e.y1+e.y2)/2,e.y2]}:i}(p,g,s,u),v=null===l||l===1/0,_=m&&"naive"===c;var x;let b=-1,w=-1;const k=t.map((t=>{const e=v?py.width(t,t.text):void 0;return b=Math.max(b,e),w=Math.max(w,t.fontSize),{datum:t,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:y(t),textWidth:e}}));l=null===l||l===1/0?Math.max(b,w)+Math.max(...r):l;const A=JC(e[0],e[1],l);let M;if(!_){n&&k.sort(((t,e)=>n(t.datum,e.datum)));let e=!1;for(let t=0;tt.datum));M=o.length||r?function(t,e,n,r,i){const o=t.width,a=t.height,s=r||i,u=$c(o,a).getContext("2d"),l=$c(o,a).getContext("2d"),c=s&&$c(o,a).getContext("2d");n.forEach((t=>IC(u,t,!1))),IC(l,e,!1),s&&IC(c,e,!0);const f=jC(u,o,a),h=jC(l,o,a),d=s&&jC(c,o,a),p=t.bitmap(),g=s&&t.bitmap();let m,y,v,_,x,b,w,k;for(y=0;yn.set(t(e.boundary[0]),t(e.boundary[3])))),[n,void 0]}(A,a&&k)}const E=m?oF[c](A,M,a,u):function(t,e,n,r){const i=t.width,o=t.height,a=e[0],s=e[1],u=r.length;return function(e){const l=e.boundary,c=e.datum.fontSize;if(l[2]<0||l[5]<0||l[0]>i||l[3]>o)return!1;let f,h,d,p,g,m,y,v,_,x,b,w,k,A,M,E=e.textWidth??0;for(let i=0;i>>2&3)-1,d=0===f&&0===h||r[i]<0,p=f&&h?Math.SQRT1_2:1,g=r[i]<0?-1:1,m=l[1+f]+r[i]*f*p,b=l[4+h]+g*c*h/2+r[i]*h*p,v=b-c/2,_=b+c/2,w=t(m),A=t(v),M=t(_),!E){if(!rF(w,w,A,M,a,s,0,0,0,0,0,d))continue;E=py.width(e.datum,e.datum.text)}if(x=m+g*E*f/2,m=x-E/2,y=x+E/2,w=t(m),k=t(y),rF(w,k,A,M,a,s,0,0,0,0,0,d))return e.x=f?f*g<0?y:m:x,e.y=h?h*g<0?_:v:b,e.align=eF[f*g+1],e.baseline=nF[h*g+1],a.setRange(w,A,k,M),!0}return!1}}(A,M,d,h);return k.forEach((t=>t.opacity=+E(t))),k}const sF=["x","y","opacity","align","baseline"],uF=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function lF(t){Ja.call(this,null,t)}lF.Definition={type:"Label",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"sort",type:"compare"},{name:"anchor",type:"string",array:!0,default:uF},{name:"offset",type:"number",array:!0,default:[1]},{name:"padding",type:"number",default:0,null:!0},{name:"lineAnchor",type:"string",values:["start","end"],default:"end"},{name:"markIndex",type:"number",default:0},{name:"avoidBaseMark",type:"boolean",default:!0},{name:"avoidMarks",type:"data",array:!0},{name:"method",type:"string",default:"naive"},{name:"as",type:"string",array:!0,length:sF.length,default:sF}]},dt(lF,Ja,{transform(t,e){const n=t.modified();if(!(n||e.changed(e.ADD_REM)||function(n){const r=t[n];return J(r)&&e.modified(r.fields)}("sort")))return;t.size&&2===t.size.length||s("Size parameter should be specified as a [width, height] array.");const r=t.as||sF;return aF(e.materialize(e.SOURCE).source||[],t.size,t.sort,V(null==t.offset?1:t.offset),V(t.anchor||uF),t.avoidMarks||[],!1!==t.avoidBaseMark,t.lineAnchor||"end",t.markIndex||0,void 0===t.padding?0:t.padding,t.method||"naive").forEach((t=>{const e=t.datum;e[r[0]]=t.x,e[r[1]]=t.y,e[r[2]]=t.opacity,e[r[3]]=t.align,e[r[4]]=t.baseline})),e.reflow(n).modifies(r)}});var cF=Object.freeze({__proto__:null,label:lF});function fF(t,e){var n,r,i,o,a,s,u=[],l=function(t){return t(o)};if(null==e)u.push(t);else for(n={},r=0,i=t.length;r{Ls(e,t.x,t.y,t.bandwidth||.3).forEach((t=>{const n={};for(let t=0;t"poly"===t?e:"quad"===t?2:1)(a,u),c=t.as||[n(t.x),n(t.y)],f=dF[a],h=[];let d=t.extent;lt(dF,a)||s("Invalid regression method: "+a),null!=d&&"log"===a&&d[0]<=0&&(e.dataflow.warn("Ignoring extent with values <= 0 for log regression."),d=null),i.forEach((n=>{if(n.length<=l)return void e.dataflow.warn("Skipping regression with more parameters than data points.");const r=f(n,t.x,t.y,u);if(t.params)return void h.push(_a({keys:n.dims,coef:r.coef,rSquared:r.rSquared}));const i=d||at(n,t.x),s=t=>{const e={};for(let t=0;ts([t,r.predict(t)]))):Is(r.predict,i,25,200).forEach(s)})),this.value&&(r.rem=this.value),this.value=r.add=r.source=h}return r}});var gF=Object.freeze({__proto__:null,loess:hF,regression:pF});const mF=134217729,yF=33306690738754706e-32;function vF(t,e,n,r,i){let o,a,s,u,l=e[0],c=r[0],f=0,h=0;c>l==c>-l?(o=l,l=e[++f]):(o=c,c=r[++h]);let d=0;if(fl==c>-l?(a=l+o,s=o-(a-l),l=e[++f]):(a=c+o,s=o-(a-c),c=r[++h]),o=a,0!==s&&(i[d++]=s);fl==c>-l?(a=o+l,u=a-o,s=o-(a-u)+(l-u),l=e[++f]):(a=o+c,u=a-o,s=o-(a-u)+(c-u),c=r[++h]),o=a,0!==s&&(i[d++]=s);for(;f0!=s>0)return u;const l=Math.abs(a+s);return Math.abs(u)>=33306690738754716e-32*l?u:-function(t,e,n,r,i,o,a){let s,u,l,c,f,h,d,p,g,m,y,v,_,x,b,w,k,A;const M=t-i,E=n-i,D=e-o,C=r-o;x=M*C,h=mF*M,d=h-(h-M),p=M-d,h=mF*C,g=h-(h-C),m=C-g,b=p*m-(x-d*g-p*g-d*m),w=D*E,h=mF*D,d=h-(h-D),p=D-d,h=mF*E,g=h-(h-E),m=E-g,k=p*m-(w-d*g-p*g-d*m),y=b-k,f=b-y,wF[0]=b-(y+f)+(f-k),v=x+y,f=v-x,_=x-(v-f)+(y-f),y=_-w,f=_-y,wF[1]=_-(y+f)+(f-w),A=v+y,f=A-v,wF[2]=v-(A-f)+(y-f),wF[3]=A;let F=function(t,e){let n=e[0];for(let r=1;r=S||-F>=S)return F;if(f=t-M,s=t-(M+f)+(f-i),f=n-E,l=n-(E+f)+(f-i),f=e-D,u=e-(D+f)+(f-o),f=r-C,c=r-(C+f)+(f-o),0===s&&0===u&&0===l&&0===c)return F;if(S=bF*a+yF*Math.abs(F),F+=M*c+C*s-(D*l+E*u),F>=S||-F>=S)return F;x=s*C,h=mF*s,d=h-(h-s),p=s-d,h=mF*C,g=h-(h-C),m=C-g,b=p*m-(x-d*g-p*g-d*m),w=u*E,h=mF*u,d=h-(h-u),p=u-d,h=mF*E,g=h-(h-E),m=E-g,k=p*m-(w-d*g-p*g-d*m),y=b-k,f=b-y,EF[0]=b-(y+f)+(f-k),v=x+y,f=v-x,_=x-(v-f)+(y-f),y=_-w,f=_-y,EF[1]=_-(y+f)+(f-w),A=v+y,f=A-v,EF[2]=v-(A-f)+(y-f),EF[3]=A;const $=vF(4,wF,4,EF,kF);x=M*c,h=mF*M,d=h-(h-M),p=M-d,h=mF*c,g=h-(h-c),m=c-g,b=p*m-(x-d*g-p*g-d*m),w=D*l,h=mF*D,d=h-(h-D),p=D-d,h=mF*l,g=h-(h-l),m=l-g,k=p*m-(w-d*g-p*g-d*m),y=b-k,f=b-y,EF[0]=b-(y+f)+(f-k),v=x+y,f=v-x,_=x-(v-f)+(y-f),y=_-w,f=_-y,EF[1]=_-(y+f)+(f-w),A=v+y,f=A-v,EF[2]=v-(A-f)+(y-f),EF[3]=A;const T=vF($,kF,4,EF,AF);x=s*c,h=mF*s,d=h-(h-s),p=s-d,h=mF*c,g=h-(h-c),m=c-g,b=p*m-(x-d*g-p*g-d*m),w=u*l,h=mF*u,d=h-(h-u),p=u-d,h=mF*l,g=h-(h-l),m=l-g,k=p*m-(w-d*g-p*g-d*m),y=b-k,f=b-y,EF[0]=b-(y+f)+(f-k),v=x+y,f=v-x,_=x-(v-f)+(y-f),y=_-w,f=_-y,EF[1]=_-(y+f)+(f-w),A=v+y,f=A-v,EF[2]=v-(A-f)+(y-f),EF[3]=A;const B=vF(T,AF,4,EF,MF);return MF[B-1]}(t,e,n,r,i,o,l)}const CF=Math.pow(2,-52),FF=new Uint32Array(512);class SF{static from(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:OF,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:RF;const r=t.length,i=new Float64Array(2*r);for(let o=0;o>1;if(e>0&&"number"!=typeof t[0])throw new Error("Expected coords to contain numbers.");this.coords=t;const n=Math.max(2*e-5,0);this._triangles=new Uint32Array(3*n),this._halfedges=new Int32Array(3*n),this._hashSize=Math.ceil(Math.sqrt(e)),this._hullPrev=new Uint32Array(e),this._hullNext=new Uint32Array(e),this._hullTri=new Uint32Array(e),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(e),this._dists=new Float64Array(e),this.update()}update(){const{coords:t,_hullPrev:e,_hullNext:n,_hullTri:r,_hullHash:i}=this,o=t.length>>1;let a=1/0,s=1/0,u=-1/0,l=-1/0;for(let e=0;eu&&(u=n),r>l&&(l=r),this._ids[e]=e}const c=(a+u)/2,f=(s+l)/2;let h,d,p,g=1/0;for(let e=0;e0&&(d=e,g=n)}let v=t[2*d],_=t[2*d+1],x=1/0;for(let e=0;er&&(e[n++]=i,r=this._dists[i])}return this.hull=e.subarray(0,n),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(DF(m,y,v,_,b,w)<0){const t=d,e=v,n=_;d=p,v=b,_=w,p=t,b=e,w=n}const k=function(t,e,n,r,i,o){const a=n-t,s=r-e,u=i-t,l=o-e,c=a*a+s*s,f=u*u+l*l,h=.5/(a*l-s*u),d=t+(l*c-s*f)*h,p=e+(a*f-u*c)*h;return{x:d,y:p}}(m,y,v,_,b,w);this._cx=k.x,this._cy=k.y;for(let e=0;e0&&Math.abs(l-o)<=CF&&Math.abs(c-a)<=CF)continue;if(o=l,a=c,u===h||u===d||u===p)continue;let f=0;for(let t=0,e=this._hashKey(l,c);t=0;)if(m=g,m===f){m=-1;break}if(-1===m)continue;let y=this._addTriangle(m,u,n[m],-1,-1,r[m]);r[u]=this._legalize(y+2),r[m]=y,A++;let v=n[m];for(;g=n[v],DF(l,c,t[2*v],t[2*v+1],t[2*g],t[2*g+1])<0;)y=this._addTriangle(v,u,g,r[u],-1,r[v]),r[u]=this._legalize(y+2),n[v]=v,A--,v=g;if(m===f)for(;g=e[m],DF(l,c,t[2*g],t[2*g+1],t[2*m],t[2*m+1])<0;)y=this._addTriangle(g,u,m,-1,r[m],r[g]),this._legalize(y+2),r[g]=y,n[m]=m,A--,m=g;this._hullStart=e[u]=m,n[m]=e[v]=u,n[u]=v,i[this._hashKey(l,c)]=u,i[this._hashKey(t[2*m],t[2*m+1])]=m}this.hull=new Uint32Array(A);for(let t=0,e=this._hullStart;t0?3-n:1+n)/4}(t-this._cx,e-this._cy)*this._hashSize)%this._hashSize}_legalize(t){const{_triangles:e,_halfedges:n,coords:r}=this;let i=0,o=0;for(;;){const a=n[t],s=t-t%3;if(o=s+(t+2)%3,-1===a){if(0===i)break;t=FF[--i];continue}const u=a-a%3,l=s+(t+1)%3,c=u+(a+2)%3,f=e[o],h=e[t],d=e[l],p=e[c];if(TF(r[2*f],r[2*f+1],r[2*h],r[2*h+1],r[2*d],r[2*d+1],r[2*p],r[2*p+1])){e[t]=p,e[a]=f;const r=n[c];if(-1===r){let e=this._hullStart;do{if(this._hullTri[e]===c){this._hullTri[e]=t;break}e=this._hullPrev[e]}while(e!==this._hullStart)}this._link(t,r),this._link(a,n[o]),this._link(o,c);const s=u+(a+1)%3;i=n&&e[t[a]]>o;)t[a+1]=t[a--];t[a+1]=r}else{let i=n+1,o=r;NF(t,n+r>>1,i),e[t[n]]>e[t[r]]&&NF(t,n,r),e[t[i]]>e[t[r]]&&NF(t,i,r),e[t[n]]>e[t[i]]&&NF(t,n,i);const a=t[i],s=e[a];for(;;){do{i++}while(e[t[i]]s);if(o=o-n?(zF(t,e,i,r),zF(t,e,n,o-1)):(zF(t,e,n,o-1),zF(t,e,i,r))}}function NF(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function OF(t){return t[0]}function RF(t){return t[1]}const UF=1e-6;class LF{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(t,e){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(t,e){this._+=`L${this._x1=+t},${this._y1=+e}`}arc(t,e,n){const r=(t=+t)+(n=+n),i=e=+e;if(n<0)throw new Error("negative radius");null===this._x1?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>UF||Math.abs(this._y1-i)>UF)&&(this._+="L"+r+","+i),n&&(this._+=`A${n},${n},0,1,1,${t-n},${e}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(t,e,n,r){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${+n}v${+r}h${-n}Z`}value(){return this._||null}}class qF{constructor(){this._=[]}moveTo(t,e){this._.push([t,e])}closePath(){this._.push(this._[0].slice())}lineTo(t,e){this._.push([t,e])}value(){return this._.length?this._:null}}let PF=class{constructor(t){let[e,n,r,i]=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,960,500];if(!((r=+r)>=(e=+e)&&(i=+i)>=(n=+n)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(2*t.points.length),this.vectors=new Float64Array(2*t.points.length),this.xmax=r,this.xmin=e,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:t,hull:e,triangles:n},vectors:r}=this;let i,o;const a=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let r,s,u=0,l=0,c=n.length;u1;)i-=2;for(let t=2;t0){if(e>=this.ymax)return null;(i=(this.ymax-e)/r)0){if(t>=this.xmax)return null;(i=(this.xmax-t)/n)this.xmax?2:0)|(ethis.ymax?8:0)}_simplify(t){if(t&&t.length>4){for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:WF,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:HF,r=arguments.length>3?arguments[3]:void 0;return new GF("length"in t?function(t,e,n,r){const i=t.length,o=new Float64Array(2*i);for(let a=0;a2&&function(t){const{triangles:e,coords:n}=t;for(let t=0;t1e-10)return!1}return!0}(t)){this.collinear=Int32Array.from({length:e.length/2},((t,e)=>e)).sort(((t,n)=>e[2*t]-e[2*n]||e[2*t+1]-e[2*n+1]));const t=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[e[2*t],e[2*t+1],e[2*n],e[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let t=0,n=e.length/2;t0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],o[r[0]]=1,2===r.length&&(o[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(t){return new PF(this,t)}*neighbors(t){const{inedges:e,hull:n,_hullIndex:r,halfedges:i,triangles:o,collinear:a}=this;if(a){const e=a.indexOf(t);return e>0&&(yield a[e-1]),void(e2&&void 0!==arguments[2]?arguments[2]:0;if((t=+t)!=t||(e=+e)!=e)return-1;const r=n;let i;for(;(i=this._step(n,t,e))>=0&&i!==n&&i!==r;)n=i;return i}_step(t,e,n){const{inedges:r,hull:i,_hullIndex:o,halfedges:a,triangles:s,points:u}=this;if(-1===r[t]||!u.length)return(t+1)%(u.length>>1);let l=t,c=IF(e-u[2*t],2)+IF(n-u[2*t+1],2);const f=r[t];let h=f;do{let r=s[h];const f=IF(e-u[2*r],2)+IF(n-u[2*r+1],2);if(f=f));)if(e.x=a+i,e.y=l+o,!(e.x+e.x0<0||e.y+e.y0<0||e.x+e.x1>s[0]||e.y+e.y1>s[1])&&(!n||!rS(e,t,s[0]))&&(!n||oS(e,n))){for(var g,m=e.sprite,y=e.width>>5,v=s[0]>>5,_=e.x-(y<<4),x=127&_,b=32-x,w=e.y1-e.y0,k=(e.y+e.y0)*v+(_>>5),A=0;A>>x:0);k+=v}return e.sprite=null,!0}return!1}return f.layout=function(){for(var u=function(t){t.width=t.height=1;var e=Math.sqrt(t.getContext("2d").getImageData(0,0,1,1).data.length>>2);t.width=(KF<<5)/e,t.height=tS/e;var n=t.getContext("2d");return n.fillStyle=n.strokeStyle="red",n.textAlign="center",{context:n,ratio:e}}($c()),f=function(t){var e=[],n=-1;for(;++n>5)*s[1]),d=null,p=l.length,g=-1,m=[],y=l.map((s=>({text:t(s),font:e(s),style:r(s),weight:i(s),rotate:o(s),size:~~(n(s)+1e-14),padding:a(s),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:s}))).sort(((t,e)=>e.size-t.size));++g>1,v.y=s[1]*(c()+.5)>>1,nS(u,v,y,g),v.hasText&&h(f,v,d)&&(m.push(v),d?iS(d,v):d=[{x:v.x+v.x0,y:v.y+v.y0},{x:v.x+v.x1,y:v.y+v.y1}],v.x-=s[0]>>1,v.y-=s[1]>>1)}return m},f.words=function(t){return arguments.length?(l=t,f):l},f.size=function(t){return arguments.length?(s=[+t[0],+t[1]],f):s},f.font=function(t){return arguments.length?(e=sS(t),f):e},f.fontStyle=function(t){return arguments.length?(r=sS(t),f):r},f.fontWeight=function(t){return arguments.length?(i=sS(t),f):i},f.rotate=function(t){return arguments.length?(o=sS(t),f):o},f.text=function(e){return arguments.length?(t=sS(e),f):t},f.spiral=function(t){return arguments.length?(u=uS[t]||t,f):u},f.fontSize=function(t){return arguments.length?(n=sS(t),f):n},f.padding=function(t){return arguments.length?(a=sS(t),f):a},f.random=function(t){return arguments.length?(c=t,f):c},f}function nS(t,e,n,r){if(!e.sprite){var i=t.context,o=t.ratio;i.clearRect(0,0,(KF<<5)/o,tS/o);var a,s,u,l,c,f=0,h=0,d=0,p=n.length;for(--r;++r>5<<5,u=~~Math.max(Math.abs(v+_),Math.abs(v-_))}else a=a+31>>5<<5;if(u>d&&(d=u),f+a>=KF<<5&&(f=0,h+=d,d=0),h+u>=tS)break;i.translate((f+(a>>1))/o,(h+(u>>1))/o),e.rotate&&i.rotate(e.rotate*QF),i.fillText(e.text,0,0),e.padding&&(i.lineWidth=2*e.padding,i.strokeText(e.text,0,0)),i.restore(),e.width=a,e.height=u,e.xoff=f,e.yoff=h,e.x1=a>>1,e.y1=u>>1,e.x0=-e.x1,e.y0=-e.y1,e.hasText=!0,f+=a}for(var b=i.getImageData(0,0,(KF<<5)/o,tS/o).data,w=[];--r>=0;)if((e=n[r]).hasText){for(s=(a=e.width)>>5,u=e.y1-e.y0,l=0;l>5),E=b[(h+c)*(KF<<5)+(f+l)<<2]?1<<31-l%32:0;w[M]|=E,k|=E}k?A=c:(e.y0++,u--,c--,h++)}e.y1=e.y0+A,e.sprite=w.slice(0,(e.y1-e.y0)*s)}}}function rS(t,e,n){n>>=5;for(var r,i=t.sprite,o=t.width>>5,a=t.x-(o<<4),s=127&a,u=32-s,l=t.y1-t.y0,c=(t.y+t.y0)*n+(a>>5),f=0;f>>s:0))&e[c+h])return!0;c+=n}return!1}function iS(t,e){var n=t[0],r=t[1];e.x+e.x0r.x&&(r.x=e.x+e.x1),e.y+e.y1>r.y&&(r.y=e.y+e.y1)}function oS(t,e){return t.x+t.x1>e[0].x&&t.x+t.x0e[0].y&&t.y+t.y0e(t(n))}i.forEach((t=>{t[a[0]]=NaN,t[a[1]]=NaN,t[a[3]]=0}));const c=o.words(i).text(e.text).size(e.size||[500,500]).padding(e.padding||1).spiral(e.spiral||"archimedean").rotate(e.rotate||0).font(e.font||"sans-serif").fontStyle(e.fontStyle||"normal").fontWeight(e.fontWeight||"normal").fontSize(l).random(t.random).layout(),f=o.size(),h=f[0]>>1,d=f[1]>>1,p=c.length;for(let t,e,n=0;nnew Uint8Array(t),pS=t=>new Uint16Array(t),gS=t=>new Uint32Array(t);function mS(t,e,n){const r=(e<257?dS:e<65537?pS:gS)(t);return n&&r.set(n),r}function yS(t,e,n){const r=1<{const r=t[e],i=t[n];return ri?1:0})),function(t,e){return Array.from(e,(e=>t[e]))}(t,e)}(h,u),a)l=e,c=t,e=Array(a+s),t=gS(a+s),function(t,e,n,r,i,o,a,s,u){let l,c=0,f=0;for(l=0;c0)for(f=0;ft,size:()=>n}}function _S(t){Ja.call(this,function(){let t=8,e=[],n=gS(0),r=mS(0,t),i=mS(0,t);return{data:()=>e,seen:()=>n=function(t,e,n){return t.length>=e?t:((n=n||new t.constructor(e)).set(t),n)}(n,e.length),add(t){for(let n,r=0,i=e.length,o=t.length;re.length,curr:()=>r,prev:()=>i,reset:t=>i[t]=r[t],all:()=>t<257?255:t<65537?65535:4294967295,set(t,e){r[t]|=e},clear(t,e){r[t]&=~e},resize(e,n){(e>r.length||n>t)&&(t=Math.max(n,t),r=mS(e,t,r),i=mS(e,t))}}}(),t),this._indices=null,this._dims=null}function xS(t){Ja.call(this,null,t)}_S.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]},dt(_S,Ja,{transform(t,e){return this._dims?t.modified("fields")||t.fields.some((t=>e.modified(t.fields)))?this.reinit(t,e):this.eval(t,e):this.init(t,e)},init(t,e){const n=t.fields,r=t.query,i=this._indices={},o=this._dims=[],a=r.length;let s,u,l=0;for(;l{const t=i.remove(e,n);for(const e in r)r[e].reindex(t)}))},update(t,e,n){const r=this._dims,i=t.query,o=e.stamp,a=r.length;let s,u,l=0;for(n.filters=0,u=0;ud)for(m=d,y=Math.min(f,p);mp)for(m=Math.max(f,p),y=h;mc)for(d=c,p=Math.min(u,f);df)for(d=Math.max(u,f),p=l;ds[t]&n?null:a[t];return o.filter(o.MOD,l),i&i-1?(o.filter(o.ADD,(t=>{const e=s[t]&n;return!e&&e^u[t]&n?a[t]:null})),o.filter(o.REM,(t=>{const e=s[t]&n;return e&&!(e^e^u[t]&n)?a[t]:null}))):(o.filter(o.ADD,l),o.filter(o.REM,(t=>(s[t]&n)===i?a[t]:null))),o.filter(o.SOURCE,(t=>l(t._index)))}});var bS=Object.freeze({__proto__:null,crossfilter:_S,resolvefilter:xS});const wS="Literal",kS="Property",AS="ArrayExpression",MS="BinaryExpression",ES="CallExpression",DS="ConditionalExpression",CS="LogicalExpression",FS="MemberExpression",SS="ObjectExpression",$S="UnaryExpression";function TS(t){this.type=t}var BS,zS,NS,OS,RS;TS.prototype.visit=function(t){let e,n,r;if(t(this))return 1;for(e=function(t){switch(t.type){case AS:return t.elements;case MS:case CS:return[t.left,t.right];case ES:return[t.callee].concat(t.arguments);case DS:return[t.test,t.consequent,t.alternate];case FS:return[t.object,t.property];case SS:return t.properties;case kS:return[t.key,t.value];case $S:return[t.argument];default:return[]}}(this),n=0,r=e.length;n",BS[qS]="Identifier",BS[PS]="Keyword",BS[jS]="Null",BS[IS]="Numeric",BS[WS]="Punctuator",BS[HS]="String",BS[9]="RegularExpression";var YS="ArrayExpression",GS="BinaryExpression",VS="CallExpression",XS="ConditionalExpression",JS="Identifier",ZS="Literal",QS="LogicalExpression",KS="MemberExpression",t$="ObjectExpression",e$="Property",n$="UnaryExpression",r$="Unexpected token %0",i$="Unexpected number",o$="Unexpected string",a$="Unexpected identifier",s$="Unexpected reserved word",u$="Unexpected end of input",l$="Invalid regular expression",c$="Invalid regular expression: missing /",f$="Octal literals are not allowed in strict mode.",h$="Duplicate data property in object literal not allowed in strict mode",d$="ILLEGAL",p$="Disabled.",g$=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),m$=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function y$(t,e){if(!t)throw new Error("ASSERT: "+e)}function v$(t){return t>=48&&t<=57}function _$(t){return"0123456789abcdefABCDEF".includes(t)}function x$(t){return"01234567".includes(t)}function b$(t){return 32===t||9===t||11===t||12===t||160===t||t>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(t)}function w$(t){return 10===t||13===t||8232===t||8233===t}function k$(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||92===t||t>=128&&g$.test(String.fromCharCode(t))}function A$(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||92===t||t>=128&&m$.test(String.fromCharCode(t))}const M$={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function E$(){for(;NS1114111||"}"!==t)&&I$({},r$,d$),e<=65535?String.fromCharCode(e):(n=55296+(e-65536>>10),r=56320+(e-65536&1023),String.fromCharCode(n,r))}function F$(){var t,e;for(t=zS.charCodeAt(NS++),e=String.fromCharCode(t),92===t&&(117!==zS.charCodeAt(NS)&&I$({},r$,d$),++NS,(t=D$("u"))&&"\\"!==t&&k$(t.charCodeAt(0))||I$({},r$,d$),e=t);NS>>="===(r=zS.substr(NS,4))?{type:WS,value:r,start:i,end:NS+=4}:">>>"===(n=r.substr(0,3))||"<<="===n||">>="===n?{type:WS,value:n,start:i,end:NS+=3}:a===(e=n.substr(0,2))[1]&&"+-<>&|".includes(a)||"=>"===e?{type:WS,value:e,start:i,end:NS+=2}:("//"===e&&I$({},r$,d$),"<>=!+-*%&|^/".includes(a)?(++NS,{type:WS,value:a,start:i,end:NS}):void I$({},r$,d$))}function T$(){var t,e,n;if(y$(v$((n=zS[NS]).charCodeAt(0))||"."===n,"Numeric literal must start with a decimal digit or a decimal point"),e=NS,t="","."!==n){if(t=zS[NS++],n=zS[NS],"0"===t){if("x"===n||"X"===n)return++NS,function(t){let e="";for(;NS=0&&I$({},l$,n),{value:n,literal:e}}(),r=function(t,e){let n=t;e.includes("u")&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,((t,e)=>{if(parseInt(e,16)<=1114111)return"x";I$({},l$)})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch(t){I$({},l$)}try{return new RegExp(t,e)}catch(t){return null}}(e.value,n.value),{literal:e.literal+n.literal,value:r,regex:{pattern:e.value,flags:n.value},start:t,end:NS}}function z$(){if(E$(),NS>=OS)return{type:LS,start:NS,end:NS};const t=zS.charCodeAt(NS);return k$(t)?S$():40===t||41===t||59===t?$$():39===t||34===t?function(){var t,e,n,r,i="",o=!1;for(y$("'"===(t=zS[NS])||'"'===t,"String literal must starts with a quote"),e=NS,++NS;NS(y$(e":case"<=":case">=":case"instanceof":case"in":e=7;break;case"<<":case">>":case">>>":e=8;break;case"+":case"-":e=9;break;case"*":case"/":case"%":e=11}return e}function aT(){var t,e;return t=function(){var t,e,n,r,i,o,a,s,u,l;if(t=RS,u=iT(),0===(i=oT(r=RS)))return u;for(r.prec=i,N$(),e=[t,RS],o=[u,r,a=iT()];(i=oT(RS))>0;){for(;o.length>2&&i<=o[o.length-2].prec;)a=o.pop(),s=o.pop().value,u=o.pop(),e.pop(),n=R$(s,u,a),o.push(n);(r=N$()).prec=i,o.push(r),e.push(RS),n=iT(),o.push(n)}for(n=o[l=o.length-1],e.pop();l>1;)e.pop(),n=R$(o[l-1].value,o[l-2],n),l-=2;return n}(),Y$("?")&&(N$(),e=aT(),H$(":"),t=function(t,e,n){const r=new TS(XS);return r.test=t,r.consequent=e,r.alternate=n,r}(t,e,aT())),t}function sT(){const t=aT();if(Y$(","))throw new Error(p$);return t}function uT(t){NS=0,OS=(zS=t).length,RS=null,O$();const e=sT();if(RS.type!==LS)throw new Error("Unexpect token after expression.");return e}var lT={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function cT(t){function e(e,n,r){return i=>function(e,n,r,i){let o=t(n[0]);return r&&(o=r+"("+o+")",0===r.lastIndexOf("new ",0)&&(o="("+o+")")),o+"."+e+(i<0?"":0===i?"()":"("+n.slice(1).map(t).join(",")+")")}(e,i,n,r)}const n="new Date",r="String",i="RegExp";return{isNaN:"Number.isNaN",isFinite:"Number.isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",hypot:"Math.hypot",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(e){e.length<3&&s("Missing arguments to clamp function."),e.length>3&&s("Too many arguments to clamp function.");const n=e.map(t);return"Math.max("+n[1]+", Math.min("+n[2]+","+n[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:n,date:e("getDate",n,0),day:e("getDay",n,0),year:e("getFullYear",n,0),month:e("getMonth",n,0),hours:e("getHours",n,0),minutes:e("getMinutes",n,0),seconds:e("getSeconds",n,0),milliseconds:e("getMilliseconds",n,0),time:e("getTime",n,0),timezoneoffset:e("getTimezoneOffset",n,0),utcdate:e("getUTCDate",n,0),utcday:e("getUTCDay",n,0),utcyear:e("getUTCFullYear",n,0),utcmonth:e("getUTCMonth",n,0),utchours:e("getUTCHours",n,0),utcminutes:e("getUTCMinutes",n,0),utcseconds:e("getUTCSeconds",n,0),utcmilliseconds:e("getUTCMilliseconds",n,0),length:e("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:e("toUpperCase",r,0),lower:e("toLowerCase",r,0),substring:e("substring",r),split:e("split",r),trim:e("trim",r,0),regexp:i,test:e("test",i),if:function(e){e.length<3&&s("Missing arguments to if function."),e.length>3&&s("Too many arguments to if function.");const n=e.map(t);return"("+n[0]+"?"+n[1]+":"+n[2]+")"}}}function fT(t){const e=(t=t||{}).allowed?Bt(t.allowed):{},n=t.forbidden?Bt(t.forbidden):{},r=t.constants||lT,i=(t.functions||cT)(h),o=t.globalvar,a=t.fieldvar,u=J(o)?o:t=>`${o}["${t}"]`;let l={},c={},f=0;function h(t){if(xt(t))return t;const e=d[t.type];return null==e&&s("Unsupported type: "+t.type),e(t)}const d={Literal:t=>t.raw,Identifier:t=>{const i=t.name;return f>0?i:lt(n,i)?s("Illegal identifier: "+i):lt(r,i)?r[i]:lt(e,i)?i:(l[i]=1,u(i))},MemberExpression:t=>{const e=!t.computed,n=h(t.object);e&&(f+=1);const r=h(t.property);return n===a&&(c[function(t){const e=t&&t.length-1;return e&&('"'===t[0]&&'"'===t[e]||"'"===t[0]&&"'"===t[e])?t.slice(1,-1):t}(r)]=1),e&&(f-=1),n+(e?"."+r:"["+r+"]")},CallExpression:t=>{"Identifier"!==t.callee.type&&s("Illegal callee type: "+t.callee.type);const e=t.callee.name,n=t.arguments,r=lt(i,e)&&i[e];return r||s("Unrecognized function: "+e),J(r)?r(n):r+"("+n.map(h).join(",")+")"},ArrayExpression:t=>"["+t.elements.map(h).join(",")+"]",BinaryExpression:t=>"("+h(t.left)+" "+t.operator+" "+h(t.right)+")",UnaryExpression:t=>"("+t.operator+h(t.argument)+")",ConditionalExpression:t=>"("+h(t.test)+"?"+h(t.consequent)+":"+h(t.alternate)+")",LogicalExpression:t=>"("+h(t.left)+t.operator+h(t.right)+")",ObjectExpression:t=>"{"+t.properties.map(h).join(",")+"}",Property:t=>{f+=1;const e=h(t.key);return f-=1,e+":"+h(t.value)}};function p(t){const e={code:h(t),globals:Object.keys(l),fields:Object.keys(c)};return l={},c={},e}return p.functions=i,p.constants=r,p}const hT=Symbol("vega_selection_getter");function dT(t){return t.getter&&t.getter[hT]||(t.getter=l(t.field),t.getter[hT]=!0),t.getter}const pT="intersect",gT="union",mT="_vgsid_",yT=l(mT),vT="E",_T="R",xT="R-E",bT="R-LE",wT="R-RE",kT="index:unit";function AT(t,e){for(var n,r,i=e.fields,o=e.values,a=i.length,s=0;s1?e-1:0),r=1;re.includes(t))):e},R_union:function(t,e){var n=S(e[0]),r=S(e[1]);return n>r&&(n=e[1],r=e[0]),t.length?(t[0]>n&&(t[0]=n),t[1]r&&(n=e[1],r=e[0]),t.length?rr&&(t[1]=r),t):[n,r]}};function FT(t,e,n,r){e[0].type!==wS&&s("First argument to selection functions must be a string literal.");const i=e[0].value,o="unit",a="@"+o,u=":"+i;(e.length>=2&&F(e).value)!==pT||lt(r,a)||(r[a]=n.getData(i).indataRef(n,o)),lt(r,u)||(r[u]=n.getData(i).tuplesRef())}function ST(t){const e=this.context.data[t];return e?e.values.value:[]}const $T=t=>function(e,n){return this.context.dataflow.locale()[t](n)(e)},TT=$T("format"),BT=$T("timeFormat"),zT=$T("utcFormat"),NT=$T("timeParse"),OT=$T("utcParse"),RT=new Date(2e3,0,1);function UT(t,e,n){return Number.isInteger(t)&&Number.isInteger(e)?(RT.setYear(2e3),RT.setMonth(t),RT.setDate(e),BT.call(this,RT,n)):""}const LT="%",qT="$";function PT(t,e,n,r){e[0].type!==wS&&s("First argument to data functions must be a string literal.");const i=e[0].value,o=":"+i;if(!lt(o,r))try{r[o]=n.getData(i).tuplesRef()}catch(t){}}function jT(t,e,n,r){if(e[0].type===wS)IT(n,r,e[0].value);else for(t in n.scales)IT(n,r,t)}function IT(t,e,n){const r=LT+n;if(!lt(e,r))try{e[r]=t.scaleRef(n)}catch(t){}}function WT(t,e){if(J(t))return t;if(xt(t)){const n=e.scales[t];return n&&function(t){return t&&!0===t[Gd]}(n.value)?n.value:void 0}}function HT(t,e,n){e.__bandwidth=t=>t&&t.bandwidth?t.bandwidth():0,n._bandwidth=jT,n._range=jT,n._scale=jT;const r=e=>"_["+(e.type===wS?Ct(LT+e.value):Ct(LT)+"+"+t(e))+"]";return{_bandwidth:t=>`this.__bandwidth(${r(t[0])})`,_range:t=>`${r(t[0])}.range()`,_scale:e=>`${r(e[0])}(${t(e[1])})`}}function YT(t,e){return function(n,r,i){if(n){const e=WT(n,(i||this).context);return e&&e.path[t](r)}return e(r)}}const GT=YT("area",(function(t){return bw=new se,rw(t,ww),2*bw})),VT=YT("bounds",(function(t){var e,n,r,i,o,a,s;if(hw=fw=-(lw=cw=1/0),vw=[],rw(t,Jw),n=vw.length){for(vw.sort(ok),e=1,o=[r=vw[0]];eik(r[0],r[1])&&(r[1]=i[1]),ik(i[0],r[1])>ik(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,e=0,r=o[n=o.length-1];e<=n;r=i,++e)i=o[e],(s=ik(r[1],i[0]))>a&&(a=s,lw=i[0],fw=r[1])}return vw=_w=null,lw===1/0||cw===1/0?[[NaN,NaN],[NaN,NaN]]:[[lw,cw],[fw,hw]]})),XT=YT("centroid",(function(t){zw=Nw=Ow=Rw=Uw=Lw=qw=Pw=0,jw=new se,Iw=new se,Ww=new se,rw(t,sk);var e=+jw,n=+Iw,r=+Ww,i=jb(e,n,r);return itB(t,e)}const nB={};function rB(t){return k(t)||ArrayBuffer.isView(t)?t:null}function iB(t){return rB(t)||(xt(t)?t:null)}const oB=t=>t.data;function aB(t,e){const n=ST.call(e,t);return n.root&&n.root.lookup||{}}const sB=()=>"undefined"!=typeof window&&window||null;function uB(t,e,n){if(!t)return[];const[r,i]=t,o=(new Rg).set(r[0],r[1],i[0],i[1]);return w_(n||this.context.dataflow.scenegraph().root,o,function(t){let e=null;if(t){const n=V(t.marktype),r=V(t.markname);e=t=>(!n.length||n.some((e=>t.marktype===e)))&&(!r.length||r.some((e=>t.name===e)))}return e}(e))}const lB={random:()=>t.random(),cumulativeNormal:hs,cumulativeLogNormal:vs,cumulativeUniform:As,densityNormal:fs,densityLogNormal:ys,densityUniform:ks,quantileNormal:ds,quantileLogNormal:_s,quantileUniform:Ms,sampleNormal:cs,sampleLogNormal:ms,sampleUniform:ws,isArray:k,isBoolean:gt,isDate:mt,isDefined:t=>void 0!==t,isNumber:vt,isObject:A,isRegExp:_t,isString:xt,isTuple:ma,isValid:t=>null!=t&&t==t,toBoolean:Ft,toDate:t=>$t(t),toNumber:S,toString:Tt,indexof:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r1?e-1:0),r=1;r1?e-1:0),r=1;r1?e-1:0),r=1;rat(t),inScope:function(t){const e=this.context.group;let n=!1;if(e)for(;t;){if(t===e){n=!0;break}t=t.mark.group}return n},intersect:uB,clampRange:X,pinchDistance:function(t){const e=t.touches,n=e[0].clientX-e[1].clientX,r=e[0].clientY-e[1].clientY;return Math.hypot(n,r)},pinchAngle:function(t){const e=t.touches;return Math.atan2(e[0].clientY-e[1].clientY,e[0].clientX-e[1].clientX)},screen:function(){const t=sB();return t?t.screen:{}},containerSize:function(){const t=this.context.dataflow,e=t.container&&t.container();return e?[e.clientWidth,e.clientHeight]:[void 0,void 0]},windowSize:function(){const t=sB();return t?[t.innerWidth,t.innerHeight]:[void 0,void 0]},bandspace:function(t,e,n){return xd(t||0,e||0,n||0)},setdata:function(t,e){const n=this.context.dataflow,r=this.context.data[t].input;return n.pulse(r,n.changeset().remove(p).insert(e)),1},pathShape:function(t){let e=null;return function(n){return n?ag(n,e=e||Xp(t)):t}},panLinear:R,panLog:U,panPow:L,panSymlog:q,zoomLinear:j,zoomLog:I,zoomPow:W,zoomSymlog:H,encode:function(t,e,n){if(t){const n=this.context.dataflow,r=t.mark.source;n.pulse(r,n.changeset().encode(t,e))}return void 0!==n?n:t},modify:function(t,e,n,r,i,o){const a=this.context.dataflow,s=this.context.data[t],u=s.input,l=a.stamp();let c,f,h=s.changes;if(!1===a._trigger||!(u.value.length||e||r))return 0;if((!h||h.stamp{s.modified=!0,a.pulse(u,h).run()}),!0,1)),n&&(c=!0===n?p:k(n)||ma(n)?n:eB(n),h.remove(c)),e&&h.insert(e),r&&(c=eB(r),u.value.some(c)?h.remove(c):h.insert(r)),i)for(f in o)h.modify(i,f,o[f]);return 1},lassoAppend:function(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5;const i=(t=V(t))[t.length-1];return void 0===i||Math.hypot(i[0]-e,i[1]-n)>r?[...t,[e,n]]:t},lassoPath:function(t){return V(t).reduce(((e,n,r)=>{let[i,o]=n;return e+(0==r?`M ${i},${o} `:r===t.length-1?" Z":`L ${i},${o} `)}),"")},intersectLasso:function(t,e,n){const{x:r,y:i,mark:o}=n,a=(new Rg).set(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER,Number.MIN_SAFE_INTEGER);for(const[t,n]of e)ta.x2&&(a.x2=t),na.y2&&(a.y2=n);return a.translate(r,i),uB([[a.x1,a.y1],[a.x2,a.y2]],t,o).filter((t=>function(t,e,n){let r=0;for(let i=0,o=n.length-1;ie!=s>e&&t<(a-u)*(e-l)/(s-l)+u&&r++}return 1&r}(t.x,t.y,e)))}},cB=["view","item","group","xy","x","y"],fB="this.",hB={},dB={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:t=>`_[${Ct(qT+t)}]`,functions:function(t){const e=cT(t);cB.forEach((t=>e[t]="event.vega."+t));for(const t in lB)e[t]=fB+t;return ot(e,HT(t,lB,hB)),e},constants:lT,visitors:hB},pB=fT(dB);function gB(t,e,n){return 1===arguments.length?lB[t]:(lB[t]=e,n&&(hB[t]=n),pB&&(pB.functions[t]=fB+t),this)}function mB(t,e){const n={};let r;try{r=uT(t=xt(t)?t:Ct(t)+"")}catch(e){s("Expression parse error: "+t)}r.visit((t=>{if(t.type!==ES)return;const r=t.callee.name,i=dB.visitors[r];i&&i(r,t.arguments,e,n)}));const i=pB(r);return i.globals.forEach((t=>{const r=qT+t;!lt(n,r)&&e.getSignal(t)&&(n[r]=e.signalRef(t))})),{$expr:ot({code:i.code},e.options.ast?{ast:r}:null),$fields:i.fields,$params:n}}gB("bandwidth",(function(t,e){const n=WT(t,(e||this).context);return n&&n.bandwidth?n.bandwidth():0}),jT),gB("copy",(function(t,e){const n=WT(t,(e||this).context);return n?n.copy():void 0}),jT),gB("domain",(function(t,e){const n=WT(t,(e||this).context);return n?n.domain():[]}),jT),gB("range",(function(t,e){const n=WT(t,(e||this).context);return n&&n.range?n.range():[]}),jT),gB("invert",(function(t,e,n){const r=WT(t,(n||this).context);return r?k(e)?(r.invertRange||r.invert)(e):(r.invert||r.invertExtent)(e):void 0}),jT),gB("scale",(function(t,e,n){const r=WT(t,(n||this).context);return r?r(e):void 0}),jT),gB("gradient",(function(t,e,n,r,i){t=WT(t,(i||this).context);const o=Pp(e,n);let a=t.domain(),s=a[0],u=F(a),l=f;return u-s?l=up(t,s,u):t=(t.interpolator?Xd("sequential")().interpolator(t.interpolator()):Xd("linear")().interpolate(t.interpolate()).range(t.range())).domain([s=0,u=1]),t.ticks&&(a=t.ticks(+r||15),s!==a[0]&&a.unshift(s),u!==F(a)&&a.push(u)),a.forEach((e=>o.stop(l(e),t(e)))),o}),jT),gB("geoArea",GT,jT),gB("geoBounds",VT,jT),gB("geoCentroid",XT,jT),gB("geoShape",(function(t,e,n){const r=WT(t,(n||this).context);return function(t){return r?r.path.context(t)(e):""}}),jT),gB("geoScale",(function(t,e){const n=WT(t,(e||this).context);return n&&n.scale()}),jT),gB("indata",(function(t,e,n){const r=this.context.data[t]["index:"+e],i=r?r.value.get(n):void 0;return i?i.count:i}),(function(t,e,n,r){e[0].type!==wS&&s("First argument to indata must be a string literal."),e[1].type!==wS&&s("Second argument to indata must be a string literal.");const i=e[0].value,o=e[1].value,a="@"+o;lt(a,r)||(r[a]=n.getData(i).indataRef(n,o))})),gB("data",ST,PT),gB("treePath",(function(t,e,n){const r=aB(t,this),i=r[e],o=r[n];return i&&o?i.path(o).map(oB):void 0}),PT),gB("treeAncestors",(function(t,e){const n=aB(t,this)[e];return n?n.ancestors().map(oB):void 0}),PT),gB("vlSelectionTest",(function(t,e,n){for(var r,i,o,a,s,u=this.context.data[t],l=u?u.values.value:[],c=u?u[kT]&&u[kT].value:void 0,f=n===pT,h=l.length,d=0;d(t[o[n].field]=e,t)),{}))}else u=mT,l=yT(i),(f=(c=v[u]||(v[u]={}))[s]||(c[s]=[])).push(l),n&&(f=_[s]||(_[s]=[])).push({[mT]:l});if(e=e||gT,v[mT]?v[mT]=CT[`${mT}_${e}`](...Object.values(v[mT])):Object.keys(v).forEach((t=>{v[t]=Object.keys(v[t]).map((e=>v[t][e])).reduce(((n,r)=>void 0===n?r:CT[`${x[t]}_${e}`](n,r)))})),y=Object.keys(_),n&&y.length){v[r?"vlPoint":"vlMulti"]=e===gT?{or:y.reduce(((t,e)=>(t.push(..._[e]),t)),[])}:{and:y.map((t=>({or:_[t]})))}}return v}),FT),gB("vlSelectionTuples",(function(t,e){return t.map((t=>ot(e.fields?{values:e.fields.map((e=>dT(e)(t.datum)))}:{[mT]:yT(t.datum)},e)))}));const yB=Bt(["rule"]),vB=Bt(["group","image","rect"]);function _B(t){return(t+"").toLowerCase()}function xB(t,e,n){n.endsWith(";")||(n="return("+n+");");const r=Function(...e.concat(n));return t&&t.functions?r.bind(t.functions):r}var bB={operator:(t,e)=>xB(t,["_"],e.code),parameter:(t,e)=>xB(t,["datum","_"],e.code),event:(t,e)=>xB(t,["event"],e.code),handler:(t,e)=>xB(t,["_","event"],`var datum=event.item&&event.item.datum;return ${e.code};`),encode:(t,e)=>{const{marktype:n,channels:r}=e;let i="var o=item,datum=o.datum,m=0,$;";for(const t in r){const e="o["+Ct(t)+"]";i+=`$=${r[t].code};if(${e}!==$)${e}=$,m=1;`}return i+=function(t,e){let n="";return yB[e]||(t.x2&&(t.x?(vB[e]&&(n+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),n+="o.width=o.x2-o.x;"):n+="o.x=o.x2-(o.width||0);"),t.xc&&(n+="o.x=o.xc-(o.width||0)/2;"),t.y2&&(t.y?(vB[e]&&(n+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),n+="o.height=o.y2-o.y;"):n+="o.y=o.y2-(o.height||0);"),t.yc&&(n+="o.y=o.yc-(o.height||0)/2;")),n}(r,n),i+="return m;",xB(t,["item","_"],i)},codegen:{get(t){const e=`[${t.map(Ct).join("][")}]`,n=Function("_",`return _${e};`);return n.path=e,n},comparator(t,e){let n;const r=Function("a","b","var u, v; return "+t.map(((t,r)=>{const i=e[r];let o,a;return t.path?(o=`a${t.path}`,a=`b${t.path}`):((n=n||{})["f"+r]=t,o=`this.f${r}(a)`,a=`this.f${r}(b)`),function(t,e,n,r){return`((u = ${t}) < (v = ${e}) || u == null) && v != null ? ${n}\n : (u > v || v == null) && u != null ? ${r}\n : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n}\n : v !== v && u === u ? ${r} : `}(o,a,-i,i)})).join("")+"0;");return n?r.bind(n):r}}};function wB(t,e,n){if(!t||!A(t))return t;for(let r,i=0,o=kB.length;it&&t.$tupleid?ya:t));return e.fn[n]||(e.fn[n]=Q(r,t.$order,e.expr.codegen))}},{key:"$context",parse:function(t,e){return e}},{key:"$subflow",parse:function(t,e){const n=t.$subflow;return function(t,r,i){const o=e.fork().parse(n),a=o.get(n.operators[0].id),s=o.signals.parent;return s&&s.set(i),a.detachSubflow=()=>e.detach(o),a}}},{key:"$tupleid",parse:function(){return ya}}];const AB={skip:!0};function MB(t,e,n,r){return new EB(t,e,n,r)}function EB(t,e,n,r){this.dataflow=t,this.transforms=e,this.events=t.events.bind(t),this.expr=r||bB,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function DB(t){this.dataflow=t.dataflow,this.transforms=t.transforms,this.events=t.events,this.expr=t.expr,this.signals=Object.create(t.signals),this.scales=Object.create(t.scales),this.nodes=Object.create(t.nodes),this.data=Object.create(t.data),this.fn=Object.create(t.fn),t.functions&&(this.functions=Object.create(t.functions),this.functions.context=this)}function CB(t,e){t&&(null==e?t.removeAttribute("aria-label"):t.setAttribute("aria-label",e))}EB.prototype=DB.prototype={fork(){const t=new DB(this);return(this.subcontext||(this.subcontext=[])).push(t),t},detach(t){this.subcontext=this.subcontext.filter((e=>e!==t));const e=Object.keys(t.nodes);for(const n of e)t.nodes[n]._targets=null;for(const n of e)t.nodes[n].detach();t.nodes=null},get(t){return this.nodes[t]},set(t,e){return this.nodes[t]=e},add(t,e){const n=this,r=n.dataflow,i=t.value;if(n.set(t.id,e),function(t){return"collect"===_B(t)}(t.type)&&i&&(i.$ingest?r.ingest(e,i.$ingest,i.$format):i.$request?r.preload(e,i.$request,i.$format):r.pulse(e,r.changeset().insert(i))),t.root&&(n.root=e),t.parent){let i=n.get(t.parent.$ref);i?(r.connect(i,[e]),e.targets().add(i)):(n.unresolved=n.unresolved||[]).push((()=>{i=n.get(t.parent.$ref),r.connect(i,[e]),e.targets().add(i)}))}if(t.signal&&(n.signals[t.signal]=e),t.scale&&(n.scales[t.scale]=e),t.data)for(const r in t.data){const i=n.data[r]||(n.data[r]={});t.data[r].forEach((t=>i[t]=e))}},resolve(){return(this.unresolved||[]).forEach((t=>t())),delete this.unresolved,this},operator(t,e){this.add(t,this.dataflow.add(t.value,e))},transform(t,e){this.add(t,this.dataflow.add(this.transforms[_B(e)]))},stream(t,e){this.set(t.id,e)},update(t,e,n,r,i){this.dataflow.on(e,n,r,i,t.options)},operatorExpression(t){return this.expr.operator(this,t)},parameterExpression(t){return this.expr.parameter(this,t)},eventExpression(t){return this.expr.event(this,t)},handlerExpression(t){return this.expr.handler(this,t)},encodeExpression(t){return this.expr.encode(this,t)},parse:function(t){const e=this,n=t.operators||[];return t.background&&(e.background=t.background),t.eventConfig&&(e.eventConfig=t.eventConfig),t.locale&&(e.locale=t.locale),n.forEach((t=>e.parseOperator(t))),n.forEach((t=>e.parseOperatorParameters(t))),(t.streams||[]).forEach((t=>e.parseStream(t))),(t.updates||[]).forEach((t=>e.parseUpdate(t))),e.resolve()},parseOperator:function(t){const e=this;!function(t){return"operator"===_B(t)}(t.type)&&t.type?e.transform(t,t.type):e.operator(t,t.update?e.operatorExpression(t.update):null)},parseOperatorParameters:function(t){const e=this;if(t.params){const n=e.get(t.id);n||s("Invalid operator id: "+t.id),e.dataflow.connect(n,n.parameters(e.parseParameters(t.params),t.react,t.initonly))}},parseParameters:function(t,e){e=e||{};const n=this;for(const r in t){const i=t[r];e[r]=k(i)?i.map((t=>wB(t,n,e))):wB(i,n,e)}return e},parseStream:function(t){var e,n=this,r=null!=t.filter?n.eventExpression(t.filter):void 0,i=null!=t.stream?n.get(t.stream):void 0;t.source?i=n.events(t.source,t.type,r):t.merge&&(i=(e=t.merge.map((t=>n.get(t))))[0].merge.apply(e[0],e.slice(1))),t.between&&(e=t.between.map((t=>n.get(t))),i=i.between(e[0],e[1])),t.filter&&(i=i.filter(r)),null!=t.throttle&&(i=i.throttle(+t.throttle)),null!=t.debounce&&(i=i.debounce(+t.debounce)),null==i&&s("Invalid stream definition: "+JSON.stringify(t)),t.consume&&i.consume(!0),n.stream(t,i)},parseUpdate:function(t){var e,n=this,r=A(r=t.source)?r.$ref:r,i=n.get(r),o=t.update,a=void 0;i||s("Source not defined: "+t.source),e=t.target&&t.target.$expr?n.eventExpression(t.target.$expr):n.get(t.target),o&&o.$expr&&(o.$params&&(a=n.parseParameters(o.$params)),o=n.handlerExpression(o.$expr)),n.update(t,i,e,o,a)},getState:function(t){var e=this,n={};if(t.signals){var r=n.signals={};Object.keys(e.signals).forEach((n=>{const i=e.signals[n];t.signals(n,i)&&(r[n]=i.value)}))}if(t.data){var i=n.data={};Object.keys(e.data).forEach((n=>{const r=e.data[n];t.data(n,r)&&(i[n]=r.input.value)}))}return e.subcontext&&!1!==t.recurse&&(n.subcontext=e.subcontext.map((e=>e.getState(t)))),n},setState:function(t){var e=this,n=e.dataflow,r=t.data,i=t.signals;Object.keys(i||{}).forEach((t=>{n.update(e.signals[t],i[t],AB)})),Object.keys(r||{}).forEach((t=>{n.pulse(e.data[t].input,n.changeset().remove(p).insert(r[t]))})),(t.subcontext||[]).forEach(((t,n)=>{const r=e.subcontext[n];r&&r.setState(t)}))}};const FB="default";function SB(t,e){const n=t.globalCursor()?"undefined"!=typeof document&&document.body:t.container();if(n)return null==e?n.style.removeProperty("cursor"):n.style.cursor=e}function $B(t,e){var n=t._runtime.data;return lt(n,e)||s("Unrecognized data set: "+e),n[e]}function TB(t,e){Aa(e)||s("Second argument to changes must be a changeset.");const n=$B(this,t);return n.modified=!0,this.pulse(n.input,e)}function BB(t){var e=t.padding();return Math.max(0,t._viewWidth+e.left+e.right)}function zB(t){var e=t.padding();return Math.max(0,t._viewHeight+e.top+e.bottom)}function NB(t){var e=t.padding(),n=t._origin;return[e.left+n[0],e.top+n[1]]}function OB(t,e,n){var r,i,o=t._renderer,a=o&&o.canvas();return a&&(i=NB(t),(r=Xy(e.changedTouches?e.changedTouches[0]:e,a))[0]-=i[0],r[1]-=i[1]),e.dataflow=t,e.item=n,e.vega=function(t,e,n){const r=e?"group"===e.mark.marktype?e:e.mark.group:null;function i(t){var n,i=r;if(t)for(n=e;n;n=n.mark.group)if(n.mark.name===t){i=n;break}return i&&i.mark&&i.mark.interactive?i:{}}function o(t){if(!t)return n;xt(t)&&(t=i(t));const e=n.slice();for(;t;)e[0]-=t.x||0,e[1]-=t.y||0,t=t.mark&&t.mark.group;return e}return{view:rt(t),item:rt(e||{}),group:i,xy:o,x:t=>o(t)[0],y:t=>o(t)[1]}}(t,n,r),e}const RB="view",UB={trap:!1};function LB(t,e,n,r){t._eventListeners.push({type:n,sources:V(e),handler:r})}function qB(t,e,n){const r=t._eventConfig&&t._eventConfig[e];return!(!1===r||A(r)&&!r[n])||(t.warn(`Blocked ${e} ${n} event listener.`),!1)}function PB(t){return t.item}function jB(t){return t.item.mark.source}function IB(t){return function(e,n){return n.vega.view().changeset().encode(n.item,t)}}function WB(t,e,n){const r=document.createElement(t);for(const t in e)r.setAttribute(t,e[t]);return null!=n&&(r.textContent=n),r}const HB="vega-bind",YB="vega-bind-name",GB="vega-bind-radio";function VB(t,e,n,r){const i=n.event||"input",o=()=>t.update(e.value);r.signal(n.signal,e.value),e.addEventListener(i,o),LB(r,e,i,o),t.set=t=>{e.value=t,e.dispatchEvent(function(t){return"undefined"!=typeof Event?new Event(t):{type:t}}(i))}}function XB(t,e,n,r){const i=r.signal(n.signal),o=WB("div",{class:HB}),a="radio"===n.input?o:o.appendChild(WB("label"));a.appendChild(WB("span",{class:YB},n.name||n.signal)),e.appendChild(o);let s=JB;switch(n.input){case"checkbox":s=ZB;break;case"select":s=QB;break;case"radio":s=KB;break;case"range":s=tz}s(t,a,n,i)}function JB(t,e,n,r){const i=WB("input");for(const t in n)"signal"!==t&&"element"!==t&&i.setAttribute("input"===t?"type":t,n[t]);i.setAttribute("name",n.signal),i.value=r,e.appendChild(i),i.addEventListener("input",(()=>t.update(i.value))),t.elements=[i],t.set=t=>i.value=t}function ZB(t,e,n,r){const i={type:"checkbox",name:n.signal};r&&(i.checked=!0);const o=WB("input",i);e.appendChild(o),o.addEventListener("change",(()=>t.update(o.checked))),t.elements=[o],t.set=t=>o.checked=!!t||null}function QB(t,e,n,r){const i=WB("select",{name:n.signal}),o=n.labels||[];n.options.forEach(((t,e)=>{const n={value:t};ez(t,r)&&(n.selected=!0),i.appendChild(WB("option",n,(o[e]||t)+""))})),e.appendChild(i),i.addEventListener("change",(()=>{t.update(n.options[i.selectedIndex])})),t.elements=[i],t.set=t=>{for(let e=0,r=n.options.length;e{const s={type:"radio",name:n.signal,value:e};ez(e,r)&&(s.checked=!0);const u=WB("input",s);u.addEventListener("change",(()=>t.update(e)));const l=WB("label",{},(o[a]||e)+"");return l.prepend(u),i.appendChild(l),u})),t.set=e=>{const n=t.elements,r=n.length;for(let t=0;t{u.textContent=s.value,t.update(+s.value)};s.addEventListener("input",l),s.addEventListener("change",l),t.elements=[s],t.set=t=>{s.value=t,u.textContent=t}}function ez(t,e){return t===e||t+""==e+""}function nz(t,e,n,r,i,o){return(e=e||new r(t.loader())).initialize(n,BB(t),zB(t),NB(t),i,o).background(t.background())}function rz(t,e){return e?function(){try{e.apply(this,arguments)}catch(e){t.error(e)}}:null}function iz(t,e,n){if("string"==typeof e){if("undefined"==typeof document)return t.error("DOM document instance not found."),null;if(!(e=document.querySelector(e)))return t.error("Signal bind element not found: "+e),null}if(e&&n)try{e.textContent=""}catch(n){e=null,t.error(n)}return e}const oz=t=>+t||0;function az(t){return A(t)?{top:oz(t.top),bottom:oz(t.bottom),left:oz(t.left),right:oz(t.right)}:(t=>({top:t,bottom:t,left:t,right:t}))(oz(t))}async function sz(t,e,n,r){const i=b_(e),o=i&&i.headless;return o||s("Unrecognized renderer type: "+e),await t.runAsync(),nz(t,null,null,o,n,r).renderAsync(t._scenegraph.root)}var uz="width",lz="height",cz="padding",fz={skip:!0};function hz(t,e){var n=t.autosize(),r=t.padding();return e-(n&&n.contains===cz?r.left+r.right:0)}function dz(t,e){var n=t.autosize(),r=t.padding();return e-(n&&n.contains===cz?r.top+r.bottom:0)}function pz(t,e){return e.modified&&k(e.input.value)&&!t.startsWith("_:vega:_")}function gz(t,e){return!("parent"===t||e instanceof Za.proxy)}function mz(t,e,n,r){const i=t.element();i&&i.setAttribute("title",function(t){return null==t?"":k(t)?yz(t):A(t)&&!mt(t)?(e=t,Object.keys(e).map((t=>{const n=e[t];return t+": "+(k(n)?yz(n):vz(n))})).join("\n")):t+"";var e}(r))}function yz(t){return"["+t.map(vz).join(", ")+"]"}function vz(t){return k(t)?"[…]":A(t)&&!mt(t)?"{…}":t}function _z(t,e){const n=this;if(e=e||{},Va.call(n),e.loader&&n.loader(e.loader),e.logger&&n.logger(e.logger),null!=e.logLevel&&n.logLevel(e.logLevel),e.locale||t.locale){const r=ot({},t.locale,e.locale);n.locale(Ro(r.number,r.time))}n._el=null,n._elBind=null,n._renderType=e.renderer||__.Canvas,n._scenegraph=new jy;const r=n._scenegraph.root;n._renderer=null,n._tooltip=e.tooltip||mz,n._redraw=!0,n._handler=(new _v).scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=function(t){const e=ot({defaults:{}},t),n=(t,e)=>{e.forEach((e=>{k(t[e])&&(t[e]=Bt(t[e]))}))};return n(e.defaults,["prevent","allow"]),n(e,["view","window","selector"]),e}(t.eventConfig),n.globalCursor(n._eventConfig.globalCursor);const i=function(t,e,n){return MB(t,Za,lB,n).parse(e)}(n,t,e.expr);n._runtime=i,n._signals=i.signals,n._bind=(t.bindings||[]).map((t=>({state:null,param:ot({},t)}))),i.root&&i.root.set(r),r.source=i.data.root.input,n.pulse(i.data.root.input,n.changeset().insert(r.items)),n._width=n.width(),n._height=n.height(),n._viewWidth=hz(n,n._width),n._viewHeight=dz(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,function(t){var e=t._signals,n=e[uz],r=e[lz],i=e[cz];function o(){t._autosize=t._resize=1}t._resizeWidth=t.add(null,(e=>{t._width=e.size,t._viewWidth=hz(t,e.size),o()}),{size:n}),t._resizeHeight=t.add(null,(e=>{t._height=e.size,t._viewHeight=dz(t,e.size),o()}),{size:r});const a=t.add(null,o,{pad:i});t._resizeWidth.rank=n.rank+1,t._resizeHeight.rank=r.rank+1,a.rank=i.rank+1}(n),function(t){t.add(null,(e=>(t._background=e.bg,t._resize=1,e.bg)),{bg:t._signals.background})}(n),function(t){const e=t._signals.cursor||(t._signals.cursor=t.add({user:FB,item:null}));t.on(t.events("view","pointermove"),e,((t,n)=>{const r=e.value,i=r?xt(r)?r:r.user:FB,o=n.item&&n.item.cursor||null;return r&&i===r.user&&o==r.item?r:{user:i,item:o}})),t.add(null,(function(e){let n=e.cursor,r=this.value;return xt(n)||(r=n.item,n=n.user),SB(t,n&&n!==FB?n:r||n),r}),{cursor:e})}(n),n.description(t.description),e.hover&&n.hover(),e.container&&n.initialize(e.container,e.bind),e.watchPixelRatio&&n._watchPixelRatio()}function xz(t,e){return lt(t._signals,e)?t._signals[e]:s("Unrecognized signal name: "+Ct(e))}function bz(t,e){const n=(t._targets||[]).filter((t=>t._update&&t._update.handler===e));return n.length?n[0]:null}function wz(t,e,n,r){let i=bz(n,r);return i||(i=rz(t,(()=>r(e,n.value))),i.handler=r,t.on(n,null,i)),t}function kz(t,e,n){const r=bz(e,n);return r&&e._targets.remove(r),t}dt(_z,Va,{async evaluate(t,e,n){if(await Va.prototype.evaluate.call(this,t,e),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,function(t){var e=NB(t),n=BB(t),r=zB(t);t._renderer.background(t.background()),t._renderer.resize(n,r,e),t._handler.origin(e),t._resizeListeners.forEach((e=>{try{e(n,r)}catch(e){t.error(e)}}))}(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(t){this.error(t)}return n&&da(this,n),this},dirty(t){this._redraw=!0,this._renderer&&this._renderer.dirty(t)},description(t){if(arguments.length){const e=null!=t?t+"":null;return e!==this._desc&&CB(this._el,this._desc=e),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(t,e,n){const r=xz(this,t);return 1===arguments.length?r.value:this.update(r,e,n)},width(t){return arguments.length?this.signal("width",t):this.signal("width")},height(t){return arguments.length?this.signal("height",t):this.signal("height")},padding(t){return arguments.length?this.signal("padding",az(t)):az(this.signal("padding"))},autosize(t){return arguments.length?this.signal("autosize",t):this.signal("autosize")},background(t){return arguments.length?this.signal("background",t):this.signal("background")},renderer(t){return arguments.length?(b_(t)||s("Unrecognized renderer type: "+t),t!==this._renderType&&(this._renderType=t,this._resetRenderer()),this):this._renderType},tooltip(t){return arguments.length?(t!==this._tooltip&&(this._tooltip=t,this._resetRenderer()),this):this._tooltip},loader(t){return arguments.length?(t!==this._loader&&(Va.prototype.loader.call(this,t),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(xz(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:function(t,e,n,r,i,o){this.runAfter((a=>{let s=0;a._autosize=0,a.width()!==n&&(s=1,a.signal(uz,n,fz),a._resizeWidth.skip(!0)),a.height()!==r&&(s=1,a.signal(lz,r,fz),a._resizeHeight.skip(!0)),a._viewWidth!==t&&(a._resize=1,a._viewWidth=t),a._viewHeight!==e&&(a._resize=1,a._viewHeight=e),a._origin[0]===i[0]&&a._origin[1]===i[1]||(a._resize=1,a._origin=i),s&&a.run("enter"),o&&a.runAfter((t=>t.resize()))}),!1,1)},addEventListener(t,e,n){let r=e;return n&&!1===n.trap||(r=rz(this,e),r.raw=e),this._handler.on(t,r),this},removeEventListener(t,e){for(var n,r,i=this._handler.handlers(t),o=i.length;--o>=0;)if(r=i[o].type,n=i[o].handler,t===r&&(e===n||e===n.raw)){this._handler.off(r,n);break}return this},addResizeListener(t){const e=this._resizeListeners;return e.includes(t)||e.push(t),this},removeResizeListener(t){var e=this._resizeListeners,n=e.indexOf(t);return n>=0&&e.splice(n,1),this},addSignalListener(t,e){return wz(this,t,xz(this,t),e)},removeSignalListener(t,e){return kz(this,xz(this,t),e)},addDataListener(t,e){return wz(this,t,$B(this,t).values,e)},removeDataListener(t,e){return kz(this,$B(this,t).values,e)},globalCursor(t){if(arguments.length){if(this._globalCursor!==!!t){const e=SB(this,null);this._globalCursor=!!t,e&&SB(this,e)}return this}return this._globalCursor},preventDefault(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},timer:function(t,e){this._timers.push(function(t,e,n){var r=new QE,i=e;return null==e?(r.restart(t,e,n),r):(r._restart=r.restart,r.restart=function(t,e,n){e=+e,n=null==n?JE():+n,r._restart((function o(a){a+=i,r._restart(o,i+=e,n),t(a)}),e,n)},r.restart(t,e,n),r)}((function(e){t({timestamp:Date.now(),elapsed:e})}),e))},events:function(t,e,n){var r,i=this,o=new Ba(n),a=function(n,r){i.runAsync(null,(()=>{t===RB&&function(t,e){var n=t._eventConfig.defaults,r=n.prevent,i=n.allow;return!1!==r&&!0!==i&&(!0===r||!1===i||(r?r[e]:i?!i[e]:t.preventDefault()))}(i,e)&&n.preventDefault(),o.receive(OB(i,n,r))}))};if("timer"===t)qB(i,"timer",e)&&i.timer(a,e);else if(t===RB)qB(i,"view",e)&&i.addEventListener(e,a,UB);else if("window"===t?qB(i,"window",e)&&"undefined"!=typeof window&&(r=[window]):"undefined"!=typeof document&&qB(i,"selector",e)&&(r=Array.from(document.querySelectorAll(t))),r){for(var s=0,u=r.length;s=0;)i[t].stop();for(t=o.length;--t>=0;)for(e=(n=o[t]).sources.length;--e>=0;)n.sources[e].removeEventListener(n.type,n.handler);return r&&r.call(this,this._handler,null,null,null),this},hover:function(t,e){return e=[e||"update",(t=[t||"hover"])[0]],this.on(this.events("view","pointerover",PB),jB,IB(t)),this.on(this.events("view","pointerout",PB),jB,IB(e)),this},data:function(t,e){return arguments.length<2?$B(this,t).values.value:TB.call(this,t,Ma().remove(p).insert(e))},change:TB,insert:function(t,e){return TB.call(this,t,Ma().insert(e))},remove:function(t,e){return TB.call(this,t,Ma().remove(e))},scale:function(t){var e=this._runtime.scales;return lt(e,t)||s("Unrecognized scale or projection: "+t),e[t].value},initialize:function(t,e){const n=this,r=n._renderType,i=n._eventConfig.bind,o=b_(r);t=n._el=t?iz(n,t,!0):null,function(t){const e=t.container();e&&(e.setAttribute("role","graphics-document"),e.setAttribute("aria-roleDescription","visualization"),CB(e,t.description()))}(n),o||n.error("Unrecognized renderer type: "+r);const a=o.handler||_v,s=t?o.renderer:o.headless;return n._renderer=s?nz(n,n._renderer,t,s):null,n._handler=function(t,e,n,r){const i=new r(t.loader(),rz(t,t.tooltip())).scene(t.scenegraph().root).initialize(n,NB(t),t);return e&&e.handlers().forEach((t=>{i.on(t.type,t.handler)})),i}(n,n._handler,t,a),n._redraw=!0,t&&"none"!==i&&(e=e?n._elBind=iz(n,e,!0):t.appendChild(WB("form",{class:"vega-bindings"})),n._bind.forEach((t=>{t.param.element&&"container"!==i&&(t.element=iz(n,t.param.element,!!t.param.input))})),n._bind.forEach((t=>{!function(t,e,n){if(!e)return;const r=n.param;let i=n.state;i||(i=n.state={elements:null,active:!1,set:null,update:e=>{e!=t.signal(r.signal)&&t.runAsync(null,(()=>{i.source=!0,t.signal(r.signal,e)}))}},r.debounce&&(i.update=it(r.debounce,i.update))),(null==r.input&&r.element?VB:XB)(i,e,r,t),i.active||(t.on(t._signals[r.signal],null,(()=>{i.source?i.source=!1:i.set(t.signal(r.signal))})),i.active=!0)}(n,t.element||e,t)}))),n},toImageURL:async function(t,e){t!==__.Canvas&&t!==__.SVG&&t!==__.PNG&&s("Unrecognized image type: "+t);const n=await sz(this,t,e);return t===__.SVG?function(t,e){const n=new Blob([t],{type:e});return window.URL.createObjectURL(n)}(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")},toCanvas:async function(t,e){return(await sz(this,__.Canvas,t,e)).canvas()},toSVG:async function(t){return(await sz(this,__.SVG,t)).svg()},getState:function(t){return this._runtime.getState(t||{data:pz,signals:gz,recurse:!0})},setState:function(t){return this.runAsync(null,(e=>{e._trigger=!1,e._runtime.setState(t)}),(t=>{t._trigger=!0})),this},_watchPixelRatio:function(){if("canvas"===this.renderer()&&this._renderer._canvas){let t=null;const e=()=>{null!=t&&t();const n=matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);n.addEventListener("change",e),t=()=>{n.removeEventListener("change",e)},this._renderer._canvas.getContext("2d").pixelRatio=window.devicePixelRatio||1,this._redraw=!0,this._resize=1,this.resize().runAsync()};e()}}});const Az="view",Mz="[",Ez="]",Dz="{",Cz="}",Fz=":",Sz=",",$z="@",Tz=">",Bz=/[[\]{}]/,zz={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};let Nz,Oz;function Rz(t,e,n){return Nz=e||Az,Oz=n||zz,Lz(t.trim()).map(qz)}function Uz(t,e,n,r,i){const o=t.length;let a,s=0;for(;e' after between selector: "+t;n=n.map(qz);const i=qz(t.slice(1).trim());if(i.between)return{between:n,stream:i};i.between=n;return i}(t):function(t){const e={source:Nz},n=[];let r,i,o=[0,0],a=0,s=0,u=t.length,l=0;if(t[u-1]===Cz){if(l=t.lastIndexOf(Dz),!(l>=0))throw"Unmatched right brace: "+t;try{o=function(t){const e=t.split(Sz);if(!t.length||e.length>2)throw t;return e.map((e=>{const n=+e;if(n!=n)throw t;return n}))}(t.substring(l+1,u-1))}catch(e){throw"Invalid throttle specification: "+t}u=(t=t.slice(0,l).trim()).length,l=0}if(!u)throw t;t[0]===$z&&(a=++l);r=Uz(t,l,Fz),r1?(e.type=n[1],a?e.markname=n[0].slice(1):!function(t){return Oz[t]}(n[0])?e.source=n[0]:e.marktype=n[0]):e.type=n[0];"!"===e.type.slice(-1)&&(e.consume=!0,e.type=e.type.slice(0,-1));null!=i&&(e.filter=i);o[0]&&(e.throttle=o[0]);o[1]&&(e.debounce=o[1]);return e}(t)}function Pz(t){return A(t)?t:{type:t||"pad"}}const jz=t=>+t||0,Iz=t=>({top:t,bottom:t,left:t,right:t});function Wz(t){return A(t)?t.signal?t:{top:jz(t.top),bottom:jz(t.bottom),left:jz(t.left),right:jz(t.right)}:Iz(jz(t))}const Hz=t=>A(t)&&!k(t)?ot({},t):{value:t};function Yz(t,e,n,r){if(null!=n){return A(n)&&!k(n)||k(n)&&n.length&&A(n[0])?t.update[e]=n:t[r||"enter"][e]={value:n},1}return 0}function Gz(t,e,n){for(const n in e)Yz(t,n,e[n]);for(const e in n)Yz(t,e,n[e],"update")}function Vz(t,e,n){for(const r in e)n&<(n,r)||(t[r]=ot(t[r]||{},e[r]));return t}function Xz(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}const Jz="mark",Zz="frame",Qz="scope",Kz="axis",tN="axis-domain",eN="axis-grid",nN="axis-label",rN="axis-tick",iN="axis-title",oN="legend",aN="legend-band",sN="legend-entry",uN="legend-gradient",lN="legend-label",cN="legend-symbol",fN="legend-title",hN="title",dN="title-text",pN="title-subtitle";function gN(t,e,n){t[e]=n&&n.signal?{signal:n.signal}:{value:n}}const mN=t=>xt(t)?Ct(t):t.signal?`(${t.signal})`:xN(t);function yN(t){if(null!=t.gradient)return function(t){const e=[t.start,t.stop,t.count].map((t=>null==t?null:Ct(t)));for(;e.length&&null==F(e);)e.pop();return e.unshift(mN(t.gradient)),`gradient(${e.join(",")})`}(t);let e=t.signal?`(${t.signal})`:t.color?function(t){return t.c?vN("hcl",t.h,t.c,t.l):t.h||t.s?vN("hsl",t.h,t.s,t.l):t.l||t.a?vN("lab",t.l,t.a,t.b):t.r||t.g||t.b?vN("rgb",t.r,t.g,t.b):null}(t.color):null!=t.field?xN(t.field):void 0!==t.value?Ct(t.value):void 0;return null!=t.scale&&(e=function(t,e){const n=mN(t.scale);null!=t.range?e=`lerp(_range(${n}), ${+t.range})`:(void 0!==e&&(e=`_scale(${n}, ${e})`),t.band&&(e=(e?e+"+":"")+`_bandwidth(${n})`+(1==+t.band?"":"*"+_N(t.band)),t.extra&&(e=`(datum.extra ? _scale(${n}, datum.extra.value) : ${e})`)),null==e&&(e="0"));return e}(t,e)),void 0===e&&(e=null),null!=t.exponent&&(e=`pow(${e},${_N(t.exponent)})`),null!=t.mult&&(e+=`*${_N(t.mult)}`),null!=t.offset&&(e+=`+${_N(t.offset)}`),t.round&&(e=`round(${e})`),e}const vN=(t,e,n,r)=>`(${t}(${[e,n,r].map(yN).join(",")})+'')`;function _N(t){return A(t)?"("+yN(t)+")":t}function xN(t){return bN(A(t)?t:{datum:t})}function bN(t){let e,n,r;if(t.signal)e="datum",r=t.signal;else if(t.group||t.parent){for(n=Math.max(1,t.level||1),e="item";n-- >0;)e+=".mark.group";t.parent?(r=t.parent,e+=".datum"):r=t.group}else t.datum?(e="datum",r=t.datum):s("Invalid field reference: "+Ct(t));return t.signal||(r=xt(r)?u(r).map(Ct).join("]["):bN(r)),e+"["+r+"]"}function wN(t,e,n,r,i,o){const a={};(o=o||{}).encoders={$encode:a},t=function(t,e,n,r,i){const o={},a={};let s,u,l,c;for(u in u="lineBreak","text"!==e||null==i[u]||Xz(u,t)||gN(o,u,i[u]),("legend"==n||String(n).startsWith("axis"))&&(n=null),c=n===Zz?i.group:n===Jz?ot({},i.mark,i[e]):null,c)l=Xz(u,t)||("fill"===u||"stroke"===u)&&(Xz("fill",t)||Xz("stroke",t)),l||gN(o,u,c[u]);for(u in V(r).forEach((e=>{const n=i.style&&i.style[e];for(const e in n)Xz(e,t)||gN(o,e,n[e])})),t=ot({},t),o)c=o[u],c.signal?(s=s||{})[u]=c:a[u]=c;return t.enter=ot(a,t.enter),s&&(t.update=ot(s,t.update)),t}(t,e,n,r,i.config);for(const n in t)a[n]=kN(t[n],e,o,i);return o}function kN(t,e,n,r){const i={},o={};for(const e in t)null!=t[e]&&(i[e]=AN((a=t[e],k(a)?function(t){let e="";return t.forEach((t=>{const n=yN(t);e+=t.test?`(${t.test})?${n}:`:n})),":"===F(e)&&(e+="null"),e}(a):yN(a)),r,n,o));var a;return{$expr:{marktype:e,channels:i},$fields:Object.keys(o),$output:Object.keys(t)}}function AN(t,e,n,r){const i=mB(t,e);return i.$fields.forEach((t=>r[t]=1)),ot(n,i.$params),i.$expr}const MN="outer",EN=["value","update","init","react","bind"];function DN(t,e){s(t+' for "outer" push: '+Ct(e))}function CN(t,e){const n=t.name;if(t.push===MN)e.signals[n]||DN("No prior signal definition",n),EN.forEach((e=>{void 0!==t[e]&&DN("Invalid property ",e)}));else{const r=e.addSignal(n,t.value);!1===t.react&&(r.react=!1),t.bind&&e.addBinding(n,t.bind)}}function FN(t,e,n,r){this.id=-1,this.type=t,this.value=e,this.params=n,r&&(this.parent=r)}function SN(t,e,n,r){return new FN(t,e,n,r)}function $N(t,e){return SN("operator",t,e)}function TN(t){const e={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(e),e}function BN(t,e){return e?{$field:t,$name:e}:{$field:t}}const zN=BN("key");function NN(t,e){return{$compare:t,$order:e}}const ON="descending";function RN(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}const UN="scope",LN="view";function qN(t){return t&&t.signal}function PN(t){if(qN(t))return!0;if(A(t))for(const e in t)if(PN(t[e]))return!0;return!1}function jN(t,e){return null!=t?t:e}function IN(t){return t&&t.signal||t}const WN="timer";function HN(t,e){return(t.merge?YN:t.stream?GN:t.type?VN:s("Invalid stream specification: "+Ct(t)))(t,e)}function YN(t,e){const n=XN({merge:t.merge.map((t=>HN(t,e)))},t,e);return e.addStream(n).id}function GN(t,e){const n=XN({stream:HN(t.stream,e)},t,e);return e.addStream(n).id}function VN(t,e){let n;t.type===WN?(n=e.event(WN,t.throttle),t={between:t.between,filter:t.filter}):n=e.event(function(t){return t===UN?LN:t||LN}(t.source),t.type);const r=XN({stream:n},t,e);return 1===Object.keys(r).length?n:e.addStream(r).id}function XN(t,e,n){let r=e.between;return r&&(2!==r.length&&s('Stream "between" parameter must have 2 entries: '+Ct(e)),t.between=[HN(r[0],n),HN(r[1],n)]),r=e.filter?[].concat(e.filter):[],(e.marktype||e.markname||e.markrole)&&r.push(function(t,e,n){const r="event.item";return r+(t&&"*"!==t?"&&"+r+".mark.marktype==='"+t+"'":"")+(n?"&&"+r+".mark.role==='"+n+"'":"")+(e?"&&"+r+".mark.name==='"+e+"'":"")}(e.marktype,e.markname,e.markrole)),e.source===UN&&r.push("inScope(event.item)"),r.length&&(t.filter=mB("("+r.join(")&&(")+")",n).$expr),null!=(r=e.throttle)&&(t.throttle=+r),null!=(r=e.debounce)&&(t.debounce=+r),e.consume&&(t.consume=!0),t}const JN={code:"_.$value",ast:{type:"Identifier",value:"value"}};function ZN(t,e,n){const r=t.encode,i={target:n};let o=t.events,a=t.update,u=[];o||s("Signal update missing events specification."),xt(o)&&(o=Rz(o,e.isSubscope()?UN:LN)),o=V(o).filter((t=>t.signal||t.scale?(u.push(t),0):1)),u.length>1&&(u=[QN(u)]),o.length&&u.push(o.length>1?{merge:o}:o[0]),null!=r&&(a&&s("Signal encode and update are mutually exclusive."),a="encode(item(),"+Ct(r)+")"),i.update=xt(a)?mB(a,e):null!=a.expr?mB(a.expr,e):null!=a.value?a.value:null!=a.signal?{$expr:JN,$params:{$value:e.signalRef(a.signal)}}:s("Invalid signal update specification."),t.force&&(i.options={force:!0}),u.forEach((t=>e.addUpdate(ot(function(t,e){return{source:t.signal?e.signalRef(t.signal):t.scale?e.scaleRef(t.scale):HN(t,e)}}(t,e),i))))}function QN(t){return{signal:"["+t.map((t=>t.scale?'scale("'+t.scale+'")':t.signal))+"]"}}const KN=t=>(e,n,r)=>SN(t,n,e||void 0,r),tO=KN("aggregate"),eO=KN("axisticks"),nO=KN("bound"),rO=KN("collect"),iO=KN("compare"),oO=KN("datajoin"),aO=KN("encode"),sO=KN("expression"),uO=KN("facet"),lO=KN("field"),cO=KN("key"),fO=KN("legendentries"),hO=KN("load"),dO=KN("mark"),pO=KN("multiextent"),gO=KN("multivalues"),mO=KN("overlap"),yO=KN("params"),vO=KN("prefacet"),_O=KN("projection"),xO=KN("proxy"),bO=KN("relay"),wO=KN("render"),kO=KN("scale"),AO=KN("sieve"),MO=KN("sortitems"),EO=KN("viewlayout"),DO=KN("values");let CO=0;const FO={min:"min",max:"max",count:"sum"};function SO(t,e){const n=e.getScale(t.name).params;let r;for(r in n.domain=zO(t.domain,t,e),null!=t.range&&(n.range=jO(t,e,n)),null!=t.interpolate&&function(t,e){e.interpolate=$O(t.type||t),null!=t.gamma&&(e.interpolateGamma=$O(t.gamma))}(t.interpolate,n),null!=t.nice&&(n.nice=function(t,e){return t.signal?e.signalRef(t.signal):A(t)?{interval:$O(t.interval),step:$O(t.step)}:$O(t)}(t.nice,e)),null!=t.bins&&(n.bins=function(t,e){return t.signal||k(t)?TO(t,e):e.objectProperty(t)}(t.bins,e)),t)lt(n,r)||"name"===r||(n[r]=$O(t[r],e))}function $O(t,e){return A(t)?t.signal?e.signalRef(t.signal):s("Unsupported object: "+Ct(t)):t}function TO(t,e){return t.signal?e.signalRef(t.signal):t.map((t=>$O(t,e)))}function BO(t){s("Can not find data set: "+Ct(t))}function zO(t,e,n){if(t)return t.signal?n.signalRef(t.signal):(k(t)?NO:t.fields?RO:OO)(t,e,n);null==e.domainMin&&null==e.domainMax||s("No scale domain defined for domainMin/domainMax to override.")}function NO(t,e,n){return t.map((t=>$O(t,n)))}function OO(t,e,n){const r=n.getData(t.data);return r||BO(t.data),Kd(e.type)?r.valuesRef(n,t.field,LO(t.sort,!1)):rp(e.type)?r.domainRef(n,t.field):r.extentRef(n,t.field)}function RO(t,e,n){const r=t.data,i=t.fields.reduce(((t,e)=>(e=xt(e)?{data:r,field:e}:k(e)||e.signal?function(t,e){const n="_:vega:_"+CO++,r=rO({});if(k(t))r.value={$ingest:t};else if(t.signal){const i="setdata("+Ct(n)+","+t.signal+")";r.params.input=e.signalRef(i)}return e.addDataPipeline(n,[r,AO({})]),{data:n,field:"data"}}(e,n):e,t.push(e),t)),[]);return(Kd(e.type)?UO:rp(e.type)?qO:PO)(t,n,i)}function UO(t,e,n){const r=LO(t.sort,!0);let i,o;const a=n.map((t=>{const n=e.getData(t.data);return n||BO(t.data),n.countsRef(e,t.field,r)})),s={groupby:zN,pulse:a};r&&(i=r.op||"count",o=r.field?RN(i,r.field):"count",s.ops=[FO[i]],s.fields=[e.fieldRef(o)],s.as=[o]),i=e.add(tO(s));const u=e.add(rO({pulse:TN(i)}));return o=e.add(DO({field:zN,sort:e.sortRef(r),pulse:TN(u)})),TN(o)}function LO(t,e){return t&&(t.field||t.op?t.field||"count"===t.op?e&&t.field&&t.op&&!FO[t.op]&&s("Multiple domain scales can not be sorted using "+t.op):s("No field provided for sort aggregate op: "+t.op):A(t)?t.field="key":t={field:"key"}),t}function qO(t,e,n){const r=n.map((t=>{const n=e.getData(t.data);return n||BO(t.data),n.domainRef(e,t.field)}));return TN(e.add(gO({values:r})))}function PO(t,e,n){const r=n.map((t=>{const n=e.getData(t.data);return n||BO(t.data),n.extentRef(e,t.field)}));return TN(e.add(pO({extents:r})))}function jO(t,e,n){const r=e.config.range;let i=t.range;if(i.signal)return e.signalRef(i.signal);if(xt(i)){if(r&<(r,i))return jO(t=ot({},t,{range:r[i]}),e,n);"width"===i?i=[0,{signal:"width"}]:"height"===i?i=Kd(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]:s("Unrecognized scale range value: "+Ct(i))}else{if(i.scheme)return n.scheme=k(i.scheme)?TO(i.scheme,e):$O(i.scheme,e),i.extent&&(n.schemeExtent=TO(i.extent,e)),void(i.count&&(n.schemeCount=$O(i.count,e)));if(i.step)return void(n.rangeStep=$O(i.step,e));if(Kd(t.type)&&!k(i))return zO(i,t,e);k(i)||s("Unsupported range type: "+Ct(i))}return i.map((t=>(k(t)?TO:$O)(t,e)))}function IO(t,e,n){return k(t)?t.map((t=>IO(t,e,n))):A(t)?t.signal?n.signalRef(t.signal):"fit"===e?t:s("Unsupported parameter object: "+Ct(t)):t}const WO="top",HO="left",YO="right",GO="bottom",VO="center",XO="vertical",JO="start",ZO="end",QO="index",KO="label",tR="offset",eR="perc",nR="perc2",rR="value",iR="guide-label",oR="guide-title",aR="group-title",sR="group-subtitle",uR="symbol",lR="gradient",cR="discrete",fR="size",hR=[fR,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],dR={name:1,style:1,interactive:1},pR={value:0},gR={value:1},mR="group",yR="rect",vR="rule",_R="symbol",xR="text";function bR(t){return t.type=mR,t.interactive=t.interactive||!1,t}function wR(t,e){const n=(n,r)=>jN(t[n],jN(e[n],r));return n.isVertical=n=>XO===jN(t.direction,e.direction||(n?e.symbolDirection:e.gradientDirection)),n.gradientLength=()=>jN(t.gradientLength,e.gradientLength||e.gradientWidth),n.gradientThickness=()=>jN(t.gradientThickness,e.gradientThickness||e.gradientHeight),n.entryColumns=()=>jN(t.columns,jN(e.columns,+n.isVertical(!0))),n}function kR(t,e){const n=e&&(e.update&&e.update[t]||e.enter&&e.enter[t]);return n&&n.signal?n:n?n.value:null}function AR(t,e,n){return`item.anchor === '${JO}' ? ${t} : item.anchor === '${ZO}' ? ${e} : ${n}`}const MR=AR(Ct(HO),Ct(YO),Ct(VO));function ER(t,e){return e?t?A(t)?Object.assign({},t,{offset:ER(t.offset,e)}):{value:t,offset:e}:e:t}function DR(t,e){return e?(t.name=e.name,t.style=e.style||t.style,t.interactive=!!e.interactive,t.encode=Vz(t.encode,e,dR)):t.interactive=!1,t}function CR(t,e,n,r){const i=wR(t,n),o=i.isVertical(),a=i.gradientThickness(),s=i.gradientLength();let u,l,c,f,h;o?(l=[0,1],c=[0,0],f=a,h=s):(l=[0,0],c=[1,0],f=s,h=a);const d={enter:u={opacity:pR,x:pR,y:pR,width:Hz(f),height:Hz(h)},update:ot({},u,{opacity:gR,fill:{gradient:e,start:l,stop:c}}),exit:{opacity:pR}};return Gz(d,{stroke:i("gradientStrokeColor"),strokeWidth:i("gradientStrokeWidth")},{opacity:i("gradientOpacity")}),DR({type:yR,role:uN,encode:d},r)}function FR(t,e,n,r,i){const o=wR(t,n),a=o.isVertical(),s=o.gradientThickness(),u=o.gradientLength();let l,c,f,h,d="";a?(l="y",f="y2",c="x",h="width",d="1-"):(l="x",f="x2",c="y",h="height");const p={opacity:pR,fill:{scale:e,field:rR}};p[l]={signal:d+"datum."+eR,mult:u},p[c]=pR,p[f]={signal:d+"datum."+nR,mult:u},p[h]=Hz(s);const g={enter:p,update:ot({},p,{opacity:gR}),exit:{opacity:pR}};return Gz(g,{stroke:o("gradientStrokeColor"),strokeWidth:o("gradientStrokeWidth")},{opacity:o("gradientOpacity")}),DR({type:yR,role:aN,key:rR,from:i,encode:g},r)}const SR=`datum.${eR}<=0?"${HO}":datum.${eR}>=1?"${YO}":"${VO}"`,$R=`datum.${eR}<=0?"${GO}":datum.${eR}>=1?"${WO}":"middle"`;function TR(t,e,n,r){const i=wR(t,e),o=i.isVertical(),a=Hz(i.gradientThickness()),s=i.gradientLength();let u,l,c,f,h=i("labelOverlap"),d="";const p={enter:u={opacity:pR},update:l={opacity:gR,text:{field:KO}},exit:{opacity:pR}};return Gz(p,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:jN(t.labelLimit,e.gradientLabelLimit)}),o?(u.align={value:"left"},u.baseline=l.baseline={signal:$R},c="y",f="x",d="1-"):(u.align=l.align={signal:SR},u.baseline={value:"top"},c="x",f="y"),u[c]=l[c]={signal:d+"datum."+eR,mult:s},u[f]=l[f]=a,a.offset=jN(t.labelOffset,e.gradientLabelOffset)||0,h=h?{separation:i("labelSeparation"),method:h,order:"datum."+QO}:void 0,DR({type:xR,role:lN,style:iR,key:rR,from:r,encode:p,overlap:h},n)}function BR(t,e,n,r,i){const o=wR(t,e),a=n.entries,s=!(!a||!a.interactive),u=a?a.name:void 0,l=o("clipHeight"),c=o("symbolOffset"),f={data:"value"},h=`(${i}) ? datum.${tR} : datum.${fR}`,d=l?Hz(l):{field:fR},p=`datum.${QO}`,g=`max(1, ${i})`;let m,y,v,_,x;d.mult=.5,m={enter:y={opacity:pR,x:{signal:h,mult:.5,offset:c},y:d},update:v={opacity:gR,x:y.x,y:y.y},exit:{opacity:pR}};let b=null,w=null;t.fill||(b=e.symbolBaseFillColor,w=e.symbolBaseStrokeColor),Gz(m,{fill:o("symbolFillColor",b),shape:o("symbolType"),size:o("symbolSize"),stroke:o("symbolStrokeColor",w),strokeDash:o("symbolDash"),strokeDashOffset:o("symbolDashOffset"),strokeWidth:o("symbolStrokeWidth")},{opacity:o("symbolOpacity")}),hR.forEach((e=>{t[e]&&(v[e]=y[e]={scale:t[e],field:rR})}));const k=DR({type:_R,role:cN,key:rR,from:f,clip:!!l||void 0,encode:m},n.symbols),A=Hz(c);A.offset=o("labelOffset"),m={enter:y={opacity:pR,x:{signal:h,offset:A},y:d},update:v={opacity:gR,text:{field:KO},x:y.x,y:y.y},exit:{opacity:pR}},Gz(m,{align:o("labelAlign"),baseline:o("labelBaseline"),fill:o("labelColor"),fillOpacity:o("labelOpacity"),font:o("labelFont"),fontSize:o("labelFontSize"),fontStyle:o("labelFontStyle"),fontWeight:o("labelFontWeight"),limit:o("labelLimit")});const M=DR({type:xR,role:lN,style:iR,key:rR,from:f,encode:m},n.labels);return m={enter:{noBound:{value:!l},width:pR,height:l?Hz(l):pR,opacity:pR},exit:{opacity:pR},update:v={opacity:gR,row:{signal:null},column:{signal:null}}},o.isVertical(!0)?(_=`ceil(item.mark.items.length / ${g})`,v.row.signal=`${p}%${_}`,v.column.signal=`floor(${p} / ${_})`,x={field:["row",p]}):(v.row.signal=`floor(${p} / ${g})`,v.column.signal=`${p} % ${g}`,x={field:p}),v.column.signal=`(${i})?${v.column.signal}:${p}`,bR({role:Qz,from:r={facet:{data:r,name:"value",groupby:QO}},encode:Vz(m,a,dR),marks:[k,M],name:u,interactive:s,sort:x})}const zR='item.orient === "left"',NR='item.orient === "right"',OR=`(${zR} || ${NR})`,RR=`datum.vgrad && ${OR}`,UR=AR('"top"','"bottom"','"middle"'),LR=`datum.vgrad && ${NR} ? (${AR('"right"','"left"','"center"')}) : (${OR} && !(datum.vgrad && ${zR})) ? "left" : ${MR}`,qR=`item._anchor || (${OR} ? "middle" : "start")`,PR=`${RR} ? (${zR} ? -90 : 90) : 0`,jR=`${OR} ? (datum.vgrad ? (${NR} ? "bottom" : "top") : ${UR}) : "top"`;function IR(t,e){let n;return A(t)&&(t.signal?n=t.signal:t.path?n="pathShape("+WR(t.path)+")":t.sphere&&(n="geoShape("+WR(t.sphere)+', {type: "Sphere"})')),n?e.signalRef(n):!!t}function WR(t){return A(t)&&t.signal?t.signal:Ct(t)}function HR(t){const e=t.role||"";return e.startsWith("axis")||e.startsWith("legend")||e.startsWith("title")?e:t.type===mR?Qz:e||Jz}function YR(t){return{marktype:t.type,name:t.name||void 0,role:t.role||HR(t),zindex:+t.zindex||void 0,aria:t.aria,description:t.description}}function GR(t,e){return t&&t.signal?e.signalRef(t.signal):!1!==t}function VR(t,e){const n=Qa(t.type);n||s("Unrecognized transform type: "+Ct(t.type));const r=SN(n.type.toLowerCase(),null,XR(n,t,e));return t.signal&&e.addSignal(t.signal,e.proxy(r)),r.metadata=n.metadata||{},r}function XR(t,e,n){const r={},i=t.params.length;for(let o=0;oQR(t,e,n)))):QR(t,r,n)}(t,e,n):"projection"===r?n.projectionRef(e[t.name]):t.array&&!qN(i)?i.map((e=>ZR(t,e,n))):ZR(t,i,n):void(t.required&&s("Missing required "+Ct(e.type)+" parameter: "+Ct(t.name)))}function ZR(t,e,n){const r=t.type;if(qN(e))return nU(r)?s("Expression references can not be signals."):rU(r)?n.fieldRef(e):iU(r)?n.compareRef(e):n.signalRef(e.signal);{const i=t.expr||rU(r);return i&&KR(e)?n.exprRef(e.expr,e.as):i&&tU(e)?BN(e.field,e.as):nU(r)?mB(e,n):eU(r)?TN(n.getData(e).values):rU(r)?BN(e):iU(r)?n.compareRef(e):e}}function QR(t,e,n){const r=t.params.length;let i;for(let n=0;nt&&t.expr,tU=t=>t&&t.field,eU=t=>"data"===t,nU=t=>"expr"===t,rU=t=>"field"===t,iU=t=>"compare"===t;function oU(t,e){return t.$ref?t:t.data&&t.data.$ref?t.data:TN(e.getData(t.data).output)}function aU(t,e,n,r,i){this.scope=t,this.input=e,this.output=n,this.values=r,this.aggregate=i,this.index={}}function sU(t){return xt(t)?t:null}function uU(t,e,n){const r=RN(n.op,n.field);let i;if(e.ops){for(let t=0,n=e.as.length;tnull==t?"null":t)).join(",")+"),0)",e);u.update=l.$expr,u.params=l.$params}function fU(t,e){const n=HR(t),r=t.type===mR,i=t.from&&t.from.facet,o=t.overlap;let a,u,l,c,f,h,d,p=t.layout||n===Qz||n===Zz;const g=n===Jz||p||i,m=function(t,e,n){let r,i,o,a,u;return t?(r=t.facet)&&(e||s("Only group marks can be faceted."),null!=r.field?a=u=oU(r,n):(t.data?u=TN(n.getData(t.data).aggregate):(o=VR(ot({type:"aggregate",groupby:V(r.groupby)},r.aggregate),n),o.params.key=n.keyRef(r.groupby),o.params.pulse=oU(r,n),a=u=TN(n.add(o))),i=n.keyRef(r.groupby,!0))):a=TN(n.add(rO(null,[{}]))),a||(a=oU(t,n)),{key:i,pulse:a,parent:u}}(t.from,r,e);u=e.add(oO({key:m.key||(t.key?BN(t.key):void 0),pulse:m.pulse,clean:!r}));const y=TN(u);u=l=e.add(rO({pulse:y})),u=e.add(dO({markdef:YR(t),interactive:GR(t.interactive,e),clip:IR(t.clip,e),context:{$context:!0},groups:e.lookup(),parent:e.signals.parent?e.signalRef("parent"):null,index:e.markpath(),pulse:TN(u)}));const v=TN(u);u=c=e.add(aO(wN(t.encode,t.type,n,t.style,e,{mod:!1,pulse:v}))),u.params.parent=e.encode(),t.transform&&t.transform.forEach((t=>{const n=VR(t,e),r=n.metadata;(r.generates||r.changes)&&s("Mark transforms should not generate new data."),r.nomod||(c.params.mod=!0),n.params.pulse=TN(u),e.add(u=n)})),t.sort&&(u=e.add(MO({sort:e.compareRef(t.sort),pulse:TN(u)})));const _=TN(u);(i||p)&&(p=e.add(EO({layout:e.objectProperty(t.layout),legends:e.legends,mark:v,pulse:_})),h=TN(p));const x=e.add(nO({mark:v,pulse:h||_}));d=TN(x),r&&(g&&(a=e.operators,a.pop(),p&&a.pop()),e.pushState(_,h||d,y),i?function(t,e,n){const r=t.from.facet,i=r.name,o=oU(r,e);let a;r.name||s("Facet must have a name: "+Ct(r)),r.data||s("Facet must reference a data set: "+Ct(r)),r.field?a=e.add(vO({field:e.fieldRef(r.field),pulse:o})):r.groupby?a=e.add(uO({key:e.keyRef(r.groupby),group:TN(e.proxy(n.parent)),pulse:o})):s("Facet must specify groupby or field: "+Ct(r));const u=e.fork(),l=u.add(rO()),c=u.add(AO({pulse:TN(l)}));u.addData(i,new aU(u,l,l,c)),u.addSignal("parent",null),a.params.subflow={$subflow:u.parse(t).toRuntime()}}(t,e,m):g?function(t,e,n){const r=e.add(vO({pulse:n.pulse})),i=e.fork();i.add(AO()),i.addSignal("parent",null),r.params.subflow={$subflow:i.parse(t).toRuntime()}}(t,e,m):e.parse(t),e.popState(),g&&(p&&a.push(p),a.push(x))),o&&(d=function(t,e,n){const r=t.method,i=t.bound,o=t.separation,a={separation:qN(o)?n.signalRef(o.signal):o,method:qN(r)?n.signalRef(r.signal):r,pulse:e};t.order&&(a.sort=n.compareRef({field:t.order}));if(i){const t=i.tolerance;a.boundTolerance=qN(t)?n.signalRef(t.signal):+t,a.boundScale=n.scaleRef(i.scale),a.boundOrient=i.orient}return TN(n.add(mO(a)))}(o,d,e));const b=e.add(wO({pulse:d})),w=e.add(AO({pulse:TN(b)},void 0,e.parent()));null!=t.name&&(f=t.name,e.addData(f,new aU(e,l,b,w)),t.on&&t.on.forEach((t=>{(t.insert||t.remove||t.toggle)&&s("Marks only support modify triggers."),cU(t,e,f)})))}function hU(t,e){const n=e.config.legend,r=t.encode||{},i=wR(t,n),o=r.legend||{},a=o.name||void 0,u=o.interactive,l=o.style,c={};let f,h,d,p=0;hR.forEach((e=>t[e]?(c[e]=t[e],p=p||t[e]):0)),p||s("Missing valid scale for legend.");const g=function(t,e){let n=t.type||uR;t.type||1!==function(t){return hR.reduce(((e,n)=>e+(t[n]?1:0)),0)}(t)||!t.fill&&!t.stroke||(n=Qd(e)?lR:tp(e)?cR:uR);return n!==lR?n:tp(e)?cR:lR}(t,e.scaleType(p)),m={title:null!=t.title,scales:c,type:g,vgrad:"symbol"!==g&&i.isVertical()},y=TN(e.add(rO(null,[m]))),v=TN(e.add(fO(h={type:g,scale:e.scaleRef(p),count:e.objectProperty(i("tickCount")),limit:e.property(i("symbolLimit")),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)})));return g===lR?(d=[CR(t,p,n,r.gradient),TR(t,n,r.labels,v)],h.count=h.count||e.signalRef(`max(2,2*floor((${IN(i.gradientLength())})/100))`)):g===cR?d=[FR(t,p,n,r.gradient,v),TR(t,n,r.labels,v)]:(f=function(t,e){const n=wR(t,e);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}(t,n),d=[BR(t,n,r,v,IN(f.columns))],h.size=function(t,e,n){const r=IN(pU("size",t,n)),i=IN(pU("strokeWidth",t,n)),o=IN(function(t,e,n){return kR("fontSize",t)||function(t,e,n){const r=e.config.style[n];return r&&r[t]}("fontSize",e,n)}(n[1].encode,e,iR));return mB(`max(ceil(sqrt(${r})+${i}),${o})`,e)}(t,e,d[0].marks)),d=[bR({role:sN,from:y,encode:{enter:{x:{value:0},y:{value:0}}},marks:d,layout:f,interactive:u})],m.title&&d.push(function(t,e,n,r){const i=wR(t,e),o={enter:{opacity:pR},update:{opacity:gR,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:pR}};return Gz(o,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:qR},angle:{signal:PR},align:{signal:LR},baseline:{signal:jR},text:t.title,fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),baseline:i("titleBaseline")}),DR({type:xR,role:fN,style:oR,from:r,encode:o},n)}(t,n,r.title,y)),fU(bR({role:oN,from:y,encode:Vz(dU(i,t,n),o,dR),marks:d,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:a,interactive:u,style:l}),e)}function dU(t,e,n){const r={enter:{},update:{}};return Gz(r,{orient:t("orient"),offset:t("offset"),padding:t("padding"),titlePadding:t("titlePadding"),cornerRadius:t("cornerRadius"),fill:t("fillColor"),stroke:t("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:t("legendX"),y:t("legendY"),format:e.format,formatType:e.formatType}),r}function pU(t,e,n){return e[t]?`scale("${e[t]}",datum)`:kR(t,n[0].encode)}aU.fromEntries=function(t,e){const n=e.length,r=e[n-1],i=e[n-2];let o=e[0],a=null,s=1;for(o&&"load"===o.type&&(o=e[1]),t.add(e[0]);s{n.push(VR(t,e))})),t.on&&t.on.forEach((n=>{cU(n,e,t.name)})),e.addDataPipeline(t.name,function(t,e,n){const r=[];let i,o,a,s,u,l=null,c=!1,f=!1;t.values?qN(t.values)||PN(t.format)?(r.push(xU(e,t)),r.push(l=_U())):r.push(l=_U({$ingest:t.values,$format:t.format})):t.url?PN(t.url)||PN(t.format)?(r.push(xU(e,t)),r.push(l=_U())):r.push(l=_U({$request:t.url,$format:t.format})):t.source&&(l=i=V(t.source).map((t=>TN(e.getData(t).output))),r.push(null));for(o=0,a=n.length;ot===GO||t===WO,wU=(t,e,n)=>qN(t)?FU(t.signal,e,n):t===HO||t===WO?e:n,kU=(t,e,n)=>qN(t)?DU(t.signal,e,n):bU(t)?e:n,AU=(t,e,n)=>qN(t)?CU(t.signal,e,n):bU(t)?n:e,MU=(t,e,n)=>qN(t)?SU(t.signal,e,n):t===WO?{value:e}:{value:n},EU=(t,e,n)=>qN(t)?$U(t.signal,e,n):t===YO?{value:e}:{value:n},DU=(t,e,n)=>TU(`${t} === '${WO}' || ${t} === '${GO}'`,e,n),CU=(t,e,n)=>TU(`${t} !== '${WO}' && ${t} !== '${GO}'`,e,n),FU=(t,e,n)=>zU(`${t} === '${HO}' || ${t} === '${WO}'`,e,n),SU=(t,e,n)=>zU(`${t} === '${WO}'`,e,n),$U=(t,e,n)=>zU(`${t} === '${YO}'`,e,n),TU=(t,e,n)=>(e=null!=e?Hz(e):e,n=null!=n?Hz(n):n,BU(e)&&BU(n)?{signal:`${t} ? (${e=e?e.signal||Ct(e.value):null}) : (${n=n?n.signal||Ct(n.value):null})`}:[ot({test:t},e)].concat(n||[])),BU=t=>null==t||1===Object.keys(t).length,zU=(t,e,n)=>({signal:`${t} ? (${OU(e)}) : (${OU(n)})`}),NU=(t,e,n,r,i)=>({signal:(null!=r?`${t} === '${HO}' ? (${OU(r)}) : `:"")+(null!=n?`${t} === '${GO}' ? (${OU(n)}) : `:"")+(null!=i?`${t} === '${YO}' ? (${OU(i)}) : `:"")+(null!=e?`${t} === '${WO}' ? (${OU(e)}) : `:"")+"(null)"}),OU=t=>qN(t)?t.signal:null==t?null:Ct(t),RU=(t,e)=>0===e?0:qN(t)?{signal:`(${t.signal}) * ${e}`}:{value:t*e},UU=(t,e)=>{const n=t.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+e.signal}:t};function LU(t,e,n,r){let i;if(e&<(e,t))return e[t];if(lt(n,t))return n[t];if(t.startsWith("title")){switch(t){case"titleColor":i="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":i=t[5].toLowerCase()+t.slice(6)}return r[oR][i]}if(t.startsWith("label")){switch(t){case"labelColor":i="fill";break;case"labelFont":case"labelFontSize":i=t[5].toLowerCase()+t.slice(6)}return r[iR][i]}return null}function qU(t){const e={};for(const n of t)if(n)for(const t in n)e[t]=1;return Object.keys(e)}function PU(t,e){return{scale:t.scale,range:e}}function jU(t,e,n,r,i){const o=wR(t,e),a=t.orient,s=t.gridScale,u=wU(a,1,-1),l=function(t,e){if(1===e);else if(A(t)){let n=t=ot({},t);for(;null!=n.mult;){if(!A(n.mult))return n.mult=qN(e)?{signal:`(${n.mult}) * (${e.signal})`}:n.mult*e,t;n=n.mult=ot({},n.mult)}n.mult=e}else t=qN(e)?{signal:`(${e.signal}) * (${t||0})`}:e*(t||0);return t}(t.offset,u);let c,f,h;const d={enter:c={opacity:pR},update:h={opacity:gR},exit:f={opacity:pR}};Gz(d,{stroke:o("gridColor"),strokeCap:o("gridCap"),strokeDash:o("gridDash"),strokeDashOffset:o("gridDashOffset"),strokeOpacity:o("gridOpacity"),strokeWidth:o("gridWidth")});const p={scale:t.scale,field:rR,band:i.band,extra:i.extra,offset:i.offset,round:o("tickRound")},g=kU(a,{signal:"height"},{signal:"width"}),m=s?{scale:s,range:0,mult:u,offset:l}:{value:0,offset:l},y=s?{scale:s,range:1,mult:u,offset:l}:ot(g,{mult:u,offset:l});return c.x=h.x=kU(a,p,m),c.y=h.y=AU(a,p,m),c.x2=h.x2=AU(a,y),c.y2=h.y2=kU(a,y),f.x=kU(a,p),f.y=AU(a,p),DR({type:vR,role:eN,key:rR,from:r,encode:d},n)}function IU(t,e,n,r,i){return{signal:'flush(range("'+t+'"), scale("'+t+'", datum.value), '+e+","+n+","+r+","+i+")"}}function WU(t,e,n,r){const i=wR(t,e),o=t.orient,a=wU(o,-1,1);let s,u;const l={enter:s={opacity:pR,anchor:Hz(i("titleAnchor",null)),align:{signal:MR}},update:u=ot({},s,{opacity:gR,text:Hz(t.title)}),exit:{opacity:pR}},c={signal:`lerp(range("${t.scale}"), ${AR(0,1,.5)})`};return u.x=kU(o,c),u.y=AU(o,c),s.angle=kU(o,pR,RU(a,90)),s.baseline=kU(o,MU(o,GO,WO),{value:GO}),u.angle=s.angle,u.baseline=s.baseline,Gz(l,{fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),angle:i("titleAngle"),baseline:i("titleBaseline")}),function(t,e,n,r){const i=(t,e)=>null!=t?(n.update[e]=UU(Hz(t),n.update[e]),!1):!Xz(e,r),o=i(t("titleX"),"x"),a=i(t("titleY"),"y");n.enter.auto=a===o?Hz(a):kU(e,Hz(a),Hz(o))}(i,o,l,n),l.update.align=UU(l.update.align,s.align),l.update.angle=UU(l.update.angle,s.angle),l.update.baseline=UU(l.update.baseline,s.baseline),DR({type:xR,role:iN,style:oR,from:r,encode:l},n)}function HU(t,e){const n=function(t,e){var n,r,i,o=e.config,a=o.style,s=o.axis,u="band"===e.scaleType(t.scale)&&o.axisBand,l=t.orient;if(qN(l)){const t=qU([o.axisX,o.axisY]),e=qU([o.axisTop,o.axisBottom,o.axisLeft,o.axisRight]);for(i of(n={},t))n[i]=kU(l,LU(i,o.axisX,s,a),LU(i,o.axisY,s,a));for(i of(r={},e))r[i]=NU(l.signal,LU(i,o.axisTop,s,a),LU(i,o.axisBottom,s,a),LU(i,o.axisLeft,s,a),LU(i,o.axisRight,s,a))}else n=l===WO||l===GO?o.axisX:o.axisY,r=o["axis"+l[0].toUpperCase()+l.slice(1)];return n||r||u?ot({},s,n,r,u):s}(t,e),r=t.encode||{},i=r.axis||{},o=i.name||void 0,a=i.interactive,s=i.style,u=wR(t,n),l=function(t){const e=t("tickBand");let n,r,i=t("tickOffset");return e?e.signal?(n={signal:`(${e.signal}) === 'extent' ? 1 : 0.5`},r={signal:`(${e.signal}) === 'extent'`},A(i)||(i={signal:`(${e.signal}) === 'extent' ? 0 : ${i}`})):"extent"===e?(n=1,r=!0,i=0):(n=.5,r=!1):(n=t("bandPosition"),r=t("tickExtra")),{extra:r,band:n,offset:i}}(u),c={scale:t.scale,ticks:!!u("ticks"),labels:!!u("labels"),grid:!!u("grid"),domain:!!u("domain"),title:null!=t.title},f=TN(e.add(rO({},[c]))),h=TN(e.add(eO({scale:e.scaleRef(t.scale),extra:e.property(l.extra),count:e.objectProperty(t.tickCount),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)}))),d=[];let p;return c.grid&&d.push(jU(t,n,r.grid,h,l)),c.ticks&&(p=u("tickSize"),d.push(function(t,e,n,r,i,o){const a=wR(t,e),s=t.orient,u=wU(s,-1,1);let l,c,f;const h={enter:l={opacity:pR},update:f={opacity:gR},exit:c={opacity:pR}};Gz(h,{stroke:a("tickColor"),strokeCap:a("tickCap"),strokeDash:a("tickDash"),strokeDashOffset:a("tickDashOffset"),strokeOpacity:a("tickOpacity"),strokeWidth:a("tickWidth")});const d=Hz(i);d.mult=u;const p={scale:t.scale,field:rR,band:o.band,extra:o.extra,offset:o.offset,round:a("tickRound")};return f.y=l.y=kU(s,pR,p),f.y2=l.y2=kU(s,d),c.x=kU(s,p),f.x=l.x=AU(s,pR,p),f.x2=l.x2=AU(s,d),c.y=AU(s,p),DR({type:vR,role:rN,key:rR,from:r,encode:h},n)}(t,n,r.ticks,h,p,l))),c.labels&&(p=c.ticks?p:0,d.push(function(t,e,n,r,i,o){const a=wR(t,e),s=t.orient,u=t.scale,l=wU(s,-1,1),c=IN(a("labelFlush")),f=IN(a("labelFlushOffset")),h=a("labelAlign"),d=a("labelBaseline");let p,g=0===c||!!c;const m=Hz(i);m.mult=l,m.offset=Hz(a("labelPadding")||0),m.offset.mult=l;const y={scale:u,field:rR,band:.5,offset:ER(o.offset,a("labelOffset"))},v=kU(s,g?IU(u,c,'"left"','"right"','"center"'):{value:"center"},EU(s,"left","right")),_=kU(s,MU(s,"bottom","top"),g?IU(u,c,'"top"','"bottom"','"middle"'):{value:"middle"}),x=IU(u,c,`-(${f})`,f,0);g=g&&f;const b={opacity:pR,x:kU(s,y,m),y:AU(s,y,m)},w={enter:b,update:p={opacity:gR,text:{field:KO},x:b.x,y:b.y,align:v,baseline:_},exit:{opacity:pR,x:b.x,y:b.y}};Gz(w,{dx:!h&&g?kU(s,x):null,dy:!d&&g?AU(s,x):null}),Gz(w,{angle:a("labelAngle"),fill:a("labelColor"),fillOpacity:a("labelOpacity"),font:a("labelFont"),fontSize:a("labelFontSize"),fontWeight:a("labelFontWeight"),fontStyle:a("labelFontStyle"),limit:a("labelLimit"),lineHeight:a("labelLineHeight")},{align:h,baseline:d});const k=a("labelBound");let A=a("labelOverlap");return A=A||k?{separation:a("labelSeparation"),method:A,order:"datum.index",bound:k?{scale:u,orient:s,tolerance:k}:null}:void 0,p.align!==v&&(p.align=UU(p.align,v)),p.baseline!==_&&(p.baseline=UU(p.baseline,_)),DR({type:xR,role:nN,style:iR,key:rR,from:r,encode:w,overlap:A},n)}(t,n,r.labels,h,p,l))),c.domain&&d.push(function(t,e,n,r){const i=wR(t,e),o=t.orient;let a,s;const u={enter:a={opacity:pR},update:s={opacity:gR},exit:{opacity:pR}};Gz(u,{stroke:i("domainColor"),strokeCap:i("domainCap"),strokeDash:i("domainDash"),strokeDashOffset:i("domainDashOffset"),strokeWidth:i("domainWidth"),strokeOpacity:i("domainOpacity")});const l=PU(t,0),c=PU(t,1);return a.x=s.x=kU(o,l,pR),a.x2=s.x2=kU(o,c),a.y=s.y=AU(o,l,pR),a.y2=s.y2=AU(o,c),DR({type:vR,role:tN,from:r,encode:u},n)}(t,n,r.domain,f)),c.title&&d.push(WU(t,n,r.title,f)),fU(bR({role:Kz,from:f,encode:Vz(YU(u,t),i,dR),marks:d,aria:u("aria"),description:u("description"),zindex:u("zindex"),name:o,interactive:a,style:s}),e)}function YU(t,e){const n={enter:{},update:{}};return Gz(n,{orient:t("orient"),offset:t("offset")||0,position:jN(e.position,0),titlePadding:t("titlePadding"),minExtent:t("minExtent"),maxExtent:t("maxExtent"),range:{signal:`abs(span(range("${e.scale}")))`},translate:t("translate"),format:e.format,formatType:e.formatType}),n}function GU(t,e,n){const r=V(t.signals),i=V(t.scales);return n||r.forEach((t=>CN(t,e))),V(t.projections).forEach((t=>function(t,e){const n=e.config.projection||{},r={};for(const n in t)"name"!==n&&(r[n]=IO(t[n],n,e));for(const t in n)null==r[t]&&(r[t]=IO(n[t],t,e));e.addProjection(t.name,r)}(t,e))),i.forEach((t=>function(t,e){const n=t.type||"linear";Jd(n)||s("Unrecognized scale type: "+Ct(n)),e.addScale(t.name,{type:n,domain:void 0})}(t,e))),V(t.data).forEach((t=>vU(t,e))),i.forEach((t=>SO(t,e))),(n||r).forEach((t=>function(t,e){const n=e.getSignal(t.name);let r=t.update;t.init&&(r?s("Signals can not include both init and update expressions."):(r=t.init,n.initonly=!0)),r&&(r=mB(r,e),n.update=r.$expr,n.params=r.$params),t.on&&t.on.forEach((t=>ZN(t,e,n.id)))}(t,e))),V(t.axes).forEach((t=>HU(t,e))),V(t.marks).forEach((t=>fU(t,e))),V(t.legends).forEach((t=>hU(t,e))),t.title&&mU(t.title,e),e.parseLambdas(),e}const VU=t=>Vz({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t);function XU(t,e){const n=e.config,r=TN(e.root=e.add($N())),i=function(t,e){const n=n=>jN(t[n],e[n]),r=[JU("background",n("background")),JU("autosize",Pz(n("autosize"))),JU("padding",Wz(n("padding"))),JU("width",n("width")||0),JU("height",n("height")||0)],i=r.reduce(((t,e)=>(t[e.name]=e,t)),{}),o={};return V(t.signals).forEach((t=>{lt(i,t.name)?t=ot(i[t.name],t):r.push(t),o[t.name]=t})),V(e.signals).forEach((t=>{lt(o,t.name)||lt(i,t.name)||r.push(t)})),r}(t,n);i.forEach((t=>CN(t,e))),e.description=t.description||n.description,e.eventConfig=n.events,e.legends=e.objectProperty(n.legend&&n.legend.layout),e.locale=n.locale;const o=e.add(rO()),a=e.add(aO(wN(VU(t.encode),mR,Zz,t.style,e,{pulse:TN(o)}))),s=e.add(EO({layout:e.objectProperty(t.layout),legends:e.legends,autosize:e.signalRef("autosize"),mark:r,pulse:TN(a)}));e.operators.pop(),e.pushState(TN(a),TN(s),null),GU(t,e,i),e.operators.push(s);let u=e.add(nO({mark:r,pulse:TN(s)}));return u=e.add(wO({pulse:TN(u)})),u=e.add(AO({pulse:TN(u)})),e.addData("root",new aU(e,o,o,u)),e}function JU(t,e){return e&&e.signal?{name:t,update:e.signal}:{name:t,value:e}}function ZU(t,e){this.config=t||{},this.options=e||{},this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.eventConfig=null,this.locale=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function QU(t){this.config=t.config,this.options=t.options,this.legends=t.legends,this.field=Object.create(t.field),this.signals=Object.create(t.signals),this.lambdas=Object.create(t.lambdas),this.scales=Object.create(t.scales),this.events=Object.create(t.events),this.data=Object.create(t.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++t._nextsub[0],this._nextsub=t._nextsub,this._parent=t._parent.slice(),this._encode=t._encode.slice(),this._lookup=t._lookup.slice(),this._markpath=t._markpath}function KU(t){return(k(t)?tL:eL)(t)}function tL(t){const e=t.length;let n="[";for(let r=0;r0?",":"")+(A(e)?e.signal||KU(e):Ct(e))}return n+"]"}function eL(t){let e,n,r="{",i=0;for(e in t)n=t[e],r+=(++i>1?",":"")+Ct(e)+":"+(A(n)?n.signal||KU(n):Ct(n));return r+"}"}ZU.prototype=QU.prototype={parse(t){return GU(t,this)},fork(){return new QU(this)},isSubscope(){return this._subid>0},toRuntime(){return this.finish(),{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+":":0)+this._id++},add(t){return this.operators.push(t),t.id=this.id(),t.refs&&(t.refs.forEach((e=>{e.$ref=t.id})),t.refs=null),t},proxy(t){const e=t instanceof FN?TN(t):t;return this.add(xO({value:e}))},addStream(t){return this.streams.push(t),t.id=this.id(),t},addUpdate(t){return this.updates.push(t),t},finish(){let t,e;for(t in this.root&&(this.root.root=!0),this.signals)this.signals[t].signal=t;for(t in this.scales)this.scales[t].scale=t;function n(t,e,n){let r,i;t&&(r=t.data||(t.data={}),i=r[e]||(r[e]=[]),i.push(n))}for(t in this.data){e=this.data[t],n(e.input,t,"input"),n(e.output,t,"output"),n(e.values,t,"values");for(const r in e.index)n(e.index[r],t,"index:"+r)}return this},pushState(t,e,n){this._encode.push(TN(this.add(AO({pulse:t})))),this._parent.push(e),this._lookup.push(n?TN(this.proxy(n)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return F(this._parent)},encode(){return F(this._encode)},lookup(){return F(this._lookup)},markpath(){const t=this._markpath;return++t[t.length-1]},fieldRef(t,e){if(xt(t))return BN(t,e);t.signal||s("Unsupported field reference: "+Ct(t));const n=t.signal;let r=this.field[n];if(!r){const t={name:this.signalRef(n)};e&&(t.as=e),this.field[n]=r=TN(this.add(lO(t)))}return r},compareRef(t){let e=!1;const n=t=>qN(t)?(e=!0,this.signalRef(t.signal)):function(t){return t&&t.expr}(t)?(e=!0,this.exprRef(t.expr)):t,r=V(t.field).map(n),i=V(t.order).map(n);return e?TN(this.add(iO({fields:r,orders:i}))):NN(r,i)},keyRef(t,e){let n=!1;const r=this.signals;return t=V(t).map((t=>qN(t)?(n=!0,TN(r[t.signal])):t)),n?TN(this.add(cO({fields:t,flat:e}))):function(t,e){const n={$key:t};return e&&(n.$flat=!0),n}(t,e)},sortRef(t){if(!t)return t;const e=RN(t.op,t.field),n=t.order||"ascending";return n.signal?TN(this.add(iO({fields:e,orders:this.signalRef(n.signal)}))):NN(e,n)},event(t,e){const n=t+":"+e;if(!this.events[n]){const r=this.id();this.streams.push({id:r,source:t,type:e}),this.events[n]=r}return this.events[n]},hasOwnSignal(t){return lt(this.signals,t)},addSignal(t,e){this.hasOwnSignal(t)&&s("Duplicate signal name: "+Ct(t));const n=e instanceof FN?e:this.add($N(e));return this.signals[t]=n},getSignal(t){return this.signals[t]||s("Unrecognized signal name: "+Ct(t)),this.signals[t]},signalRef(t){return this.signals[t]?TN(this.signals[t]):(lt(this.lambdas,t)||(this.lambdas[t]=this.add($N(null))),TN(this.lambdas[t]))},parseLambdas(){const t=Object.keys(this.lambdas);for(let e=0,n=t.length;er+Math.floor(o*t.random()),pdf:t=>t===Math.floor(t)&&t>=r&&t=i?1:(e-r+1)/o},icdf:t=>t>=0&&t<=1?r-1+Math.floor(t*o):NaN};return a.min(e).max(n)},t.randomKDE=gs,t.randomLCG=function(t){return function(){return(t=(1103515245*t+12345)%2147483647)/2147483647}},t.randomLogNormal=xs,t.randomMixture=bs,t.randomNormal=ps,t.randomUniform=Es,t.read=ca,t.regressionConstant=Ds,t.regressionExp=zs,t.regressionLinear=Ts,t.regressionLoess=Ls,t.regressionLog=Bs,t.regressionPoly=Rs,t.regressionPow=Ns,t.regressionQuad=Os,t.renderModule=b_,t.repeat=Mt,t.resetDefaultLocale=function(){return Co(),Bo(),Uo()},t.resetSVGClipId=Ng,t.resetSVGDefIds=function(){Ng(),Op=0},t.responseType=la,t.runtimeContext=MB,t.sampleCurve=Is,t.sampleLogNormal=ms,t.sampleNormal=cs,t.sampleUniform=ws,t.scale=Xd,t.sceneEqual=F_,t.sceneFromJSON=qy,t.scenePickVisit=Fm,t.sceneToJSON=Ly,t.sceneVisit=Cm,t.sceneZOrder=Dm,t.scheme=dp,t.serializeXML=Yv,t.setHybridRendererOptions=function(t){d_.svgMarkTypes=t.svgMarkTypes??["text"],d_.svgOnTop=t.svgOnTop??!0,d_.debug=t.debug??!1},t.setRandom=function(e){t.random=e},t.span=Dt,t.splitAccessPath=u,t.stringValue=Ct,t.textMetrics=py,t.timeBin=Jr,t.timeFloor=wr,t.timeFormatLocale=No,t.timeInterval=Cr,t.timeOffset=$r,t.timeSequence=zr,t.timeUnitSpecifier=rr,t.timeUnits=er,t.toBoolean=Ft,t.toDate=$t,t.toNumber=S,t.toSet=Bt,t.toString=Tt,t.transform=Ka,t.transforms=Za,t.truncate=zt,t.truthy=p,t.tupleid=ya,t.typeParsers=Zo,t.utcFloor=Mr,t.utcInterval=Fr,t.utcOffset=Tr,t.utcSequence=Nr,t.utcdayofyear=hr,t.utcquarter=G,t.utcweek=dr,t.version="5.28.0",t.visitArray=Nt,t.week=sr,t.writeConfig=D,t.zero=h,t.zoomLinear=j,t.zoomLog=I,t.zoomPow=W,t.zoomSymlog=H})); +//# sourceMappingURL=vega.min.js.map diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2 new file mode 100644 index 00000000..943c5a0a Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2 new file mode 100644 index 00000000..2bfc2cee Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2 new file mode 100644 index 00000000..b2391b92 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2 new file mode 100644 index 00000000..a4699c78 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2 new file mode 100644 index 00000000..bfcc76fa Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2 new file mode 100644 index 00000000..d4ec1890 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2 new file mode 100644 index 00000000..22c57b01 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2 new file mode 100644 index 00000000..d2f30b58 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2 new file mode 100644 index 00000000..c88b8aea Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2 new file mode 100644 index 00000000..6363b1c7 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2 new file mode 100644 index 00000000..dd5a4a2e Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2 new file mode 100644 index 00000000..6abf54d0 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2 new file mode 100644 index 00000000..c8091bc9 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2 new file mode 100644 index 00000000..a56a6ede Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2 new file mode 100644 index 00000000..508baefb Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2 new file mode 100644 index 00000000..9213da01 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2 new file mode 100644 index 00000000..ef920e5a Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2 new file mode 100644 index 00000000..9a378af0 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xIIzI.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xIIzI.woff2 new file mode 100644 index 00000000..e1b7a79f Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xIIzI.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2 new file mode 100644 index 00000000..e0d3c435 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2 new file mode 100644 index 00000000..dd587a2b Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 new file mode 100644 index 00000000..9d7fb7f8 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 new file mode 100644 index 00000000..60681387 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 new file mode 100644 index 00000000..b289f002 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 new file mode 100644 index 00000000..87711c04 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 new file mode 100644 index 00000000..0f6e60b8 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 new file mode 100644 index 00000000..91231c9c Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 new file mode 100644 index 00000000..c0099878 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 new file mode 100644 index 00000000..1bb7737c Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 new file mode 100644 index 00000000..771fbecc Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 new file mode 100644 index 00000000..cb9bfa71 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 new file mode 100644 index 00000000..a0d68e2b Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 new file mode 100644 index 00000000..63995528 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 new file mode 100644 index 00000000..94ab5fb0 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 new file mode 100644 index 00000000..3c450111 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 new file mode 100644 index 00000000..fc71d944 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxK.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxK.woff2 new file mode 100644 index 00000000..020729ef Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxK.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 new file mode 100644 index 00000000..47da3629 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKOzY.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKOzY.woff2 new file mode 100644 index 00000000..22ddee9c Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKOzY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 new file mode 100644 index 00000000..8a8de615 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 new file mode 100644 index 00000000..6284d2e3 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 new file mode 100644 index 00000000..72ce0e98 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 new file mode 100644 index 00000000..022274d4 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 new file mode 100644 index 00000000..48edd1b0 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 new file mode 100644 index 00000000..cb41535e Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 new file mode 100644 index 00000000..1d988a3f Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 new file mode 100644 index 00000000..11e6a46a Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 new file mode 100644 index 00000000..50fb8e71 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2 new file mode 100644 index 00000000..1f1c97fe Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2 new file mode 100644 index 00000000..16230051 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2 new file mode 100644 index 00000000..6f232c38 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2 new file mode 100644 index 00000000..a3e5aef7 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2 new file mode 100644 index 00000000..f73f27d6 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2 new file mode 100644 index 00000000..135d06e0 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2 differ diff --git a/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js b/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js new file mode 100644 index 00000000..2195371d --- /dev/null +++ b/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js @@ -0,0 +1,2151 @@ +"use strict";var __esbuild_esm_mermaid=(()=>{var B1e=Object.create;var T1=Object.defineProperty;var F1e=Object.getOwnPropertyDescriptor;var z1e=Object.getOwnPropertyNames;var $1e=Object.getPrototypeOf,G1e=Object.prototype.hasOwnProperty;var s=(t,e)=>T1(t,"name",{value:e,configurable:!0});var _=(t,e)=>()=>(t&&(e=t(t=0)),e);var is=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ur=(t,e)=>{for(var r in e)T1(t,r,{get:e[r],enumerable:!0})},ob=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of z1e(e))!G1e.call(t,i)&&i!==r&&T1(t,i,{get:()=>e[i],enumerable:!(n=F1e(e,i))||n.enumerable});return t},lr=(t,e,r)=>(ob(t,e,"default"),r&&ob(r,e,"default")),ka=(t,e,r)=>(r=t!=null?B1e($1e(t)):{},ob(e||!t||!t.__esModule?T1(r,"default",{value:t,enumerable:!0}):r,t)),V1e=t=>ob(T1({},"__esModule",{value:!0}),t);function lb(t){for(var e=[],r=1;r{"use strict";s(lb,"dedent")});var cb=is((X7,j7)=>{"use strict";(function(t,e){typeof X7=="object"&&typeof j7<"u"?j7.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(X7,function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",a="minute",o="hour",l="day",u="week",h="month",f="quarter",d="year",p="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:s(function(L){var P=["th","st","nd","rd"],M=L%100;return"["+L+(P[(M-20)%10]||P[M]||P[0])+"]"},"ordinal")},x=s(function(L,P,M){var F=String(L);return!F||F.length>=P?L:""+Array(P+1-F.length).join(M)+L},"m"),b={s:x,z:s(function(L){var P=-L.utcOffset(),M=Math.abs(P),F=Math.floor(M/60),I=M%60;return(P<=0?"+":"-")+x(F,2,"0")+":"+x(I,2,"0")},"z"),m:s(function L(P,M){if(P.date()1)return L(z[0])}else{var N=P.name;A[N]=P,I=N}return!F&&I&&(k=I),I||!F&&k},"t"),E=s(function(L,P){if(T(L))return L.clone();var M=typeof P=="object"?P:{};return M.date=L,M.args=arguments,new R(M)},"O"),S=b;S.l=C,S.i=T,S.w=function(L,P){return E(L,{locale:P.$L,utc:P.$u,x:P.$x,$offset:P.$offset})};var R=function(){function L(M){this.$L=C(M.locale,null,!0),this.parse(M),this.$x=this.$x||M.x||{},this[w]=!0}s(L,"M");var P=L.prototype;return P.parse=function(M){this.$d=function(F){var I=F.date,O=F.utc;if(I===null)return new Date(NaN);if(S.u(I))return new Date;if(I instanceof Date)return new Date(I);if(typeof I=="string"&&!/Z$/i.test(I)){var z=I.match(g);if(z){var N=z[2]-1||0,U=(z[7]||"0").substring(0,3);return O?new Date(Date.UTC(z[1],N,z[3]||1,z[4]||0,z[5]||0,z[6]||0,U)):new Date(z[1],N,z[3]||1,z[4]||0,z[5]||0,z[6]||0,U)}}return new Date(I)}(M),this.init()},P.init=function(){var M=this.$d;this.$y=M.getFullYear(),this.$M=M.getMonth(),this.$D=M.getDate(),this.$W=M.getDay(),this.$H=M.getHours(),this.$m=M.getMinutes(),this.$s=M.getSeconds(),this.$ms=M.getMilliseconds()},P.$utils=function(){return S},P.isValid=function(){return this.$d.toString()!==m},P.isSame=function(M,F){var I=E(M);return this.startOf(F)<=I&&I<=this.endOf(F)},P.isAfter=function(M,F){return E(M){"use strict";LB=ka(cb(),1),Uc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},V={trace:s((...t)=>{},"trace"),debug:s((...t)=>{},"debug"),info:s((...t)=>{},"info"),warn:s((...t)=>{},"warn"),error:s((...t)=>{},"error"),fatal:s((...t)=>{},"fatal")},E1=s(function(t="fatal"){let e=Uc.fatal;typeof t=="string"?t.toLowerCase()in Uc&&(e=Uc[t]):typeof t=="number"&&(e=t),V.trace=()=>{},V.debug=()=>{},V.info=()=>{},V.warn=()=>{},V.error=()=>{},V.fatal=()=>{},e<=Uc.fatal&&(V.fatal=console.error?console.error.bind(console,fo("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",fo("FATAL"))),e<=Uc.error&&(V.error=console.error?console.error.bind(console,fo("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",fo("ERROR"))),e<=Uc.warn&&(V.warn=console.warn?console.warn.bind(console,fo("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",fo("WARN"))),e<=Uc.info&&(V.info=console.info?console.info.bind(console,fo("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",fo("INFO"))),e<=Uc.debug&&(V.debug=console.debug?console.debug.bind(console,fo("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",fo("DEBUG"))),e<=Uc.trace&&(V.trace=console.debug?console.debug.bind(console,fo("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",fo("TRACE")))},"setLogLevel"),fo=s(t=>`%c${(0,LB.default)().format("ss.SSS")} : ${t} : `,"format")});var ub,Df,DB,hb=_(()=>{"use strict";ub=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Df=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,DB=/\s*%%.*\n/gm});var W0,K7=_(()=>{"use strict";W0=class extends Error{static{s(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}});var Rf,H0,fb,Q7,RB,Mf=_(()=>{"use strict";it();hb();K7();Rf={},H0=s(function(t,e){t=t.replace(ub,"").replace(Df,"").replace(DB,` +`);for(let[r,{detector:n}]of Object.entries(Rf))if(n(t,e))return r;throw new W0(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),fb=s((...t)=>{for(let{id:e,detector:r,loader:n}of t)Q7(e,r,n)},"registerLazyLoadedDiagrams"),Q7=s((t,e,r)=>{Rf[t]&&V.warn(`Detector with key ${t} already exists. Overwriting.`),Rf[t]={detector:e,loader:r},V.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),RB=s(t=>Rf[t].loader,"getDiagramLoader")});var C1,MB,Z7=_(()=>{"use strict";C1=function(){var t=s(function(_e,he,q,se){for(q=q||{},se=_e.length;se--;q[_e[se]]=he);return q},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],o=[1,63],l=[1,64],u=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],m=[1,29],g=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],k=[1,35],A=[1,36],w=[1,37],T=[1,38],C=[1,39],E=[1,40],S=[1,41],R=[1,42],D=[1,43],L=[1,44],P=[1,45],M=[1,46],F=[1,47],I=[1,48],O=[1,50],z=[1,51],N=[1,52],U=[1,53],$=[1,54],W=[1,55],ee=[1,56],te=[1,57],ce=[1,58],Z=[1,59],fe=[1,60],ne=[14,42],H=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Q=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],K=[1,82],re=[1,83],ie=[1,84],ye=[1,85],j=[12,14,42],De=[12,14,33,42],oe=[12,14,33,42,76,77,79,80],Re=[12,33],Pe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Se={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:s(function(he,q,se,ue,X,ae,pe){var de=ae.length-1;switch(X){case 3:ue.setDirection("TB");break;case 4:ue.setDirection("BT");break;case 5:ue.setDirection("RL");break;case 6:ue.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:ue.setC4Type(ae[de-3]);break;case 19:ue.setTitle(ae[de].substring(6)),this.$=ae[de].substring(6);break;case 20:ue.setAccDescription(ae[de].substring(15)),this.$=ae[de].substring(15);break;case 21:this.$=ae[de].trim(),ue.setTitle(this.$);break;case 22:case 23:this.$=ae[de].trim(),ue.setAccDescription(this.$);break;case 28:ae[de].splice(2,0,"ENTERPRISE"),ue.addPersonOrSystemBoundary(...ae[de]),this.$=ae[de];break;case 29:ae[de].splice(2,0,"SYSTEM"),ue.addPersonOrSystemBoundary(...ae[de]),this.$=ae[de];break;case 30:ue.addPersonOrSystemBoundary(...ae[de]),this.$=ae[de];break;case 31:ae[de].splice(2,0,"CONTAINER"),ue.addContainerBoundary(...ae[de]),this.$=ae[de];break;case 32:ue.addDeploymentNode("node",...ae[de]),this.$=ae[de];break;case 33:ue.addDeploymentNode("nodeL",...ae[de]),this.$=ae[de];break;case 34:ue.addDeploymentNode("nodeR",...ae[de]),this.$=ae[de];break;case 35:ue.popBoundaryParseStack();break;case 39:ue.addPersonOrSystem("person",...ae[de]),this.$=ae[de];break;case 40:ue.addPersonOrSystem("external_person",...ae[de]),this.$=ae[de];break;case 41:ue.addPersonOrSystem("system",...ae[de]),this.$=ae[de];break;case 42:ue.addPersonOrSystem("system_db",...ae[de]),this.$=ae[de];break;case 43:ue.addPersonOrSystem("system_queue",...ae[de]),this.$=ae[de];break;case 44:ue.addPersonOrSystem("external_system",...ae[de]),this.$=ae[de];break;case 45:ue.addPersonOrSystem("external_system_db",...ae[de]),this.$=ae[de];break;case 46:ue.addPersonOrSystem("external_system_queue",...ae[de]),this.$=ae[de];break;case 47:ue.addContainer("container",...ae[de]),this.$=ae[de];break;case 48:ue.addContainer("container_db",...ae[de]),this.$=ae[de];break;case 49:ue.addContainer("container_queue",...ae[de]),this.$=ae[de];break;case 50:ue.addContainer("external_container",...ae[de]),this.$=ae[de];break;case 51:ue.addContainer("external_container_db",...ae[de]),this.$=ae[de];break;case 52:ue.addContainer("external_container_queue",...ae[de]),this.$=ae[de];break;case 53:ue.addComponent("component",...ae[de]),this.$=ae[de];break;case 54:ue.addComponent("component_db",...ae[de]),this.$=ae[de];break;case 55:ue.addComponent("component_queue",...ae[de]),this.$=ae[de];break;case 56:ue.addComponent("external_component",...ae[de]),this.$=ae[de];break;case 57:ue.addComponent("external_component_db",...ae[de]),this.$=ae[de];break;case 58:ue.addComponent("external_component_queue",...ae[de]),this.$=ae[de];break;case 60:ue.addRel("rel",...ae[de]),this.$=ae[de];break;case 61:ue.addRel("birel",...ae[de]),this.$=ae[de];break;case 62:ue.addRel("rel_u",...ae[de]),this.$=ae[de];break;case 63:ue.addRel("rel_d",...ae[de]),this.$=ae[de];break;case 64:ue.addRel("rel_l",...ae[de]),this.$=ae[de];break;case 65:ue.addRel("rel_r",...ae[de]),this.$=ae[de];break;case 66:ue.addRel("rel_b",...ae[de]),this.$=ae[de];break;case 67:ae[de].splice(0,1),ue.addRel("rel",...ae[de]),this.$=ae[de];break;case 68:ue.updateElStyle("update_el_style",...ae[de]),this.$=ae[de];break;case 69:ue.updateRelStyle("update_rel_style",...ae[de]),this.$=ae[de];break;case 70:ue.updateLayoutConfig("update_layout_config",...ae[de]),this.$=ae[de];break;case 71:this.$=[ae[de]];break;case 72:ae[de].unshift(ae[de-1]),this.$=ae[de];break;case 73:case 75:this.$=ae[de].trim();break;case 74:let Ie={};Ie[ae[de-1].trim()]=ae[de].trim(),this.$=Ie;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe},{14:[1,74]},t(ne,[2,13],{43:23,29:49,30:61,32:62,20:75,34:o,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe}),t(ne,[2,14]),t(H,[2,16],{12:[1,76]}),t(ne,[2,36],{12:[1,77]}),t(Q,[2,19]),t(Q,[2,20]),{25:[1,78]},{27:[1,79]},t(Q,[2,23]),{35:80,75:81,76:K,77:re,79:ie,80:ye},{35:86,75:81,76:K,77:re,79:ie,80:ye},{35:87,75:81,76:K,77:re,79:ie,80:ye},{35:88,75:81,76:K,77:re,79:ie,80:ye},{35:89,75:81,76:K,77:re,79:ie,80:ye},{35:90,75:81,76:K,77:re,79:ie,80:ye},{35:91,75:81,76:K,77:re,79:ie,80:ye},{35:92,75:81,76:K,77:re,79:ie,80:ye},{35:93,75:81,76:K,77:re,79:ie,80:ye},{35:94,75:81,76:K,77:re,79:ie,80:ye},{35:95,75:81,76:K,77:re,79:ie,80:ye},{35:96,75:81,76:K,77:re,79:ie,80:ye},{35:97,75:81,76:K,77:re,79:ie,80:ye},{35:98,75:81,76:K,77:re,79:ie,80:ye},{35:99,75:81,76:K,77:re,79:ie,80:ye},{35:100,75:81,76:K,77:re,79:ie,80:ye},{35:101,75:81,76:K,77:re,79:ie,80:ye},{35:102,75:81,76:K,77:re,79:ie,80:ye},{35:103,75:81,76:K,77:re,79:ie,80:ye},{35:104,75:81,76:K,77:re,79:ie,80:ye},t(j,[2,59]),{35:105,75:81,76:K,77:re,79:ie,80:ye},{35:106,75:81,76:K,77:re,79:ie,80:ye},{35:107,75:81,76:K,77:re,79:ie,80:ye},{35:108,75:81,76:K,77:re,79:ie,80:ye},{35:109,75:81,76:K,77:re,79:ie,80:ye},{35:110,75:81,76:K,77:re,79:ie,80:ye},{35:111,75:81,76:K,77:re,79:ie,80:ye},{35:112,75:81,76:K,77:re,79:ie,80:ye},{35:113,75:81,76:K,77:re,79:ie,80:ye},{35:114,75:81,76:K,77:re,79:ie,80:ye},{35:115,75:81,76:K,77:re,79:ie,80:ye},{20:116,29:49,30:61,32:62,34:o,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe},{12:[1,118],33:[1,117]},{35:119,75:81,76:K,77:re,79:ie,80:ye},{35:120,75:81,76:K,77:re,79:ie,80:ye},{35:121,75:81,76:K,77:re,79:ie,80:ye},{35:122,75:81,76:K,77:re,79:ie,80:ye},{35:123,75:81,76:K,77:re,79:ie,80:ye},{35:124,75:81,76:K,77:re,79:ie,80:ye},{35:125,75:81,76:K,77:re,79:ie,80:ye},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(ne,[2,15]),t(H,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(ne,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:o,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe}),t(Q,[2,21]),t(Q,[2,22]),t(j,[2,39]),t(De,[2,71],{75:81,35:132,76:K,77:re,79:ie,80:ye}),t(oe,[2,73]),{78:[1,133]},t(oe,[2,75]),t(oe,[2,76]),t(j,[2,40]),t(j,[2,41]),t(j,[2,42]),t(j,[2,43]),t(j,[2,44]),t(j,[2,45]),t(j,[2,46]),t(j,[2,47]),t(j,[2,48]),t(j,[2,49]),t(j,[2,50]),t(j,[2,51]),t(j,[2,52]),t(j,[2,53]),t(j,[2,54]),t(j,[2,55]),t(j,[2,56]),t(j,[2,57]),t(j,[2,58]),t(j,[2,60]),t(j,[2,61]),t(j,[2,62]),t(j,[2,63]),t(j,[2,64]),t(j,[2,65]),t(j,[2,66]),t(j,[2,67]),t(j,[2,68]),t(j,[2,69]),t(j,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Re,[2,28]),t(Re,[2,29]),t(Re,[2,30]),t(Re,[2,31]),t(Re,[2,32]),t(Re,[2,33]),t(Re,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(H,[2,18]),t(ne,[2,38]),t(De,[2,72]),t(oe,[2,74]),t(j,[2,24]),t(j,[2,35]),t(Pe,[2,25]),t(Pe,[2,26],{12:[1,138]}),t(Pe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:s(function(he,q){if(q.recoverable)this.trace(he);else{var se=new Error(he);throw se.hash=q,se}},"parseError"),parse:s(function(he){var q=this,se=[0],ue=[],X=[null],ae=[],pe=this.table,de="",Ie=0,Ne=0,Be=0,ze=2,qe=1,Fe=ae.slice.call(arguments,1),we=Object.create(this.lexer),Je={yy:{}};for(var We in this.yy)Object.prototype.hasOwnProperty.call(this.yy,We)&&(Je.yy[We]=this.yy[We]);we.setInput(he,Je.yy),Je.yy.lexer=we,Je.yy.parser=this,typeof we.yylloc>"u"&&(we.yylloc={});var or=we.yylloc;ae.push(or);var Cr=we.options&&we.options.ranges;typeof Je.yy.parseError=="function"?this.parseError=Je.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ut(Bt){se.length=se.length-2*Bt,X.length=X.length-Bt,ae.length=ae.length-Bt}s(Ut,"popStack");function ar(){var Bt;return Bt=ue.pop()||we.lex()||qe,typeof Bt!="number"&&(Bt instanceof Array&&(ue=Bt,Bt=ue.pop()),Bt=q.symbols_[Bt]||Bt),Bt}s(ar,"lex");for(var ut,Rt,Qe,Dt,qt,yt,Et={},pt,Wt,ot,fr;;){if(Qe=se[se.length-1],this.defaultActions[Qe]?Dt=this.defaultActions[Qe]:((ut===null||typeof ut>"u")&&(ut=ar()),Dt=pe[Qe]&&pe[Qe][ut]),typeof Dt>"u"||!Dt.length||!Dt[0]){var vt="";fr=[];for(pt in pe[Qe])this.terminals_[pt]&&pt>ze&&fr.push("'"+this.terminals_[pt]+"'");we.showPosition?vt="Parse error on line "+(Ie+1)+`: +`+we.showPosition()+` +Expecting `+fr.join(", ")+", got '"+(this.terminals_[ut]||ut)+"'":vt="Parse error on line "+(Ie+1)+": Unexpected "+(ut==qe?"end of input":"'"+(this.terminals_[ut]||ut)+"'"),this.parseError(vt,{text:we.match,token:this.terminals_[ut]||ut,line:we.yylineno,loc:or,expected:fr})}if(Dt[0]instanceof Array&&Dt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Qe+", token: "+ut);switch(Dt[0]){case 1:se.push(ut),X.push(we.yytext),ae.push(we.yylloc),se.push(Dt[1]),ut=null,Rt?(ut=Rt,Rt=null):(Ne=we.yyleng,de=we.yytext,Ie=we.yylineno,or=we.yylloc,Be>0&&Be--);break;case 2:if(Wt=this.productions_[Dt[1]][1],Et.$=X[X.length-Wt],Et._$={first_line:ae[ae.length-(Wt||1)].first_line,last_line:ae[ae.length-1].last_line,first_column:ae[ae.length-(Wt||1)].first_column,last_column:ae[ae.length-1].last_column},Cr&&(Et._$.range=[ae[ae.length-(Wt||1)].range[0],ae[ae.length-1].range[1]]),yt=this.performAction.apply(Et,[de,Ne,Ie,Je.yy,Dt[1],X,ae].concat(Fe)),typeof yt<"u")return yt;Wt&&(se=se.slice(0,-1*Wt*2),X=X.slice(0,-1*Wt),ae=ae.slice(0,-1*Wt)),se.push(this.productions_[Dt[1]][0]),X.push(Et.$),ae.push(Et._$),ot=pe[se[se.length-2]][se[se.length-1]],se.push(ot);break;case 3:return!0}}return!0},"parse")},Ue=function(){var _e={EOF:1,parseError:s(function(q,se){if(this.yy.parser)this.yy.parser.parseError(q,se);else throw new Error(q)},"parseError"),setInput:s(function(he,q){return this.yy=q||this.yy||{},this._input=he,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var he=this._input[0];this.yytext+=he,this.yyleng++,this.offset++,this.match+=he,this.matched+=he;var q=he.match(/(?:\r\n?|\n).*/g);return q?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),he},"input"),unput:s(function(he){var q=he.length,se=he.split(/(?:\r\n?|\n)/g);this._input=he+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-q),this.offset-=q;var ue=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),se.length-1&&(this.yylineno-=se.length-1);var X=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:se?(se.length===ue.length?this.yylloc.first_column:0)+ue[ue.length-se.length].length-se[0].length:this.yylloc.first_column-q},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-q]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(he){this.unput(this.match.slice(he))},"less"),pastInput:s(function(){var he=this.matched.substr(0,this.matched.length-this.match.length);return(he.length>20?"...":"")+he.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var he=this.match;return he.length<20&&(he+=this._input.substr(0,20-he.length)),(he.substr(0,20)+(he.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var he=this.pastInput(),q=new Array(he.length+1).join("-");return he+this.upcomingInput()+` +`+q+"^"},"showPosition"),test_match:s(function(he,q){var se,ue,X;if(this.options.backtrack_lexer&&(X={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(X.yylloc.range=this.yylloc.range.slice(0))),ue=he[0].match(/(?:\r\n?|\n).*/g),ue&&(this.yylineno+=ue.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ue?ue[ue.length-1].length-ue[ue.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+he[0].length},this.yytext+=he[0],this.match+=he[0],this.matches=he,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(he[0].length),this.matched+=he[0],se=this.performAction.call(this,this.yy,this,q,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var ae in X)this[ae]=X[ae];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var he,q,se,ue;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),ae=0;aeq[0].length)){if(q=se,ue=ae,this.options.backtrack_lexer){if(he=this.test_match(se,X[ae]),he!==!1)return he;if(this._backtrack){q=!1;continue}else return!1}else if(!this.options.flex)break}return q?(he=this.test_match(q,X[ue]),he!==!1?he:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var q=this.next();return q||this.lex()},"lex"),begin:s(function(q){this.conditionStack.push(q)},"begin"),popState:s(function(){var q=this.conditionStack.length-1;return q>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(q){return q=this.conditionStack.length-1-Math.abs(q||0),q>=0?this.conditionStack[q]:"INITIAL"},"topState"),pushState:s(function(q){this.begin(q)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(q,se,ue,X){var ae=X;switch(ue){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return _e}();Se.lexer=Ue;function Oe(){this.yy={}}return s(Oe,"Parser"),Oe.prototype=Se,Se.Parser=Oe,new Oe}();C1.parser=C1;MB=C1});var J7,An,Y0=_(()=>{"use strict";J7=s((t,e,{depth:r=2,clobber:n=!1}={})=>{let i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>J7(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=J7(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),An=J7});var db,IB,NB=_(()=>{"use strict";db={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:s(t=>t>=255?255:t<0?0:t,"r"),g:s(t=>t>=255?255:t<0?0:t,"g"),b:s(t=>t>=255?255:t<0?0:t,"b"),h:s(t=>t%360,"h"),s:s(t=>t>=100?100:t<0?0:t,"s"),l:s(t=>t>=100?100:t<0?0:t,"l"),a:s(t=>t>=1?1:t<0?0:t,"a")},toLinear:s(t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},"toLinear"),hue2rgb:s((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+(e-t)*6*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t),"hue2rgb"),hsl2rgb:s(({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;let i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return db.hue2rgb(a,i,t+.3333333333333333)*255;case"g":return db.hue2rgb(a,i,t)*255;case"b":return db.hue2rgb(a,i,t-.3333333333333333)*255}},"hsl2rgb"),rgb2hsl:s(({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;let i=Math.max(t,e,r),a=Math.min(t,e,r),o=(i+a)/2;if(n==="l")return o*100;if(i===a)return 0;let l=i-a,u=o>.5?l/(2-i-a):l/(i+a);if(n==="s")return u*100;switch(i){case t:return((e-r)/l+(e{"use strict";U1e={clamp:s((t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),"clamp"),round:s(t=>Math.round(t*1e10)/1e10,"round")},OB=U1e});var q1e,BB,FB=_(()=>{"use strict";q1e={dec2hex:s(t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`},"dec2hex")},BB=q1e});var W1e,Ct,Ol=_(()=>{"use strict";NB();PB();FB();W1e={channel:IB,lang:OB,unit:BB},Ct=W1e});var qc,ki,S1=_(()=>{"use strict";Ol();qc={};for(let t=0;t<=255;t++)qc[t]=Ct.unit.dec2hex(t);ki={ALL:0,RGB:1,HSL:2}});var eE,zB,$B=_(()=>{"use strict";S1();eE=class{static{s(this,"Type")}constructor(){this.type=ki.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=ki.ALL}is(e){return this.type===e}},zB=eE});var tE,GB,VB=_(()=>{"use strict";Ol();$B();S1();tE=class{static{s(this,"Channels")}constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new zB}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=ki.ALL,this}_ensureHSL(){let e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=Ct.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=Ct.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=Ct.channel.rgb2hsl(e,"l"))}_ensureRGB(){let e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=Ct.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=Ct.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=Ct.channel.hsl2rgb(e,"b"))}get r(){let e=this.data,r=e.r;return!this.type.is(ki.HSL)&&r!==void 0?r:(this._ensureHSL(),Ct.channel.hsl2rgb(e,"r"))}get g(){let e=this.data,r=e.g;return!this.type.is(ki.HSL)&&r!==void 0?r:(this._ensureHSL(),Ct.channel.hsl2rgb(e,"g"))}get b(){let e=this.data,r=e.b;return!this.type.is(ki.HSL)&&r!==void 0?r:(this._ensureHSL(),Ct.channel.hsl2rgb(e,"b"))}get h(){let e=this.data,r=e.h;return!this.type.is(ki.RGB)&&r!==void 0?r:(this._ensureRGB(),Ct.channel.rgb2hsl(e,"h"))}get s(){let e=this.data,r=e.s;return!this.type.is(ki.RGB)&&r!==void 0?r:(this._ensureRGB(),Ct.channel.rgb2hsl(e,"s"))}get l(){let e=this.data,r=e.l;return!this.type.is(ki.RGB)&&r!==void 0?r:(this._ensureRGB(),Ct.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(ki.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(ki.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(ki.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(ki.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(ki.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(ki.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}},GB=tE});var H1e,th,_1=_(()=>{"use strict";VB();H1e=new GB({r:0,g:0,b:0,a:0},"transparent"),th=H1e});var UB,If,rE=_(()=>{"use strict";_1();S1();UB={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:s(t=>{if(t.charCodeAt(0)!==35)return;let e=t.match(UB.re);if(!e)return;let r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,o=i>4,l=o?1:17,u=o?8:4,h=a?0:-1,f=o?255:15;return th.set({r:(n>>u*(h+3)&f)*l,g:(n>>u*(h+2)&f)*l,b:(n>>u*(h+1)&f)*l,a:a?(n&f)*l/255:1},t)},"parse"),stringify:s(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`#${qc[Math.round(e)]}${qc[Math.round(r)]}${qc[Math.round(n)]}${qc[Math.round(i*255)]}`:`#${qc[Math.round(e)]}${qc[Math.round(r)]}${qc[Math.round(n)]}`},"stringify")},If=UB});var pb,A1,qB=_(()=>{"use strict";Ol();_1();pb={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:s(t=>{let e=t.match(pb.hueRe);if(e){let[,r,n]=e;switch(n){case"grad":return Ct.channel.clamp.h(parseFloat(r)*.9);case"rad":return Ct.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return Ct.channel.clamp.h(parseFloat(r)*360)}}return Ct.channel.clamp.h(parseFloat(t))},"_hue2deg"),parse:s(t=>{let e=t.charCodeAt(0);if(e!==104&&e!==72)return;let r=t.match(pb.re);if(!r)return;let[,n,i,a,o,l]=r;return th.set({h:pb._hue2deg(n),s:Ct.channel.clamp.s(parseFloat(i)),l:Ct.channel.clamp.l(parseFloat(a)),a:o?Ct.channel.clamp.a(l?parseFloat(o)/100:parseFloat(o)):1},t)},"parse"),stringify:s(t=>{let{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${Ct.lang.round(e)}, ${Ct.lang.round(r)}%, ${Ct.lang.round(n)}%, ${i})`:`hsl(${Ct.lang.round(e)}, ${Ct.lang.round(r)}%, ${Ct.lang.round(n)}%)`},"stringify")},A1=pb});var mb,nE,WB=_(()=>{"use strict";rE();mb={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:s(t=>{t=t.toLowerCase();let e=mb.colors[t];if(e)return If.parse(e)},"parse"),stringify:s(t=>{let e=If.stringify(t);for(let r in mb.colors)if(mb.colors[r]===e)return r},"stringify")},nE=mb});var HB,L1,YB=_(()=>{"use strict";Ol();_1();HB={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:s(t=>{let e=t.charCodeAt(0);if(e!==114&&e!==82)return;let r=t.match(HB.re);if(!r)return;let[,n,i,a,o,l,u,h,f]=r;return th.set({r:Ct.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:Ct.channel.clamp.g(o?parseFloat(a)*2.55:parseFloat(a)),b:Ct.channel.clamp.b(u?parseFloat(l)*2.55:parseFloat(l)),a:h?Ct.channel.clamp.a(f?parseFloat(h)/100:parseFloat(h)):1},t)},"parse"),stringify:s(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${Ct.lang.round(e)}, ${Ct.lang.round(r)}, ${Ct.lang.round(n)}, ${Ct.lang.round(i)})`:`rgb(${Ct.lang.round(e)}, ${Ct.lang.round(r)}, ${Ct.lang.round(n)})`},"stringify")},L1=HB});var Y1e,wi,Wc=_(()=>{"use strict";rE();qB();WB();YB();S1();Y1e={format:{keyword:nE,hex:If,rgb:L1,rgba:L1,hsl:A1,hsla:A1},parse:s(t=>{if(typeof t!="string")return t;let e=If.parse(t)||L1.parse(t)||A1.parse(t)||nE.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},"parse"),stringify:s(t=>!t.changed&&t.color?t.color:t.type.is(ki.HSL)||t.data.r===void 0?A1.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?L1.stringify(t):If.stringify(t),"stringify")},wi=Y1e});var X1e,gb,iE=_(()=>{"use strict";Ol();Wc();X1e=s((t,e)=>{let r=wi.parse(t);for(let n in e)r[n]=Ct.channel.clamp[n](e[n]);return wi.stringify(r)},"change"),gb=X1e});var j1e,Fs,aE=_(()=>{"use strict";Ol();_1();Wc();iE();j1e=s((t,e,r=0,n=1)=>{if(typeof t!="number")return gb(t,{a:e});let i=th.set({r:Ct.channel.clamp.r(t),g:Ct.channel.clamp.g(e),b:Ct.channel.clamp.b(r),a:Ct.channel.clamp.a(n)});return wi.stringify(i)},"rgba"),Fs=j1e});var K1e,D1,XB=_(()=>{"use strict";Ol();Wc();K1e=s((t,e)=>Ct.lang.round(wi.parse(t)[e]),"channel"),D1=K1e});var Q1e,jB,KB=_(()=>{"use strict";Ol();Wc();Q1e=s(t=>{let{r:e,g:r,b:n}=wi.parse(t),i=.2126*Ct.channel.toLinear(e)+.7152*Ct.channel.toLinear(r)+.0722*Ct.channel.toLinear(n);return Ct.lang.round(i)},"luminance"),jB=Q1e});var Z1e,QB,ZB=_(()=>{"use strict";KB();Z1e=s(t=>jB(t)>=.5,"isLight"),QB=Z1e});var J1e,Fa,JB=_(()=>{"use strict";ZB();J1e=s(t=>!QB(t),"isDark"),Fa=J1e});var eye,yb,sE=_(()=>{"use strict";Ol();Wc();eye=s((t,e,r)=>{let n=wi.parse(t),i=n[e],a=Ct.channel.clamp[e](i+r);return i!==a&&(n[e]=a),wi.stringify(n)},"adjustChannel"),yb=eye});var tye,ht,eF=_(()=>{"use strict";sE();tye=s((t,e)=>yb(t,"l",e),"lighten"),ht=tye});var rye,mt,tF=_(()=>{"use strict";sE();rye=s((t,e)=>yb(t,"l",-e),"darken"),mt=rye});var nye,Ce,rF=_(()=>{"use strict";Wc();iE();nye=s((t,e)=>{let r=wi.parse(t),n={};for(let i in e)e[i]&&(n[i]=r[i]+e[i]);return gb(t,n)},"adjust"),Ce=nye});var iye,nF,iF=_(()=>{"use strict";Wc();aE();iye=s((t,e,r=50)=>{let{r:n,g:i,b:a,a:o}=wi.parse(t),{r:l,g:u,b:h,a:f}=wi.parse(e),d=r/100,p=d*2-1,m=o-f,y=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,v=1-y,x=n*y+l*v,b=i*y+u*v,k=a*y+h*v,A=o*d+f*(1-d);return Fs(x,b,k,A)},"mix"),nF=iye});var aye,et,aF=_(()=>{"use strict";Wc();iF();aye=s((t,e=100)=>{let r=wi.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,nF(r,t,e)},"invert"),et=aye});var sF=_(()=>{"use strict";aE();XB();JB();eF();tF();rF();aF()});var Ho=_(()=>{"use strict";sF()});var rh,nh,R1=_(()=>{"use strict";rh="#ffffff",nh="#f2f2f2"});var ui,X0=_(()=>{"use strict";Ho();ui=s((t,e)=>e?Ce(t,{s:-40,l:10}):Ce(t,{s:-40,l:-10}),"mkBorder")});var oE,lF,cF=_(()=>{"use strict";Ho();R1();X0();oE=class{static{s(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Ce(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Ce(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||ui(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||ui(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||ui(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||ui(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||et(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||et(this.tertiaryColor),this.lineColor=this.lineColor||et(this.background),this.arrowheadColor=this.arrowheadColor||et(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?mt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||mt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||et(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||ht(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ce(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ce(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ce(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ce(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ce(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ce(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Ce(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ce(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ce(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},lF=s(t=>{let e=new oE;return e.calculate(t),e},"getThemeVariables")});var lE,uF,hF=_(()=>{"use strict";Ho();X0();lE=class{static{s(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=ht(this.primaryColor,16),this.tertiaryColor=Ce(this.primaryColor,{h:-160}),this.primaryBorderColor=et(this.background),this.secondaryBorderColor=ui(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ui(this.tertiaryColor,this.darkMode),this.primaryTextColor=et(this.primaryColor),this.secondaryTextColor=et(this.secondaryColor),this.tertiaryTextColor=et(this.tertiaryColor),this.lineColor=et(this.background),this.textColor=et(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=ht(et("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=Fs(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=mt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=mt(this.sectionBkgColor,10),this.taskBorderColor=Fs(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Fs(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=ht(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=ht(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=ht(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Ce(this.primaryColor,{h:64}),this.fillType3=Ce(this.secondaryColor,{h:64}),this.fillType4=Ce(this.primaryColor,{h:-64}),this.fillType5=Ce(this.secondaryColor,{h:-64}),this.fillType6=Ce(this.primaryColor,{h:128}),this.fillType7=Ce(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ce(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ce(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ce(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ce(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ce(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ce(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Ce(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ce(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ce(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},uF=s(t=>{let e=new lE;return e.calculate(t),e},"getThemeVariables")});var cE,j0,vb=_(()=>{"use strict";Ho();X0();R1();cE=class{static{s(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Ce(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Ce(this.primaryColor,{h:-160}),this.primaryBorderColor=ui(this.primaryColor,this.darkMode),this.secondaryBorderColor=ui(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ui(this.tertiaryColor,this.darkMode),this.primaryTextColor=et(this.primaryColor),this.secondaryTextColor=et(this.secondaryColor),this.tertiaryTextColor=et(this.tertiaryColor),this.lineColor=et(this.background),this.textColor=et(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=Fs(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ce(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ce(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ce(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ce(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ce(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ce(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Ce(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ce(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ce(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||mt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||mt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},j0=s(t=>{let e=new cE;return e.calculate(t),e},"getThemeVariables")});var uE,fF,dF=_(()=>{"use strict";Ho();R1();X0();uE=class{static{s(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=ht("#cde498",10),this.primaryBorderColor=ui(this.primaryColor,this.darkMode),this.secondaryBorderColor=ui(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ui(this.tertiaryColor,this.darkMode),this.primaryTextColor=et(this.primaryColor),this.secondaryTextColor=et(this.secondaryColor),this.tertiaryTextColor=et(this.primaryColor),this.lineColor=et(this.background),this.textColor=et(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=mt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ce(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ce(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ce(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ce(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ce(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ce(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Ce(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ce(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ce(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||mt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||mt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},fF=s(t=>{let e=new uE;return e.calculate(t),e},"getThemeVariables")});var hE,pF,mF=_(()=>{"use strict";Ho();X0();R1();hE=class{static{s(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=ht(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Ce(this.primaryColor,{h:-160}),this.primaryBorderColor=ui(this.primaryColor,this.darkMode),this.secondaryBorderColor=ui(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ui(this.tertiaryColor,this.darkMode),this.primaryTextColor=et(this.primaryColor),this.secondaryTextColor=et(this.secondaryColor),this.tertiaryTextColor=et(this.tertiaryColor),this.lineColor=et(this.background),this.textColor=et(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=ht(this.contrast,55),this.border2=this.contrast,this.actorBorder=ht(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},pF=s(t=>{let e=new hE;return e.calculate(t),e},"getThemeVariables")});var po,xb=_(()=>{"use strict";cF();hF();vb();dF();mF();po={base:{getThemeVariables:lF},dark:{getThemeVariables:uF},default:{getThemeVariables:j0},forest:{getThemeVariables:fF},neutral:{getThemeVariables:pF}}});var Hc,gF=_(()=>{"use strict";Hc={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1}});var yF,vF,xF,dr,Pl=_(()=>{"use strict";xb();gF();yF={...Hc,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"SIMPLE"},themeCSS:void 0,themeVariables:po.default.getThemeVariables(),sequence:{...Hc.sequence,messageFont:s(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:s(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:s(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},gantt:{...Hc.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Hc.c4,useWidth:void 0,personFont:s(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),external_personFont:s(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:s(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:s(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:s(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:s(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:s(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:s(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:s(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:s(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:s(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:s(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:s(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:s(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:s(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:s(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:s(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:s(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:s(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:s(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:s(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:s(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Hc.pie,useWidth:984},xyChart:{...Hc.xyChart,useWidth:void 0},requirement:{...Hc.requirement,useWidth:void 0},packet:{...Hc.packet}},vF=s((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...vF(t[n],"")]:[...r,e+n],[]),"keyify"),xF=new Set(vF(yF,"")),dr=yF});var K0,sye,fE=_(()=>{"use strict";Pl();it();K0=s(t=>{if(V.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>K0(e));return}for(let e of Object.keys(t)){if(V.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!xF.has(e)||t[e]==null){V.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){V.debug("sanitizing object",e),K0(t[e]);continue}let r=["themeCSS","fontFamily","altFontFamily"];for(let n of r)e.includes(n)&&(V.debug("sanitizing css option",e),t[e]=sye(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}V.debug("After sanitization",t)}},"sanitizeDirective"),sye=s(t=>{let e=0,r=0;for(let n of t){if(e{"use strict";Y0();it();xb();Pl();fE();ih=Object.freeze(dr),as=An({},ih),Q0=[],M1=An({},ih),bb=s((t,e)=>{let r=An({},t),n={};for(let i of e)EF(i),n=An(n,i);if(r=An(r,n),n.theme&&n.theme in po){let i=An({},kF),a=An(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in po&&(r.themeVariables=po[r.theme].getThemeVariables(a))}return M1=r,SF(M1),M1},"updateCurrentConfig"),dE=s(t=>(as=An({},ih),as=An(as,t),t.theme&&po[t.theme]&&(as.themeVariables=po[t.theme].getThemeVariables(t.themeVariables)),bb(as,Q0),as),"setSiteConfig"),wF=s(t=>{kF=An({},t)},"saveConfigFromInitialize"),TF=s(t=>(as=An(as,t),bb(as,Q0),as),"updateSiteConfig"),pE=s(()=>An({},as),"getSiteConfig"),kb=s(t=>(SF(t),An(M1,t),_r()),"setConfig"),_r=s(()=>An({},M1),"getConfig"),EF=s(t=>{t&&(["secure",...as.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(V.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&EF(t[e])}))},"sanitize"),CF=s(t=>{K0(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),Q0.push(t),bb(as,Q0)},"addDirective"),I1=s((t=as)=>{Q0=[],bb(t,Q0)},"reset"),oye={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},bF={},lye=s(t=>{bF[t]||(V.warn(oye[t]),bF[t]=!0)},"issueWarning"),SF=s(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&lye("LAZY_LOAD_DEPRECATED")},"checkConfig")});var yE=is((mE,gE)=>{"use strict";(function(t,e){typeof mE=="object"&&typeof gE<"u"?gE.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self,t.DOMPurify=e())})(mE,function(){"use strict";let{entries:t,setPrototypeOf:e,isFrozen:r,getPrototypeOf:n,getOwnPropertyDescriptor:i}=Object,{freeze:a,seal:o,create:l}=Object,{apply:u,construct:h}=typeof Reflect<"u"&&Reflect;a||(a=s(function(Se){return Se},"freeze")),o||(o=s(function(Se){return Se},"seal")),u||(u=s(function(Se,Ue,Oe){return Se.apply(Ue,Oe)},"apply")),h||(h=s(function(Se,Ue){return new Se(...Ue)},"construct"));let f=T(Array.prototype.forEach),d=T(Array.prototype.pop),p=T(Array.prototype.push),m=T(String.prototype.toLowerCase),g=T(String.prototype.toString),y=T(String.prototype.match),v=T(String.prototype.replace),x=T(String.prototype.indexOf),b=T(String.prototype.trim),k=T(Object.prototype.hasOwnProperty),A=T(RegExp.prototype.test),w=C(TypeError);function T(Pe){return function(Se){for(var Ue=arguments.length,Oe=new Array(Ue>1?Ue-1:0),_e=1;_e2&&arguments[2]!==void 0?arguments[2]:m;e&&e(Pe,null);let Oe=Se.length;for(;Oe--;){let _e=Se[Oe];if(typeof _e=="string"){let he=Ue(_e);he!==_e&&(r(Se)||(Se[Oe]=he),_e=he)}Pe[_e]=!0}return Pe}s(E,"addToSet");function S(Pe){for(let Se=0;Se/gm),ce=o(/\${[\w\W]*}/gm),Z=o(/^data-[\-\w.\u00B7-\uFFFF]/),fe=o(/^aria-[\-\w]+$/),ne=o(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),H=o(/^(?:\w+script|data):/i),Q=o(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),K=o(/^html$/i),re=o(/^[a-z][.\w]*(-[.\w]+)+$/i);var ie=Object.freeze({__proto__:null,MUSTACHE_EXPR:ee,ERB_EXPR:te,TMPLIT_EXPR:ce,DATA_ATTR:Z,ARIA_ATTR:fe,IS_ALLOWED_URI:ne,IS_SCRIPT_OR_DATA:H,ATTR_WHITESPACE:Q,DOCTYPE_NAME:K,CUSTOM_ELEMENT:re});let ye={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},j=s(function(){return typeof window>"u"?null:window},"getGlobal"),De=s(function(Se,Ue){if(typeof Se!="object"||typeof Se.createPolicy!="function")return null;let Oe=null,_e="data-tt-policy-suffix";Ue&&Ue.hasAttribute(_e)&&(Oe=Ue.getAttribute(_e));let he="dompurify"+(Oe?"#"+Oe:"");try{return Se.createPolicy(he,{createHTML(q){return q},createScriptURL(q){return q}})}catch{return console.warn("TrustedTypes policy "+he+" could not be created."),null}},"_createTrustedTypesPolicy");function oe(){let Pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:j(),Se=s(St=>oe(St),"DOMPurify");if(Se.version="3.1.6",Se.removed=[],!Pe||!Pe.document||Pe.document.nodeType!==ye.document)return Se.isSupported=!1,Se;let{document:Ue}=Pe,Oe=Ue,_e=Oe.currentScript,{DocumentFragment:he,HTMLTemplateElement:q,Node:se,Element:ue,NodeFilter:X,NamedNodeMap:ae=Pe.NamedNodeMap||Pe.MozNamedAttrMap,HTMLFormElement:pe,DOMParser:de,trustedTypes:Ie}=Pe,Ne=ue.prototype,Be=D(Ne,"cloneNode"),ze=D(Ne,"remove"),qe=D(Ne,"nextSibling"),Fe=D(Ne,"childNodes"),we=D(Ne,"parentNode");if(typeof q=="function"){let St=Ue.createElement("template");St.content&&St.content.ownerDocument&&(Ue=St.content.ownerDocument)}let Je,We="",{implementation:or,createNodeIterator:Cr,createDocumentFragment:Ut,getElementsByTagName:ar}=Ue,{importNode:ut}=Oe,Rt={};Se.isSupported=typeof t=="function"&&typeof we=="function"&&or&&or.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:Qe,ERB_EXPR:Dt,TMPLIT_EXPR:qt,DATA_ATTR:yt,ARIA_ATTR:Et,IS_SCRIPT_OR_DATA:pt,ATTR_WHITESPACE:Wt,CUSTOM_ELEMENT:ot}=ie,{IS_ALLOWED_URI:fr}=ie,vt=null,Bt=E({},[...L,...P,...M,...I,...z]),Sr=null,zi=E({},[...N,...U,...$,...W]),rr=Object.seal(l(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Vn=null,Tn=null,Ki=!0,ci=!0,Pa=!1,En=!0,ti=!1,co=!0,uo=!1,Rl=!1,ts=!1,at=!1,xt=!1,Ft=!1,Ke=!0,Zt=!1,me="user-content-",Fc=!0,xe=!1,xi={},zc=null,g1=E({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ib=null,y1=E({},["audio","video","img","source","image","track"]),v1=null,ri=E({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ho="http://www.w3.org/1998/Math/MathML",Zu="http://www.w3.org/2000/svg",Ps="http://www.w3.org/1999/xhtml",Ju=Ps,ab=!1,x1=null,Qi=E({},[ho,Zu,Ps],g),$c=null,Gc=["application/xhtml+xml","text/html"],rs="text/html",bi=null,Ml=null,eh=Ue.createElement("form"),Af=s(function(Te){return Te instanceof RegExp||Te instanceof Function},"isRegexOrFunction"),Bs=s(function(){let Te=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Ml&&Ml===Te)){if((!Te||typeof Te!="object")&&(Te={}),Te=R(Te),$c=Gc.indexOf(Te.PARSER_MEDIA_TYPE)===-1?rs:Te.PARSER_MEDIA_TYPE,bi=$c==="application/xhtml+xml"?g:m,vt=k(Te,"ALLOWED_TAGS")?E({},Te.ALLOWED_TAGS,bi):Bt,Sr=k(Te,"ALLOWED_ATTR")?E({},Te.ALLOWED_ATTR,bi):zi,x1=k(Te,"ALLOWED_NAMESPACES")?E({},Te.ALLOWED_NAMESPACES,g):Qi,v1=k(Te,"ADD_URI_SAFE_ATTR")?E(R(ri),Te.ADD_URI_SAFE_ATTR,bi):ri,ib=k(Te,"ADD_DATA_URI_TAGS")?E(R(y1),Te.ADD_DATA_URI_TAGS,bi):y1,zc=k(Te,"FORBID_CONTENTS")?E({},Te.FORBID_CONTENTS,bi):g1,Vn=k(Te,"FORBID_TAGS")?E({},Te.FORBID_TAGS,bi):{},Tn=k(Te,"FORBID_ATTR")?E({},Te.FORBID_ATTR,bi):{},xi=k(Te,"USE_PROFILES")?Te.USE_PROFILES:!1,Ki=Te.ALLOW_ARIA_ATTR!==!1,ci=Te.ALLOW_DATA_ATTR!==!1,Pa=Te.ALLOW_UNKNOWN_PROTOCOLS||!1,En=Te.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ti=Te.SAFE_FOR_TEMPLATES||!1,co=Te.SAFE_FOR_XML!==!1,uo=Te.WHOLE_DOCUMENT||!1,at=Te.RETURN_DOM||!1,xt=Te.RETURN_DOM_FRAGMENT||!1,Ft=Te.RETURN_TRUSTED_TYPE||!1,ts=Te.FORCE_BODY||!1,Ke=Te.SANITIZE_DOM!==!1,Zt=Te.SANITIZE_NAMED_PROPS||!1,Fc=Te.KEEP_CONTENT!==!1,xe=Te.IN_PLACE||!1,fr=Te.ALLOWED_URI_REGEXP||ne,Ju=Te.NAMESPACE||Ps,rr=Te.CUSTOM_ELEMENT_HANDLING||{},Te.CUSTOM_ELEMENT_HANDLING&&Af(Te.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(rr.tagNameCheck=Te.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Te.CUSTOM_ELEMENT_HANDLING&&Af(Te.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(rr.attributeNameCheck=Te.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Te.CUSTOM_ELEMENT_HANDLING&&typeof Te.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(rr.allowCustomizedBuiltInElements=Te.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ti&&(ci=!1),xt&&(at=!0),xi&&(vt=E({},z),Sr=[],xi.html===!0&&(E(vt,L),E(Sr,N)),xi.svg===!0&&(E(vt,P),E(Sr,U),E(Sr,W)),xi.svgFilters===!0&&(E(vt,M),E(Sr,U),E(Sr,W)),xi.mathMl===!0&&(E(vt,I),E(Sr,$),E(Sr,W))),Te.ADD_TAGS&&(vt===Bt&&(vt=R(vt)),E(vt,Te.ADD_TAGS,bi)),Te.ADD_ATTR&&(Sr===zi&&(Sr=R(Sr)),E(Sr,Te.ADD_ATTR,bi)),Te.ADD_URI_SAFE_ATTR&&E(v1,Te.ADD_URI_SAFE_ATTR,bi),Te.FORBID_CONTENTS&&(zc===g1&&(zc=R(zc)),E(zc,Te.FORBID_CONTENTS,bi)),Fc&&(vt["#text"]=!0),uo&&E(vt,["html","head","body"]),vt.table&&(E(vt,["tbody"]),delete Vn.tbody),Te.TRUSTED_TYPES_POLICY){if(typeof Te.TRUSTED_TYPES_POLICY.createHTML!="function")throw w('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Te.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw w('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Je=Te.TRUSTED_TYPES_POLICY,We=Je.createHTML("")}else Je===void 0&&(Je=De(Ie,_e)),Je!==null&&typeof We=="string"&&(We=Je.createHTML(""));a&&a(Te),Ml=Te}},"_parseConfig"),b1=E({},["mi","mo","mn","ms","mtext"]),Lf=E({},["foreignobject","annotation-xml"]),k1=E({},["title","style","font","a","script"]),xa=E({},[...P,...M,...F]),vB=E({},[...I,...O]),O1e=s(function(Te){let Ze=we(Te);(!Ze||!Ze.tagName)&&(Ze={namespaceURI:Ju,tagName:"template"});let bt=m(Te.tagName),fn=m(Ze.tagName);return x1[Te.namespaceURI]?Te.namespaceURI===Zu?Ze.namespaceURI===Ps?bt==="svg":Ze.namespaceURI===ho?bt==="svg"&&(fn==="annotation-xml"||b1[fn]):!!xa[bt]:Te.namespaceURI===ho?Ze.namespaceURI===Ps?bt==="math":Ze.namespaceURI===Zu?bt==="math"&&Lf[fn]:!!vB[bt]:Te.namespaceURI===Ps?Ze.namespaceURI===Zu&&!Lf[fn]||Ze.namespaceURI===ho&&!b1[fn]?!1:!vB[bt]&&(k1[bt]||!xa[bt]):!!($c==="application/xhtml+xml"&&x1[Te.namespaceURI]):!1},"_checkValidNamespace"),Il=s(function(Te){p(Se.removed,{element:Te});try{we(Te).removeChild(Te)}catch{ze(Te)}},"_forceRemove"),sb=s(function(Te,Ze){try{p(Se.removed,{attribute:Ze.getAttributeNode(Te),from:Ze})}catch{p(Se.removed,{attribute:null,from:Ze})}if(Ze.removeAttribute(Te),Te==="is"&&!Sr[Te])if(at||xt)try{Il(Ze)}catch{}else try{Ze.setAttribute(Te,"")}catch{}},"_removeAttribute"),xB=s(function(Te){let Ze=null,bt=null;if(ts)Te=""+Te;else{let Zi=y(Te,/^[\r\n\t ]+/);bt=Zi&&Zi[0]}$c==="application/xhtml+xml"&&Ju===Ps&&(Te=''+Te+"");let fn=Je?Je.createHTML(Te):Te;if(Ju===Ps)try{Ze=new de().parseFromString(fn,$c)}catch{}if(!Ze||!Ze.documentElement){Ze=or.createDocument(Ju,"template",null);try{Ze.documentElement.innerHTML=ab?We:fn}catch{}}let ba=Ze.body||Ze.documentElement;return Te&&bt&&ba.insertBefore(Ue.createTextNode(bt),ba.childNodes[0]||null),Ju===Ps?ar.call(Ze,uo?"html":"body")[0]:uo?Ze.documentElement:ba},"_initDocument"),bB=s(function(Te){return Cr.call(Te.ownerDocument||Te,Te,X.SHOW_ELEMENT|X.SHOW_COMMENT|X.SHOW_TEXT|X.SHOW_PROCESSING_INSTRUCTION|X.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),kB=s(function(Te){return Te instanceof pe&&(typeof Te.nodeName!="string"||typeof Te.textContent!="string"||typeof Te.removeChild!="function"||!(Te.attributes instanceof ae)||typeof Te.removeAttribute!="function"||typeof Te.setAttribute!="function"||typeof Te.namespaceURI!="string"||typeof Te.insertBefore!="function"||typeof Te.hasChildNodes!="function")},"_isClobbered"),wB=s(function(Te){return typeof se=="function"&&Te instanceof se},"_isNode"),Vc=s(function(Te,Ze,bt){Rt[Te]&&f(Rt[Te],fn=>{fn.call(Se,Ze,bt,Ml)})},"_executeHook"),TB=s(function(Te){let Ze=null;if(Vc("beforeSanitizeElements",Te,null),kB(Te))return Il(Te),!0;let bt=bi(Te.nodeName);if(Vc("uponSanitizeElement",Te,{tagName:bt,allowedTags:vt}),Te.hasChildNodes()&&!wB(Te.firstElementChild)&&A(/<[/\w]/g,Te.innerHTML)&&A(/<[/\w]/g,Te.textContent)||Te.nodeType===ye.progressingInstruction||co&&Te.nodeType===ye.comment&&A(/<[/\w]/g,Te.data))return Il(Te),!0;if(!vt[bt]||Vn[bt]){if(!Vn[bt]&&CB(bt)&&(rr.tagNameCheck instanceof RegExp&&A(rr.tagNameCheck,bt)||rr.tagNameCheck instanceof Function&&rr.tagNameCheck(bt)))return!1;if(Fc&&!zc[bt]){let fn=we(Te)||Te.parentNode,ba=Fe(Te)||Te.childNodes;if(ba&&fn){let Zi=ba.length;for(let ns=Zi-1;ns>=0;--ns){let Nl=Be(ba[ns],!0);Nl.__removalCount=(Te.__removalCount||0)+1,fn.insertBefore(Nl,qe(Te))}}}return Il(Te),!0}return Te instanceof ue&&!O1e(Te)||(bt==="noscript"||bt==="noembed"||bt==="noframes")&&A(/<\/no(script|embed|frames)/i,Te.innerHTML)?(Il(Te),!0):(ti&&Te.nodeType===ye.text&&(Ze=Te.textContent,f([Qe,Dt,qt],fn=>{Ze=v(Ze,fn," ")}),Te.textContent!==Ze&&(p(Se.removed,{element:Te.cloneNode()}),Te.textContent=Ze)),Vc("afterSanitizeElements",Te,null),!1)},"_sanitizeElements"),EB=s(function(Te,Ze,bt){if(Ke&&(Ze==="id"||Ze==="name")&&(bt in Ue||bt in eh))return!1;if(!(ci&&!Tn[Ze]&&A(yt,Ze))){if(!(Ki&&A(Et,Ze))){if(!Sr[Ze]||Tn[Ze]){if(!(CB(Te)&&(rr.tagNameCheck instanceof RegExp&&A(rr.tagNameCheck,Te)||rr.tagNameCheck instanceof Function&&rr.tagNameCheck(Te))&&(rr.attributeNameCheck instanceof RegExp&&A(rr.attributeNameCheck,Ze)||rr.attributeNameCheck instanceof Function&&rr.attributeNameCheck(Ze))||Ze==="is"&&rr.allowCustomizedBuiltInElements&&(rr.tagNameCheck instanceof RegExp&&A(rr.tagNameCheck,bt)||rr.tagNameCheck instanceof Function&&rr.tagNameCheck(bt))))return!1}else if(!v1[Ze]){if(!A(fr,v(bt,Wt,""))){if(!((Ze==="src"||Ze==="xlink:href"||Ze==="href")&&Te!=="script"&&x(bt,"data:")===0&&ib[Te])){if(!(Pa&&!A(pt,v(bt,Wt,"")))){if(bt)return!1}}}}}}return!0},"_isValidAttribute"),CB=s(function(Te){return Te!=="annotation-xml"&&y(Te,ot)},"_isBasicCustomElement"),SB=s(function(Te){Vc("beforeSanitizeAttributes",Te,null);let{attributes:Ze}=Te;if(!Ze)return;let bt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Sr},fn=Ze.length;for(;fn--;){let ba=Ze[fn],{name:Zi,namespaceURI:ns,value:Nl}=ba,w1=bi(Zi),Ba=Zi==="value"?Nl:b(Nl);if(bt.attrName=w1,bt.attrValue=Ba,bt.keepAttr=!0,bt.forceKeepAttr=void 0,Vc("uponSanitizeAttribute",Te,bt),Ba=bt.attrValue,co&&A(/((--!?|])>)|<\/(style|title)/i,Ba)){sb(Zi,Te);continue}if(bt.forceKeepAttr||(sb(Zi,Te),!bt.keepAttr))continue;if(!En&&A(/\/>/i,Ba)){sb(Zi,Te);continue}ti&&f([Qe,Dt,qt],AB=>{Ba=v(Ba,AB," ")});let _B=bi(Te.nodeName);if(EB(_B,w1,Ba)){if(Zt&&(w1==="id"||w1==="name")&&(sb(Zi,Te),Ba=me+Ba),Je&&typeof Ie=="object"&&typeof Ie.getAttributeType=="function"&&!ns)switch(Ie.getAttributeType(_B,w1)){case"TrustedHTML":{Ba=Je.createHTML(Ba);break}case"TrustedScriptURL":{Ba=Je.createScriptURL(Ba);break}}try{ns?Te.setAttributeNS(ns,Zi,Ba):Te.setAttribute(Zi,Ba),kB(Te)?Il(Te):d(Se.removed)}catch{}}}Vc("afterSanitizeAttributes",Te,null)},"_sanitizeAttributes"),P1e=s(function St(Te){let Ze=null,bt=bB(Te);for(Vc("beforeSanitizeShadowDOM",Te,null);Ze=bt.nextNode();)Vc("uponSanitizeShadowNode",Ze,null),!TB(Ze)&&(Ze.content instanceof he&&St(Ze.content),SB(Ze));Vc("afterSanitizeShadowDOM",Te,null)},"_sanitizeShadowDOM");return Se.sanitize=function(St){let Te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ze=null,bt=null,fn=null,ba=null;if(ab=!St,ab&&(St=""),typeof St!="string"&&!wB(St))if(typeof St.toString=="function"){if(St=St.toString(),typeof St!="string")throw w("dirty is not a string, aborting")}else throw w("toString is not a function");if(!Se.isSupported)return St;if(Rl||Bs(Te),Se.removed=[],typeof St=="string"&&(xe=!1),xe){if(St.nodeName){let Nl=bi(St.nodeName);if(!vt[Nl]||Vn[Nl])throw w("root node is forbidden and cannot be sanitized in-place")}}else if(St instanceof se)Ze=xB(""),bt=Ze.ownerDocument.importNode(St,!0),bt.nodeType===ye.element&&bt.nodeName==="BODY"||bt.nodeName==="HTML"?Ze=bt:Ze.appendChild(bt);else{if(!at&&!ti&&!uo&&St.indexOf("<")===-1)return Je&&Ft?Je.createHTML(St):St;if(Ze=xB(St),!Ze)return at?null:Ft?We:""}Ze&&ts&&Il(Ze.firstChild);let Zi=bB(xe?St:Ze);for(;fn=Zi.nextNode();)TB(fn)||(fn.content instanceof he&&P1e(fn.content),SB(fn));if(xe)return St;if(at){if(xt)for(ba=Ut.call(Ze.ownerDocument);Ze.firstChild;)ba.appendChild(Ze.firstChild);else ba=Ze;return(Sr.shadowroot||Sr.shadowrootmode)&&(ba=ut.call(Oe,ba,!0)),ba}let ns=uo?Ze.outerHTML:Ze.innerHTML;return uo&&vt["!doctype"]&&Ze.ownerDocument&&Ze.ownerDocument.doctype&&Ze.ownerDocument.doctype.name&&A(K,Ze.ownerDocument.doctype.name)&&(ns=" +`+ns),ti&&f([Qe,Dt,qt],Nl=>{ns=v(ns,Nl," ")}),Je&&Ft?Je.createHTML(ns):ns},Se.setConfig=function(){let St=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Bs(St),Rl=!0},Se.clearConfig=function(){Ml=null,Rl=!1},Se.isValidAttribute=function(St,Te,Ze){Ml||Bs({});let bt=bi(St),fn=bi(Te);return EB(bt,fn,Ze)},Se.addHook=function(St,Te){typeof Te=="function"&&(Rt[St]=Rt[St]||[],p(Rt[St],Te))},Se.removeHook=function(St){if(Rt[St])return d(Rt[St])},Se.removeHooks=function(St){Rt[St]&&(Rt[St]=[])},Se.removeAllHooks=function(){Rt={}},Se}s(oe,"createDOMPurify");var Re=oe();return Re})});var Jz={};ur(Jz,{default:()=>r2e});function mye(t){return String(t).replace(pye,e=>dye[e])}function xye(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function Sye(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}function az(t){for(var e=0;e=Nb[e]&&t<=Nb[e+1])return!0;return!1}function Bye(t,e){zl[t]=e}function UE(t,e,r){if(!zl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=zl[e][n];if(!i&&t[0]in AF&&(n=AF[t[0]].charCodeAt(0),i=zl[e][n]),!i&&r==="text"&&az(n)&&(i=zl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function Fye(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!vE[e]){var r=vE[e]={cssEmPerMu:wb.quad[e]/18};for(var n in wb)wb.hasOwnProperty(n)&&(r[n]=wb[n][e])}return vE[e]}function RF(t){if(t instanceof ls)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function Vye(t){if(t instanceof Bf)return t;throw new Error("Expected span but got "+String(t)+".")}function B(t,e,r,n,i,a){dn[t][i]={font:e,group:r,replace:n},a&&n&&(dn[t][n]=dn[t][i])}function st(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:o}=t,l={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},u=0;u0&&(a.push(Lb(o,e)),o=[]),a.push(n[l]));o.length>0&&a.push(Lb(o,e));var h;r?(h=Lb(Ti(r,e,!0)),h.classes=["tag"],a.push(h)):i&&a.push(i);var f=Qc(["katex-html"],a);if(f.setAttribute("aria-hidden","true"),h){var d=h.children[0];d.style.height=tt(f.height+f.depth),f.depth&&(d.style.verticalAlign=tt(-f.depth))}return f}function yz(t){return new Pf(t)}function PF(t,e,r,n,i){var a=cs(t,r),o;a.length===1&&a[0]instanceof os&&Mt.contains(["mrow","mtable"],a[0].type)?o=a[0]:o=new Xe.MathNode("mrow",a);var l=new Xe.MathNode("annotation",[new Xe.TextNode(e)]);l.setAttribute("encoding","application/x-tex");var u=new Xe.MathNode("semantics",[o,l]),h=new Xe.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");var f=i?"katex":"katex-mathml";return Ae.makeSpan([f],[h])}function Jt(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function YE(t){var e=Wb(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function Wb(t){return t&&(t.type==="atom"||qye.hasOwnProperty(t.type))?t:null}function kz(t,e){var r=Ti(t.body,e,!0);return bve([t.mclass],r,e)}function wz(t,e){var r,n=cs(t.body,e);return t.mclass==="minner"?r=new Xe.MathNode("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Xe.MathNode("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Xe.MathNode("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}function Tve(t,e,r){var n=kve[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},o=r.callFunction("\\Big",[a],[]),l=r.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[i,o,l]};return r.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function Eve(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new je("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;a-1))if("<>AV".indexOf(h)>-1)for(var d=0;d<2;d++){for(var p=!0,m=u+1;mAV=|." after @',o[u]);var g=Tve(h,f,t),y={type:"styling",body:[g],mode:"math",style:"display"};n.push(y),l=BF()}a%2===0?n.push(l):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var v=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:v,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}function Yb(t,e){var r=Wb(t);if(r&&Mt.contains(Bve,r.text))return r;throw r?new je("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new je("Invalid delimiter type '"+t.type+"'",t)}function $F(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function Gl(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:o}=t,l={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},u=0;u1||!f)&&y.pop(),x.length{"use strict";$s=class t{static{s(this,"SourceLocation")}constructor(e,r,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=n}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new t(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},go=class t{static{s(this,"Token")}constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new t(r,$s.range(this,e))}},je=class t{static{s(this,"ParseError")}constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n="KaTeX parse error: "+e,i,a,o=r&&r.loc;if(o&&o.start<=o.end){var l=o.lexer.input;i=o.start,a=o.end,i===l.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var u=l.slice(i,a).replace(/[^]/g,"$&\u0332"),h;i>15?h="\u2026"+l.slice(i-15,i):h=l.slice(0,i);var f;a+15":">","<":"<",'"':""","'":"'"},pye=/[&><"']/g;s(mye,"escape");iz=s(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),gye=s(function(e){var r=iz(e);return r.type==="mathord"||r.type==="textord"||r.type==="atom"},"isCharacterBox"),yye=s(function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},"assert"),vye=s(function(e){var r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return r?r[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?null:r[1].toLowerCase():"_relative"},"protocolFromUrl"),Mt={contains:cye,deflt:uye,escape:mye,hyphenate:fye,getBaseElem:iz,isCharacterBox:gye,protocolFromUrl:vye},Ib={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:s(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:s((t,e)=>(e.push(t),e),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:s(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:s(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:s(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:s(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};s(xye,"getDefaultValue");F1=class{static{s(this,"Settings")}constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in Ib)if(Ib.hasOwnProperty(r)){var n=Ib[r];this[r]=e[r]!==void 0?n.processor?n.processor(e[r]):e[r]:xye(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new je("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var r=Mt.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}},Bl=class{static{s(this,"Style")}constructor(e,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=n}sup(){return Fl[bye[this.id]]}sub(){return Fl[kye[this.id]]}fracNum(){return Fl[wye[this.id]]}fracDen(){return Fl[Tye[this.id]]}cramp(){return Fl[Eye[this.id]]}text(){return Fl[Cye[this.id]]}isTight(){return this.size>=2}},VE=0,Ob=1,ep=2,jc=3,z1=4,mo=5,tp=6,za=7,Fl=[new Bl(VE,0,!1),new Bl(Ob,0,!0),new Bl(ep,1,!1),new Bl(jc,1,!0),new Bl(z1,2,!1),new Bl(mo,2,!0),new Bl(tp,3,!1),new Bl(za,3,!0)],bye=[z1,mo,z1,mo,tp,za,tp,za],kye=[mo,mo,mo,mo,za,za,za,za],wye=[ep,jc,z1,mo,tp,za,tp,za],Tye=[jc,jc,mo,mo,za,za,za,za],Eye=[Ob,Ob,jc,jc,mo,mo,za,za],Cye=[VE,Ob,ep,jc,ep,jc,ep,jc],Nt={DISPLAY:Fl[VE],TEXT:Fl[ep],SCRIPT:Fl[z1],SCRIPTSCRIPT:Fl[tp]},DE=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];s(Sye,"scriptFromCodepoint");Nb=[];DE.forEach(t=>t.blocks.forEach(e=>Nb.push(...e)));s(az,"supportedCodepoint");J0=80,_ye=s(function(e,r){return"M95,"+(622+e+r)+` +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l`+e/2.075+" -"+e+` +c5.3,-9.3,12,-14,20,-14 +H400000v`+(40+e)+`H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtMain"),Aye=s(function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l`+e/2.084+" -"+e+` +c4.7,-7.3,11,-11,19,-11 +H40000v`+(40+e)+`H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize1"),Lye=s(function(e,r){return"M983 "+(10+e+r)+` +l`+e/3.13+" -"+e+` +c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize2"),Dye=s(function(e,r){return"M424,"+(2398+e+r)+` +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000 +v`+(40+e)+`H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+` +h400000v`+(40+e)+"h-400000z"},"sqrtSize3"),Rye=s(function(e,r){return"M473,"+(2713+e+r)+` +c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` +c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},"sqrtSize4"),Mye=s(function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},"phasePath"),Iye=s(function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` +H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},"sqrtTall"),Nye=s(function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=_ye(r,J0);break;case"sqrtSize1":i=Aye(r,J0);break;case"sqrtSize2":i=Lye(r,J0);break;case"sqrtSize3":i=Dye(r,J0);break;case"sqrtSize4":i=Rye(r,J0);break;case"sqrtTall":i=Iye(r,J0,n)}return i},"sqrtPath"),Oye=s(function(e,r){switch(e){case"\u239C":return"M291 0 H417 V"+r+" H291z M291 0 H417 V"+r+" H291z";case"\u2223":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z";case"\u2225":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z"+("M367 0 H410 V"+r+" H367z M367 0 H410 V"+r+" H367z");case"\u239F":return"M457 0 H583 V"+r+" H457z M457 0 H583 V"+r+" H457z";case"\u23A2":return"M319 0 H403 V"+r+" H319z M319 0 H403 V"+r+" H319z";case"\u23A5":return"M263 0 H347 V"+r+" H263z M263 0 H347 V"+r+" H263z";case"\u23AA":return"M384 0 H504 V"+r+" H384z M384 0 H504 V"+r+" H384z";case"\u23D0":return"M312 0 H355 V"+r+" H312z M312 0 H355 V"+r+" H312z";case"\u2016":return"M257 0 H300 V"+r+" H257z M257 0 H300 V"+r+" H257z"+("M478 0 H521 V"+r+" H478z M478 0 H521 V"+r+" H478z");default:return""}},"innerPath"),_F={doubleleftarrow:`M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`,leftgroupunder:`M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},Pye=s(function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+" v585 h43z";case"doublevert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+` v585 h43z +M367 15 v585 v`+r+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+r+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+r+` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+r+` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v602 h84z +M403 1759 V0 H319 V1759 v`+r+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v602 h84z +M347 1759 V0 h-84 V1759 v`+r+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,`+(r+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-`+(r+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(r+9)+` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),Pf=class{static{s(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return Mt.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText(),"toText");return this.children.map(e).join("")}},zl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},wb={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},AF={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};s(Bye,"setFontMetrics");s(UE,"getCharacterMetrics");vE={};s(Fye,"getGlobalMetrics");zye=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],LF=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],DF=s(function(e,r){return r.size<2?e:zye[e-1][r.size-1]},"sizeAtStyle"),Pb=class t{static{s(this,"Options")}constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=LF[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return new t(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:DF(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:LF[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=DF(t.BASESIZE,e);return this.size===r&&this.textSize===t.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=Fye(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};Pb.BASESIZE=6;RE={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},$ye={ex:!0,em:!0,mu:!0},sz=s(function(e){return typeof e!="string"&&(e=e.unit),e in RE||e in $ye||e==="ex"},"validUnit"),Bn=s(function(e,r){var n;if(e.unit in RE)n=RE[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new je("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},"calculateSize"),tt=s(function(e){return+e.toFixed(4)+"em"},"makeEm"),oh=s(function(e){return e.filter(r=>r).join(" ")},"createClass"),oz=s(function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},"initNode"),lz=s(function(e){var r=document.createElement(e);r.className=oh(this.classes);for(var n in this.style)this.style.hasOwnProperty(n)&&(r.style[n]=this.style[n]);for(var i in this.attributes)this.attributes.hasOwnProperty(i)&&r.setAttribute(i,this.attributes[i]);for(var a=0;a",r},"toMarkup"),Bf=class{static{s(this,"Span")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,oz.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return Mt.contains(this.classes,e)}toNode(){return lz.call(this,"span")}toMarkup(){return cz.call(this,"span")}},$1=class{static{s(this,"Anchor")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,oz.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return Mt.contains(this.classes,e)}toNode(){return lz.call(this,"a")}toMarkup(){return cz.call(this,"a")}},ME=class{static{s(this,"Img")}constructor(e,r,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=r,this.src=e,this.classes=["mord"],this.style=n}hasClass(e){return Mt.contains(this.classes,e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r in this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);return e}toMarkup(){var e=''+Mt.escape(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=tt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=oh(this.classes));for(var n in this.style)this.style.hasOwnProperty(n)&&(r=r||document.createElement("span"),r.style[n]=this.style[n]);return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+this.italic+"em;");for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=Mt.hyphenate(i)+":"+this.style[i]+";");n&&(e=!0,r+=' style="'+Mt.escape(n)+'"');var a=Mt.escape(this.text);return e?(r+=">",r+=a,r+="",r):a}},Xo=class{static{s(this,"SvgNode")}constructor(e,r){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}},G1=class{static{s(this,"LineNode")}constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e="","\\gt",!0);B(G,Y,ve,"\u2208","\\in",!0);B(G,Y,ve,"\uE020","\\@not");B(G,Y,ve,"\u2282","\\subset",!0);B(G,Y,ve,"\u2283","\\supset",!0);B(G,Y,ve,"\u2286","\\subseteq",!0);B(G,Y,ve,"\u2287","\\supseteq",!0);B(G,ge,ve,"\u2288","\\nsubseteq",!0);B(G,ge,ve,"\u2289","\\nsupseteq",!0);B(G,Y,ve,"\u22A8","\\models");B(G,Y,ve,"\u2190","\\leftarrow",!0);B(G,Y,ve,"\u2264","\\le");B(G,Y,ve,"\u2264","\\leq",!0);B(G,Y,ve,"<","\\lt",!0);B(G,Y,ve,"\u2192","\\rightarrow",!0);B(G,Y,ve,"\u2192","\\to");B(G,ge,ve,"\u2271","\\ngeq",!0);B(G,ge,ve,"\u2270","\\nleq",!0);B(G,Y,Jc,"\xA0","\\ ");B(G,Y,Jc,"\xA0","\\space");B(G,Y,Jc,"\xA0","\\nobreakspace");B(Ye,Y,Jc,"\xA0","\\ ");B(Ye,Y,Jc,"\xA0"," ");B(Ye,Y,Jc,"\xA0","\\space");B(Ye,Y,Jc,"\xA0","\\nobreakspace");B(G,Y,Jc,null,"\\nobreak");B(G,Y,Jc,null,"\\allowbreak");B(G,Y,Ub,",",",");B(G,Y,Ub,";",";");B(G,ge,lt,"\u22BC","\\barwedge",!0);B(G,ge,lt,"\u22BB","\\veebar",!0);B(G,Y,lt,"\u2299","\\odot",!0);B(G,Y,lt,"\u2295","\\oplus",!0);B(G,Y,lt,"\u2297","\\otimes",!0);B(G,Y,ke,"\u2202","\\partial",!0);B(G,Y,lt,"\u2298","\\oslash",!0);B(G,ge,lt,"\u229A","\\circledcirc",!0);B(G,ge,lt,"\u22A1","\\boxdot",!0);B(G,Y,lt,"\u25B3","\\bigtriangleup");B(G,Y,lt,"\u25BD","\\bigtriangledown");B(G,Y,lt,"\u2020","\\dagger");B(G,Y,lt,"\u22C4","\\diamond");B(G,Y,lt,"\u22C6","\\star");B(G,Y,lt,"\u25C3","\\triangleleft");B(G,Y,lt,"\u25B9","\\triangleright");B(G,Y,Gs,"{","\\{");B(Ye,Y,ke,"{","\\{");B(Ye,Y,ke,"{","\\textbraceleft");B(G,Y,$a,"}","\\}");B(Ye,Y,ke,"}","\\}");B(Ye,Y,ke,"}","\\textbraceright");B(G,Y,Gs,"{","\\lbrace");B(G,Y,$a,"}","\\rbrace");B(G,Y,Gs,"[","\\lbrack",!0);B(Ye,Y,ke,"[","\\lbrack",!0);B(G,Y,$a,"]","\\rbrack",!0);B(Ye,Y,ke,"]","\\rbrack",!0);B(G,Y,Gs,"(","\\lparen",!0);B(G,Y,$a,")","\\rparen",!0);B(Ye,Y,ke,"<","\\textless",!0);B(Ye,Y,ke,">","\\textgreater",!0);B(G,Y,Gs,"\u230A","\\lfloor",!0);B(G,Y,$a,"\u230B","\\rfloor",!0);B(G,Y,Gs,"\u2308","\\lceil",!0);B(G,Y,$a,"\u2309","\\rceil",!0);B(G,Y,ke,"\\","\\backslash");B(G,Y,ke,"\u2223","|");B(G,Y,ke,"\u2223","\\vert");B(Ye,Y,ke,"|","\\textbar",!0);B(G,Y,ke,"\u2225","\\|");B(G,Y,ke,"\u2225","\\Vert");B(Ye,Y,ke,"\u2225","\\textbardbl");B(Ye,Y,ke,"~","\\textasciitilde");B(Ye,Y,ke,"\\","\\textbackslash");B(Ye,Y,ke,"^","\\textasciicircum");B(G,Y,ve,"\u2191","\\uparrow",!0);B(G,Y,ve,"\u21D1","\\Uparrow",!0);B(G,Y,ve,"\u2193","\\downarrow",!0);B(G,Y,ve,"\u21D3","\\Downarrow",!0);B(G,Y,ve,"\u2195","\\updownarrow",!0);B(G,Y,ve,"\u21D5","\\Updownarrow",!0);B(G,Y,hi,"\u2210","\\coprod");B(G,Y,hi,"\u22C1","\\bigvee");B(G,Y,hi,"\u22C0","\\bigwedge");B(G,Y,hi,"\u2A04","\\biguplus");B(G,Y,hi,"\u22C2","\\bigcap");B(G,Y,hi,"\u22C3","\\bigcup");B(G,Y,hi,"\u222B","\\int");B(G,Y,hi,"\u222B","\\intop");B(G,Y,hi,"\u222C","\\iint");B(G,Y,hi,"\u222D","\\iiint");B(G,Y,hi,"\u220F","\\prod");B(G,Y,hi,"\u2211","\\sum");B(G,Y,hi,"\u2A02","\\bigotimes");B(G,Y,hi,"\u2A01","\\bigoplus");B(G,Y,hi,"\u2A00","\\bigodot");B(G,Y,hi,"\u222E","\\oint");B(G,Y,hi,"\u222F","\\oiint");B(G,Y,hi,"\u2230","\\oiiint");B(G,Y,hi,"\u2A06","\\bigsqcup");B(G,Y,hi,"\u222B","\\smallint");B(Ye,Y,rp,"\u2026","\\textellipsis");B(G,Y,rp,"\u2026","\\mathellipsis");B(Ye,Y,rp,"\u2026","\\ldots",!0);B(G,Y,rp,"\u2026","\\ldots",!0);B(G,Y,rp,"\u22EF","\\@cdots",!0);B(G,Y,rp,"\u22F1","\\ddots",!0);B(G,Y,ke,"\u22EE","\\varvdots");B(G,Y,Ln,"\u02CA","\\acute");B(G,Y,Ln,"\u02CB","\\grave");B(G,Y,Ln,"\xA8","\\ddot");B(G,Y,Ln,"~","\\tilde");B(G,Y,Ln,"\u02C9","\\bar");B(G,Y,Ln,"\u02D8","\\breve");B(G,Y,Ln,"\u02C7","\\check");B(G,Y,Ln,"^","\\hat");B(G,Y,Ln,"\u20D7","\\vec");B(G,Y,Ln,"\u02D9","\\dot");B(G,Y,Ln,"\u02DA","\\mathring");B(G,Y,It,"\uE131","\\@imath");B(G,Y,It,"\uE237","\\@jmath");B(G,Y,ke,"\u0131","\u0131");B(G,Y,ke,"\u0237","\u0237");B(Ye,Y,ke,"\u0131","\\i",!0);B(Ye,Y,ke,"\u0237","\\j",!0);B(Ye,Y,ke,"\xDF","\\ss",!0);B(Ye,Y,ke,"\xE6","\\ae",!0);B(Ye,Y,ke,"\u0153","\\oe",!0);B(Ye,Y,ke,"\xF8","\\o",!0);B(Ye,Y,ke,"\xC6","\\AE",!0);B(Ye,Y,ke,"\u0152","\\OE",!0);B(Ye,Y,ke,"\xD8","\\O",!0);B(Ye,Y,Ln,"\u02CA","\\'");B(Ye,Y,Ln,"\u02CB","\\`");B(Ye,Y,Ln,"\u02C6","\\^");B(Ye,Y,Ln,"\u02DC","\\~");B(Ye,Y,Ln,"\u02C9","\\=");B(Ye,Y,Ln,"\u02D8","\\u");B(Ye,Y,Ln,"\u02D9","\\.");B(Ye,Y,Ln,"\xB8","\\c");B(Ye,Y,Ln,"\u02DA","\\r");B(Ye,Y,Ln,"\u02C7","\\v");B(Ye,Y,Ln,"\xA8",'\\"');B(Ye,Y,Ln,"\u02DD","\\H");B(Ye,Y,Ln,"\u25EF","\\textcircled");uz={"--":!0,"---":!0,"``":!0,"''":!0};B(Ye,Y,ke,"\u2013","--",!0);B(Ye,Y,ke,"\u2013","\\textendash");B(Ye,Y,ke,"\u2014","---",!0);B(Ye,Y,ke,"\u2014","\\textemdash");B(Ye,Y,ke,"\u2018","`",!0);B(Ye,Y,ke,"\u2018","\\textquoteleft");B(Ye,Y,ke,"\u2019","'",!0);B(Ye,Y,ke,"\u2019","\\textquoteright");B(Ye,Y,ke,"\u201C","``",!0);B(Ye,Y,ke,"\u201C","\\textquotedblleft");B(Ye,Y,ke,"\u201D","''",!0);B(Ye,Y,ke,"\u201D","\\textquotedblright");B(G,Y,ke,"\xB0","\\degree",!0);B(Ye,Y,ke,"\xB0","\\degree");B(Ye,Y,ke,"\xB0","\\textdegree",!0);B(G,Y,ke,"\xA3","\\pounds");B(G,Y,ke,"\xA3","\\mathsterling",!0);B(Ye,Y,ke,"\xA3","\\pounds");B(Ye,Y,ke,"\xA3","\\textsterling",!0);B(G,ge,ke,"\u2720","\\maltese");B(Ye,ge,ke,"\u2720","\\maltese");MF='0123456789/@."';for(Tb=0;Tb0)return Yo(a,h,i,r,o.concat(f));if(u){var d,p;if(u==="boldsymbol"){var m=Yye(a,i,r,o,n);d=m.fontName,p=[m.fontClass]}else l?(d=dz[u].fontName,p=[u]):(d=Ab(u,r.fontWeight,r.fontShape),p=[u,r.fontWeight,r.fontShape]);if(qb(a,d,i).metrics)return Yo(a,d,i,r,o.concat(p));if(uz.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var g=[],y=0;y{if(oh(t.classes)!==oh(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n in t.style)if(t.style.hasOwnProperty(n)&&t.style[n]!==e.style[n])return!1;for(var i in e.style)if(e.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;return!0},"canCombine"),Kye=s(t=>{for(var e=0;er&&(r=o.height),o.depth>n&&(n=o.depth),o.maxFontSize>i&&(i=o.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},"sizeElementFromChildren"),ss=s(function(e,r,n,i){var a=new Bf(e,r,n,i);return qE(a),a},"makeSpan"),hz=s((t,e,r,n)=>new Bf(t,e,r,n),"makeSvgSpan"),Qye=s(function(e,r,n){var i=ss([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=tt(i.height),i.maxFontSize=1,i},"makeLineSpan"),Zye=s(function(e,r,n,i){var a=new $1(e,r,n,i);return qE(a),a},"makeAnchor"),fz=s(function(e){var r=new Pf(e);return qE(r),r},"makeFragment"),Jye=s(function(e,r){return e instanceof Pf?ss([],[e],r):e},"wrapFragment"),eve=s(function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,o=1;o{var r=ss(["mspace"],[],e),n=Bn(t,e);return r.style.marginRight=tt(n),r},"makeGlue"),Ab=s(function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},"retrieveTextFontName"),dz={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},pz={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},nve=s(function(e,r){var[n,i,a]=pz[e],o=new $l(n),l=new Xo([o],{width:tt(i),height:tt(a),style:"width:"+tt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),u=hz(["overlay"],[l],r);return u.height=a,u.style.height=tt(a),u.style.width=tt(i),u},"staticSvg"),Ae={fontMap:dz,makeSymbol:Yo,mathsym:Hye,makeSpan:ss,makeSvgSpan:hz,makeLineSpan:Qye,makeAnchor:Zye,makeFragment:fz,wrapFragment:Jye,makeVList:tve,makeOrd:Xye,makeGlue:rve,staticSvg:nve,svgData:pz,tryCombineChars:Kye},Pn={number:3,unit:"mu"},Nf={number:4,unit:"mu"},Xc={number:5,unit:"mu"},ive={mord:{mop:Pn,mbin:Nf,mrel:Xc,minner:Pn},mop:{mord:Pn,mop:Pn,mrel:Xc,minner:Pn},mbin:{mord:Nf,mop:Nf,mopen:Nf,minner:Nf},mrel:{mord:Xc,mop:Xc,mopen:Xc,minner:Xc},mopen:{},mclose:{mop:Pn,mbin:Nf,mrel:Xc,minner:Pn},mpunct:{mord:Pn,mop:Pn,mrel:Xc,mopen:Pn,mclose:Pn,mpunct:Pn,minner:Pn},minner:{mord:Pn,mop:Pn,mbin:Nf,mrel:Xc,mopen:Pn,mpunct:Pn,minner:Pn}},ave={mord:{mop:Pn},mop:{mord:Pn,mop:Pn},mbin:{},mrel:{},mopen:{},mclose:{mop:Pn},mpunct:{},minner:{mop:Pn}},mz={},Fb={},zb={};s(st,"defineFunction");s(Ff,"defineFunctionBuilders");$b=s(function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},"normalizeArgument"),ni=s(function(e){return e.type==="ordgroup"?e.body:[e]},"ordargument"),Qc=Ae.makeSpan,sve=["leftmost","mbin","mopen","mrel","mop","mpunct"],ove=["rightmost","mrel","mclose","mpunct"],lve={display:Nt.DISPLAY,text:Nt.TEXT,script:Nt.SCRIPT,scriptscript:Nt.SCRIPTSCRIPT},cve={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},Ti=s(function(e,r,n,i){i===void 0&&(i=[null,null]);for(var a=[],o=0;o{var v=y.classes[0],x=g.classes[0];v==="mbin"&&Mt.contains(ove,x)?y.classes[0]="mord":x==="mbin"&&Mt.contains(sve,v)&&(g.classes[0]="mord")},{node:d},p,m),OF(a,(g,y)=>{var v=NE(y),x=NE(g),b=v&&x?g.hasClass("mtight")?ave[v][x]:ive[v][x]:null;if(b)return Ae.makeGlue(b,h)},{node:d},p,m),a},"buildExpression"),OF=s(function t(e,r,n,i,a){i&&e.push(i);for(var o=0;op=>{e.splice(d+1,0,p),o++})(o)}i&&e.pop()},"traverseNonSpaceNodes"),gz=s(function(e){return e instanceof Pf||e instanceof $1||e instanceof Bf&&e.hasClass("enclosing")?e:null},"checkPartialGroup"),uve=s(function t(e,r){var n=gz(e);if(n){var i=n.children;if(i.length){if(r==="right")return t(i[i.length-1],"right");if(r==="left")return t(i[0],"left")}}return e},"getOutermostNode"),NE=s(function(e,r){return e?(r&&(e=uve(e,r)),cve[e.classes[0]]||null):null},"getTypeOfDomTree"),V1=s(function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Qc(r.concat(n))},"makeNullDelimiter"),vr=s(function(e,r,n){if(!e)return Qc();if(Fb[e.type]){var i=Fb[e.type](e,r);if(n&&r.size!==n.size){i=Qc(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new je("Got group of unknown type: '"+e.type+"'")},"buildGroup");s(Lb,"buildHTMLUnbreakable");s(OE,"buildHTML");s(yz,"newDocumentFragment");os=class{static{s(this,"MathNode")}constructor(e,r,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=oh(this.classes));for(var n=0;n0&&(e+=' class ="'+Mt.escape(oh(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}},Of=class{static{s(this,"TextNode")}constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Mt.escape(this.toText())}toText(){return this.text}},PE=class{static{s(this,"SpaceNode")}constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",tt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},Xe={MathNode:os,TextNode:Of,SpaceNode:PE,newDocumentFragment:yz},yo=s(function(e,r,n){return dn[r][e]&&dn[r][e].replace&&e.charCodeAt(0)!==55349&&!(uz.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=dn[r][e].replace),new Xe.TextNode(e)},"makeText"),WE=s(function(e){return e.length===1?e[0]:new Xe.MathNode("mrow",e)},"makeRow"),HE=s(function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(Mt.contains(["\\imath","\\jmath"],a))return null;dn[i][a]&&dn[i][a].replace&&(a=dn[i][a].replace);var o=Ae.fontMap[n].fontName;return UE(a,o,i)?Ae.fontMap[n].variant:null},"getVariant"),cs=s(function(e,r,n){if(e.length===1){var i=nn(e[0],r);return n&&i instanceof os&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],o,l=0;l0&&(d.text=d.text.slice(0,1)+"\u0338"+d.text.slice(1),a.pop())}}}a.push(u),o=u}return a},"buildExpression"),lh=s(function(e,r,n){return WE(cs(e,r,n))},"buildExpressionRow"),nn=s(function(e,r){if(!e)return new Xe.MathNode("mrow");if(zb[e.type]){var n=zb[e.type](e,r);return n}else throw new je("Got group of unknown type: '"+e.type+"'")},"buildGroup");s(PF,"buildMathML");vz=s(function(e){return new Pb({style:e.displayMode?Nt.DISPLAY:Nt.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},"optionsFromSettings"),xz=s(function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Ae.makeSpan(n,[e])}return e},"displayWrap"),hve=s(function(e,r,n){var i=vz(n),a;if(n.output==="mathml")return PF(e,r,i,n.displayMode,!0);if(n.output==="html"){var o=OE(e,i);a=Ae.makeSpan(["katex"],[o])}else{var l=PF(e,r,i,n.displayMode,!1),u=OE(e,i);a=Ae.makeSpan(["katex"],[l,u])}return xz(a,n)},"buildTree"),fve=s(function(e,r,n){var i=vz(n),a=OE(e,i),o=Ae.makeSpan(["katex"],[a]);return xz(o,n)},"buildHTMLTree"),dve={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},pve=s(function(e){var r=new Xe.MathNode("mo",[new Xe.TextNode(dve[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},"mathMLnode"),mve={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},gve=s(function(e){return e.type==="ordgroup"?e.body.length:1},"groupLength"),yve=s(function(e,r){function n(){var l=4e5,u=e.label.slice(1);if(Mt.contains(["widehat","widecheck","widetilde","utilde"],u)){var h=e,f=gve(h.base),d,p,m;if(f>5)u==="widehat"||u==="widecheck"?(d=420,l=2364,m=.42,p=u+"4"):(d=312,l=2340,m=.34,p="tilde4");else{var g=[1,1,2,2,3,3][f];u==="widehat"||u==="widecheck"?(l=[0,1062,2364,2364,2364][g],d=[0,239,300,360,420][g],m=[0,.24,.3,.3,.36,.42][g],p=u+g):(l=[0,600,1033,2339,2340][g],d=[0,260,286,306,312][g],m=[0,.26,.286,.3,.306,.34][g],p="tilde"+g)}var y=new $l(p),v=new Xo([y],{width:"100%",height:tt(m),viewBox:"0 0 "+l+" "+d,preserveAspectRatio:"none"});return{span:Ae.makeSvgSpan([],[v],r),minWidth:0,height:m}}else{var x=[],b=mve[u],[k,A,w]=b,T=w/1e3,C=k.length,E,S;if(C===1){var R=b[3];E=["hide-tail"],S=[R]}else if(C===2)E=["halfarrow-left","halfarrow-right"],S=["xMinYMin","xMaxYMin"];else if(C===3)E=["brace-left","brace-center","brace-right"],S=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+C+" children.");for(var D=0;D0&&(i.style.minWidth=tt(a)),i},"svgSpan"),vve=s(function(e,r,n,i,a){var o,l=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(o=Ae.makeSpan(["stretchy",r],[],a),r==="fbox"){var u=a.color&&a.getColor();u&&(o.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(r)&&h.push(new G1({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&h.push(new G1({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new Xo(h,{width:"100%",height:tt(l)});o=Ae.makeSvgSpan([],[f],a)}return o.height=l,o.style.height=tt(l),o},"encloseSpan"),Zc={encloseSpan:vve,mathMLnode:pve,svgSpan:yve};s(Jt,"assertNodeType");s(YE,"assertSymbolNodeType");s(Wb,"checkSymbolNodeType");XE=s((t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Jt(t.base,"accent"),r=n.base,t.base=r,i=Vye(vr(t,e)),t.base=n):(n=Jt(t,"accent"),r=n.base);var a=vr(r,e.havingCrampedStyle()),o=n.isShifty&&Mt.isCharacterBox(r),l=0;if(o){var u=Mt.getBaseElem(r),h=vr(u,e.havingCrampedStyle());l=RF(h).skew}var f=n.label==="\\c",d=f?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),p;if(n.isStretchy)p=Zc.svgSpan(n,e),p=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:l>0?{width:"calc(100% - "+tt(2*l)+")",marginLeft:tt(2*l)}:void 0}]},e);else{var m,g;n.label==="\\vec"?(m=Ae.staticSvg("vec",e),g=Ae.svgData.vec[1]):(m=Ae.makeOrd({mode:n.mode,text:n.label},e,"textord"),m=RF(m),m.italic=0,g=m.width,f&&(d+=m.depth)),p=Ae.makeSpan(["accent-body"],[m]);var y=n.label==="\\textcircled";y&&(p.classes.push("accent-full"),d=a.height);var v=l;y||(v-=g/2),p.style.left=tt(v),n.label==="\\textcircled"&&(p.style.top=".2em"),p=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:p}]},e)}var x=Ae.makeSpan(["mord","accent"],[p],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},"htmlBuilder$a"),bz=s((t,e)=>{var r=t.isStretchy?Zc.mathMLnode(t.label):new Xe.MathNode("mo",[yo(t.label,t.mode)]),n=new Xe.MathNode("mover",[nn(t.base,e),r]);return n.setAttribute("accent","true"),n},"mathmlBuilder$9"),xve=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));st({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:s((t,e)=>{var r=$b(e[0]),n=!xve.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},"handler"),htmlBuilder:XE,mathmlBuilder:bz});st({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:s((t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},"handler"),htmlBuilder:XE,mathmlBuilder:bz});st({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},"handler"),htmlBuilder:s((t,e)=>{var r=vr(t.base,e),n=Zc.svgSpan(t,e),i=t.label==="\\utilde"?.12:0,a=Ae.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]},e);return Ae.makeSpan(["mord","accentunder"],[a],e)},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=Zc.mathMLnode(t.label),n=new Xe.MathNode("munder",[nn(t.base,e),r]);return n.setAttribute("accentunder","true"),n},"mathmlBuilder")});Db=s(t=>{var e=new Xe.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode");st({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=Ae.wrapFragment(vr(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var o;t.below&&(n=e.havingStyle(r.sub()),o=Ae.wrapFragment(vr(t.below,n,e),e),o.classes.push(a+"-arrow-pad"));var l=Zc.svgSpan(t,e),u=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(h-=i.depth);var f;if(o){var d=-e.fontMetrics().axisHeight+o.height+.5*l.height+.111;f=Ae.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u},{type:"elem",elem:o,shift:d}]},e)}else f=Ae.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),Ae.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(t,e){var r=Zc.mathMLnode(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=Db(nn(t.body,e));if(t.below){var a=Db(nn(t.below,e));n=new Xe.MathNode("munderover",[r,a,i])}else n=new Xe.MathNode("mover",[r,i])}else if(t.below){var o=Db(nn(t.below,e));n=new Xe.MathNode("munder",[r,o])}else n=Db(),n=new Xe.MathNode("mover",[r,n]);return n}});bve=Ae.makeSpan;s(kz,"htmlBuilder$9");s(wz,"mathmlBuilder$8");st({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:ni(i),isCharacterBox:Mt.isCharacterBox(i)}},htmlBuilder:kz,mathmlBuilder:wz});Hb=s(t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"},"binrelClass");st({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:Hb(e[0]),body:ni(e[1]),isCharacterBox:Mt.isCharacterBox(e[1])}}});st({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],o;n!=="\\stackrel"?o=Hb(i):o="mrel";var l={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:ni(i)},u={type:"supsub",mode:a.mode,base:l,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:o,body:[u],isCharacterBox:Mt.isCharacterBox(u)}},htmlBuilder:kz,mathmlBuilder:wz});st({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:Hb(e[0]),body:ni(e[0])}},htmlBuilder(t,e){var r=Ti(t.body,e,!0),n=Ae.makeSpan([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=cs(t.body,e),n=new Xe.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});kve={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},BF=s(()=>({type:"styling",body:[],mode:"math",style:"display"}),"newCell"),FF=s(t=>t.type==="textord"&&t.text==="@","isStartOfArrow"),wve=s((t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e,"isLabelEnd");s(Tve,"cdArrow");s(Eve,"parseCD");st({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=Ae.wrapFragment(vr(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=tt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Xe.MathNode("mrow",[nn(t.label,e)]);return r=new Xe.MathNode("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Xe.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});st({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=Ae.wrapFragment(vr(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Xe.MathNode("mrow",[nn(t.fragment,e)])}});st({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Jt(e[0],"ordgroup"),i=n.body,a="",o=0;o=1114111)throw new je("\\@char with invalid code point "+a);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:r.mode,text:h}}});Tz=s((t,e)=>{var r=Ti(t.body,e.withColor(t.color),!1);return Ae.makeFragment(r)},"htmlBuilder$8"),Ez=s((t,e)=>{var r=cs(t.body,e.withColor(t.color)),n=new Xe.MathNode("mstyle",r);return n.setAttribute("mathcolor",t.color),n},"mathmlBuilder$7");st({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Jt(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:ni(i)}},htmlBuilder:Tz,mathmlBuilder:Ez});st({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Jt(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Tz,mathmlBuilder:Ez});st({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Jt(i,"size").value}},htmlBuilder(t,e){var r=Ae.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=tt(Bn(t.size,e)))),r},mathmlBuilder(t,e){var r=new Xe.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",tt(Bn(t.size,e)))),r}});BE={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Cz=s(t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new je("Expected a control sequence",t);return e},"checkControlSequence"),Cve=s(t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},"getRHS"),Sz=s((t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)},"letCommand");st({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(BE[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=BE[n.text]),Jt(e.parseFunction(),"internal");throw new je("Invalid token after macro prefix",n)}});st({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new je("Expected a control sequence",n);for(var a=0,o,l=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){o=e.gullet.future(),l[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new je('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new je('Argument number "'+n.text+'" out of order');a++,l.push([])}else{if(n.text==="EOF")throw new je("Expected a macro definition");l[a].push(n.text)}var{tokens:u}=e.gullet.consumeArg();return o&&u.unshift(o),(r==="\\edef"||r==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(i,{tokens:u,numArgs:a,delimiters:l},r===BE[r]),{type:"internal",mode:e.mode}}});st({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Cz(e.gullet.popToken());e.gullet.consumeSpaces();var i=Cve(e);return Sz(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});st({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Cz(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return Sz(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});P1=s(function(e,r,n){var i=dn.math[e]&&dn.math[e].replace,a=UE(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},"getMetrics"),jE=s(function(e,r,n,i){var a=n.havingBaseStyle(r),o=Ae.makeSpan(i.concat(a.sizingClasses(n)),[e],n),l=a.sizeMultiplier/n.sizeMultiplier;return o.height*=l,o.depth*=l,o.maxFontSize=a.sizeMultiplier,o},"styleWrap"),_z=s(function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=tt(a),e.height-=a,e.depth+=a},"centerSpan"),Sve=s(function(e,r,n,i,a,o){var l=Ae.makeSymbol(e,"Main-Regular",a,i),u=jE(l,r,i,o);return n&&_z(u,i,r),u},"makeSmallDelim"),_ve=s(function(e,r,n,i){return Ae.makeSymbol(e,"Size"+r+"-Regular",n,i)},"mathrmSize"),Az=s(function(e,r,n,i,a,o){var l=_ve(e,r,a,i),u=jE(Ae.makeSpan(["delimsizing","size"+r],[l],i),Nt.TEXT,i,o);return n&&_z(u,i,Nt.TEXT),u},"makeLargeDelim"),kE=s(function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Ae.makeSpan(["delimsizinginner",i],[Ae.makeSpan([],[Ae.makeSymbol(e,r,n)])]);return{type:"elem",elem:a}},"makeGlyphSpan"),wE=s(function(e,r,n){var i=zl["Size4-Regular"][e.charCodeAt(0)]?zl["Size4-Regular"][e.charCodeAt(0)][4]:zl["Size1-Regular"][e.charCodeAt(0)][4],a=new $l("inner",Oye(e,Math.round(1e3*r))),o=new Xo([a],{width:tt(i),height:tt(r),style:"width:"+tt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),l=Ae.makeSvgSpan([],[o],n);return l.height=r,l.style.height=tt(r),l.style.width=tt(i),{type:"elem",elem:l}},"makeInner"),FE=.008,Rb={type:"kern",size:-1*FE},Ave=["|","\\lvert","\\rvert","\\vert"],Lve=["\\|","\\lVert","\\rVert","\\Vert"],Lz=s(function(e,r,n,i,a,o){var l,u,h,f,d="",p=0;l=h=f=e,u=null;var m="Size1-Regular";e==="\\uparrow"?h=f="\u23D0":e==="\\Uparrow"?h=f="\u2016":e==="\\downarrow"?l=h="\u23D0":e==="\\Downarrow"?l=h="\u2016":e==="\\updownarrow"?(l="\\uparrow",h="\u23D0",f="\\downarrow"):e==="\\Updownarrow"?(l="\\Uparrow",h="\u2016",f="\\Downarrow"):Mt.contains(Ave,e)?(h="\u2223",d="vert",p=333):Mt.contains(Lve,e)?(h="\u2225",d="doublevert",p=556):e==="["||e==="\\lbrack"?(l="\u23A1",h="\u23A2",f="\u23A3",m="Size4-Regular",d="lbrack",p=667):e==="]"||e==="\\rbrack"?(l="\u23A4",h="\u23A5",f="\u23A6",m="Size4-Regular",d="rbrack",p=667):e==="\\lfloor"||e==="\u230A"?(h=l="\u23A2",f="\u23A3",m="Size4-Regular",d="lfloor",p=667):e==="\\lceil"||e==="\u2308"?(l="\u23A1",h=f="\u23A2",m="Size4-Regular",d="lceil",p=667):e==="\\rfloor"||e==="\u230B"?(h=l="\u23A5",f="\u23A6",m="Size4-Regular",d="rfloor",p=667):e==="\\rceil"||e==="\u2309"?(l="\u23A4",h=f="\u23A5",m="Size4-Regular",d="rceil",p=667):e==="("||e==="\\lparen"?(l="\u239B",h="\u239C",f="\u239D",m="Size4-Regular",d="lparen",p=875):e===")"||e==="\\rparen"?(l="\u239E",h="\u239F",f="\u23A0",m="Size4-Regular",d="rparen",p=875):e==="\\{"||e==="\\lbrace"?(l="\u23A7",u="\u23A8",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(l="\u23AB",u="\u23AC",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(l="\u23A7",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(l="\u23AB",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(l="\u23A7",f="\u23AD",h="\u23AA",m="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(l="\u23AB",f="\u23A9",h="\u23AA",m="Size4-Regular");var g=P1(l,m,a),y=g.height+g.depth,v=P1(h,m,a),x=v.height+v.depth,b=P1(f,m,a),k=b.height+b.depth,A=0,w=1;if(u!==null){var T=P1(u,m,a);A=T.height+T.depth,w=2}var C=y+k+A,E=Math.max(0,Math.ceil((r-C)/(w*x))),S=C+E*w*x,R=i.fontMetrics().axisHeight;n&&(R*=i.sizeMultiplier);var D=S/2-R,L=[];if(d.length>0){var P=S-y-k,M=Math.round(S*1e3),F=Pye(d,Math.round(P*1e3)),I=new $l(d,F),O=(p/1e3).toFixed(3)+"em",z=(M/1e3).toFixed(3)+"em",N=new Xo([I],{width:O,height:z,viewBox:"0 0 "+p+" "+M}),U=Ae.makeSvgSpan([],[N],i);U.height=M/1e3,U.style.width=O,U.style.height=z,L.push({type:"elem",elem:U})}else{if(L.push(kE(f,m,a)),L.push(Rb),u===null){var $=S-y-k+2*FE;L.push(wE(h,$,i))}else{var W=(S-y-k-A)/2+2*FE;L.push(wE(h,W,i)),L.push(Rb),L.push(kE(u,m,a)),L.push(Rb),L.push(wE(h,W,i))}L.push(Rb),L.push(kE(l,m,a))}var ee=i.havingBaseStyle(Nt.TEXT),te=Ae.makeVList({positionType:"bottom",positionData:D,children:L},ee);return jE(Ae.makeSpan(["delimsizing","mult"],[te],ee),Nt.TEXT,i,o)},"makeStackedDelim"),TE=80,EE=.08,CE=s(function(e,r,n,i,a){var o=Nye(e,i,n),l=new $l(e,o),u=new Xo([l],{width:"400em",height:tt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return Ae.makeSvgSpan(["hide-tail"],[u],a)},"sqrtSvg"),Dve=s(function(e,r){var n=r.havingBaseSizing(),i=Iz("\\surd",e*n.sizeMultiplier,Mz,n),a=n.sizeMultiplier,o=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),l,u=0,h=0,f=0,d;return i.type==="small"?(f=1e3+1e3*o+TE,e<1?a=1:e<1.4&&(a=.7),u=(1+o+EE)/a,h=(1+o)/a,l=CE("sqrtMain",u,f,o,r),l.style.minWidth="0.853em",d=.833/a):i.type==="large"?(f=(1e3+TE)*B1[i.size],h=(B1[i.size]+o)/a,u=(B1[i.size]+o+EE)/a,l=CE("sqrtSize"+i.size,u,f,o,r),l.style.minWidth="1.02em",d=1/a):(u=e+o+EE,h=e+o,f=Math.floor(1e3*e+o)+TE,l=CE("sqrtTall",u,f,o,r),l.style.minWidth="0.742em",d=1.056),l.height=h,l.style.height=tt(u),{span:l,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+o)*a}},"makeSqrtImage"),Dz=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"],Rve=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"],Rz=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],B1=[0,1.2,1.8,2.4,3],Mve=s(function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),Mt.contains(Dz,e)||Mt.contains(Rz,e))return Az(e,r,!1,n,i,a);if(Mt.contains(Rve,e))return Lz(e,B1[r],!1,n,i,a);throw new je("Illegal delimiter: '"+e+"'")},"makeSizedDelim"),Ive=[{type:"small",style:Nt.SCRIPTSCRIPT},{type:"small",style:Nt.SCRIPT},{type:"small",style:Nt.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],Nve=[{type:"small",style:Nt.SCRIPTSCRIPT},{type:"small",style:Nt.SCRIPT},{type:"small",style:Nt.TEXT},{type:"stack"}],Mz=[{type:"small",style:Nt.SCRIPTSCRIPT},{type:"small",style:Nt.SCRIPT},{type:"small",style:Nt.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Ove=s(function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},"delimTypeToFont"),Iz=s(function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),o=a;or)return n[o]}return n[n.length-1]},"traverseSequence"),Nz=s(function(e,r,n,i,a,o){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var l;Mt.contains(Rz,e)?l=Ive:Mt.contains(Dz,e)?l=Mz:l=Nve;var u=Iz(e,r,l,i);return u.type==="small"?Sve(e,u.style,n,i,a,o):u.type==="large"?Az(e,u.size,n,i,a,o):Lz(e,r,n,i,a,o)},"makeCustomSizedDelim"),Pve=s(function(e,r,n,i,a,o){var l=i.fontMetrics().axisHeight*i.sizeMultiplier,u=901,h=5/i.fontMetrics().ptPerEm,f=Math.max(r-l,n+l),d=Math.max(f/500*u,2*f-h);return Nz(e,d,!0,i,a,o)},"makeLeftRightDelim"),Kc={sqrtImage:Dve,sizedDelim:Mve,sizeToMaxHeight:B1,customSizedDelim:Nz,leftRightDelim:Pve},zF={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Bve=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];s(Yb,"checkDelimiter");st({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:s((t,e)=>{var r=Yb(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:zF[t.funcName].size,mclass:zF[t.funcName].mclass,delim:r.text}},"handler"),htmlBuilder:s((t,e)=>t.delim==="."?Ae.makeSpan([t.mclass]):Kc.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),"htmlBuilder"),mathmlBuilder:s(t=>{var e=[];t.delim!=="."&&e.push(yo(t.delim,t.mode));var r=new Xe.MathNode("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=tt(Kc.sizeToMaxHeight[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r},"mathmlBuilder")});s($F,"assertParsed");st({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:s((t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new je("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:Yb(e[0],t).text,color:r}},"handler")});st({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:s((t,e)=>{var r=Yb(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Jt(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},"handler"),htmlBuilder:s((t,e)=>{$F(t);for(var r=Ti(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,o=0;o{$F(t);var r=cs(t.body,e);if(t.left!=="."){var n=new Xe.MathNode("mo",[yo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Xe.MathNode("mo",[yo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return WE(r)},"mathmlBuilder")});st({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:s((t,e)=>{var r=Yb(e[0],t);if(!t.parser.leftrightDepth)throw new je("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},"handler"),htmlBuilder:s((t,e)=>{var r;if(t.delim===".")r=V1(e,[]);else{r=Kc.sizedDelim(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?yo("|","text"):yo(t.delim,t.mode),n=new Xe.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n},"mathmlBuilder")});KE=s((t,e)=>{var r=Ae.wrapFragment(vr(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,o=0,l=Mt.isCharacterBox(t.body);if(n==="sout")a=Ae.makeSpan(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,o=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var u=Bn({number:.6,unit:"pt"},e),h=Bn({number:.35,unit:"ex"},e),f=e.havingBaseSizing();i=i/f.sizeMultiplier;var d=r.height+r.depth+u+h;r.style.paddingLeft=tt(d/2+u);var p=Math.floor(1e3*d*i),m=Mye(p),g=new Xo([new $l("phase",m)],{width:"400em",height:tt(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});a=Ae.makeSvgSpan(["hide-tail"],[g],e),a.style.height=tt(d),o=r.depth+u+h}else{/cancel/.test(n)?l||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var y=0,v=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),y=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),v=y):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),y=4*x,v=Math.max(0,.25-r.depth)):(y=l?.2:0,v=y),a=Zc.encloseSpan(r,n,y,v,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=tt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=tt(x),a.style.borderRightWidth=tt(x)),o=r.depth+v,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=Ae.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:o},{type:"elem",elem:r,shift:0}]},e);else{var k=/cancel|phase/.test(n)?["svg-align"]:[];b=Ae.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:o,wrapperClasses:k}]},e)}return/cancel/.test(n)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(n)&&!l?Ae.makeSpan(["mord","cancel-lap"],[b],e):Ae.makeSpan(["mord"],[b],e)},"htmlBuilder$7"),QE=s((t,e)=>{var r=0,n=new Xe.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[nn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+i+"em solid "+String(t.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n},"mathmlBuilder$6");st({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Jt(e[0],"color-token").color,o=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:o}},htmlBuilder:KE,mathmlBuilder:QE});st({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Jt(e[0],"color-token").color,o=Jt(e[1],"color-token").color,l=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:o,borderColor:a,body:l}},htmlBuilder:KE,mathmlBuilder:QE});st({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});st({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:KE,mathmlBuilder:QE});st({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});Oz={};s(Gl,"defineEnvironment");Pz={};s(J,"defineMacro");s(GF,"getHLines");Xb=s(t=>{var e=t.parser.settings;if(!e.displayMode)throw new je("{"+t.envName+"} can be used only in display mode.")},"validateAmsEnvironmentContext");s(ZE,"getAutoTag");s(ch,"parseArray");s(JE,"dCellStyle");Vl=s(function(e,r){var n,i,a=e.body.length,o=e.hLinesBeforeRow,l=0,u=new Array(a),h=[],f=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),d=1/r.fontMetrics().ptPerEm,p=5*d;if(e.colSeparationType&&e.colSeparationType==="small"){var m=r.havingStyle(Nt.SCRIPT).sizeMultiplier;p=.2778*(m/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?Bn({number:3,unit:"ex"},r):12*d,y=3*d,v=e.arraystretch*g,x=.7*v,b=.3*v,k=0;function A(Re){for(var Pe=0;Pe0&&(k+=.25),h.push({pos:k,isDashed:Re[Pe]})}for(s(A,"setHLinePos"),A(o[0]),n=0;n0&&(D+=b,CRe))for(n=0;n=l)){var fe=void 0;(i>0||e.hskipBeforeAndAfter)&&(fe=Mt.deflt(W.pregap,p),fe!==0&&(F=Ae.makeSpan(["arraycolsep"],[]),F.style.width=tt(fe),M.push(F)));var ne=[];for(n=0;n0){for(var re=Ae.makeLineSpan("hline",r,f),ie=Ae.makeLineSpan("hdashline",r,f),ye=[{type:"elem",elem:u,shift:0}];h.length>0;){var j=h.pop(),De=j.pos-L;j.isDashed?ye.push({type:"elem",elem:ie,shift:De}):ye.push({type:"elem",elem:re,shift:De})}u=Ae.makeVList({positionType:"individualShift",children:ye},r)}if(O.length===0)return Ae.makeSpan(["mord"],[u],r);var oe=Ae.makeVList({positionType:"individualShift",children:O},r);return oe=Ae.makeSpan(["tag"],[oe],r),Ae.makeFragment([u,oe])},"htmlBuilder"),Fve={c:"center ",l:"left ",r:"right "},Ul=s(function(e,r){for(var n=[],i=new Xe.MathNode("mtd",[],["mtr-glue"]),a=new Xe.MathNode("mtd",[],["mml-eqn-num"]),o=0;o0){var g=e.cols,y="",v=!1,x=0,b=g.length;g[0].type==="separator"&&(p+="top ",x=1),g[g.length-1].type==="separator"&&(p+="bottom ",b-=1);for(var k=x;k0?"left ":"",p+=E[E.length-1].length>0?"right ":"";for(var S=1;S-1?"alignat":"align",a=e.envName==="split",o=ch(e.parser,{cols:n,addJot:!0,autoTag:a?void 0:ZE(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),l,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var f="",d=0;d0&&m&&(v=1),n[g]={type:"align",align:y,pregap:v,postgap:0}}return o.colSeparationType=m?"align":"alignat",o},"alignedHandler");Gl({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=Wb(e[0]),n=r?[e[0]]:Jt(e[0],"ordgroup").body,i=n.map(function(o){var l=YE(o),u=l.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new je("Unknown column alignment: "+u,o)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return ch(t.parser,a,JE(t.envName))},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,"lcr".indexOf(r)===-1)throw new je("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=ch(t.parser,n,JE(t.envName)),o=Math.max(0,...a.body.map(l=>l.length));return a.cols=new Array(o).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=ch(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=Wb(e[0]),n=r?[e[0]]:Jt(e[0],"ordgroup").body,i=n.map(function(o){var l=YE(o),u=l.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new je("Unknown column alignment: "+u,o)});if(i.length>1)throw new je("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5};if(a=ch(t.parser,a,"script"),a.body.length>0&&a.body[0].length>1)throw new je("{subarray} can contain only one column");return a},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=ch(t.parser,e,JE(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Bz,htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){Mt.contains(["gather","gather*"],t.envName)&&Xb(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ZE(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return ch(t.parser,e,"display")},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Bz,htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){Xb(t);var e={autoTag:ZE(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return ch(t.parser,e,"display")},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["CD"],props:{numArgs:0},handler(t){return Xb(t),Eve(t.parser)},htmlBuilder:Vl,mathmlBuilder:Ul});J("\\nonumber","\\gdef\\@eqnsw{0}");J("\\notag","\\nonumber");st({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new je(t.funcName+" valid only within array environment")}});VF=Oz;st({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new je("Invalid environment name",i);for(var a="",o=0;o{var r=t.font,n=e.withFont(r);return vr(t.body,n)},"htmlBuilder$5"),zz=s((t,e)=>{var r=t.font,n=e.withFont(r);return nn(t.body,n)},"mathmlBuilder$4"),UF={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};st({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=$b(e[0]),a=n;return a in UF&&(a=UF[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},"handler"),htmlBuilder:Fz,mathmlBuilder:zz});st({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:s((t,e)=>{var{parser:r}=t,n=e[0],i=Mt.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:Hb(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:i}},"handler")});st({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:s((t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,o=r.parseExpression(!0,i),l="math"+n.slice(1);return{type:"font",mode:a,font:l,body:{type:"ordgroup",mode:r.mode,body:o}}},"handler"),htmlBuilder:Fz,mathmlBuilder:zz});$z=s((t,e)=>{var r=e;return t==="display"?r=r.id>=Nt.SCRIPT.id?r.text():Nt.DISPLAY:t==="text"&&r.size===Nt.DISPLAY.size?r=Nt.TEXT:t==="script"?r=Nt.SCRIPT:t==="scriptscript"&&(r=Nt.SCRIPTSCRIPT),r},"adjustStyle"),eC=s((t,e)=>{var r=$z(t.size,e.style),n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var o=vr(t.numer,a,e);if(t.continued){var l=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;o.height=o.height0?g=3*p:g=7*p,y=e.fontMetrics().denom1):(d>0?(m=e.fontMetrics().num2,g=p):(m=e.fontMetrics().num3,g=3*p),y=e.fontMetrics().denom2);var v;if(f){var b=e.fontMetrics().axisHeight;m-o.depth-(b+.5*d){var r=new Xe.MathNode("mfrac",[nn(t.numer,e),nn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=Bn(t.barSize,e);r.setAttribute("linethickness",tt(n))}var i=$z(t.size,e.style);if(i.size!==e.style.size){r=new Xe.MathNode("mstyle",[r]);var a=i.size===Nt.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",a),r.setAttribute("scriptlevel","0")}if(t.leftDelim!=null||t.rightDelim!=null){var o=[];if(t.leftDelim!=null){var l=new Xe.MathNode("mo",[new Xe.TextNode(t.leftDelim.replace("\\",""))]);l.setAttribute("fence","true"),o.push(l)}if(o.push(r),t.rightDelim!=null){var u=new Xe.MathNode("mo",[new Xe.TextNode(t.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),o.push(u)}return WE(o)}return r},"mathmlBuilder$3");st({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],o,l=null,u=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":o=!0;break;case"\\\\atopfrac":o=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":o=!1,l="(",u=")";break;case"\\\\bracefrac":o=!1,l="\\{",u="\\}";break;case"\\\\brackfrac":o=!1,l="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:r.mode,continued:!1,numer:i,denom:a,hasBarLine:o,leftDelim:l,rightDelim:u,size:h,barSize:null}},"handler"),htmlBuilder:eC,mathmlBuilder:tC});st({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:i,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}},"handler")});st({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});qF=["display","text","script","scriptscript"],WF=s(function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r},"delimFromValue");st({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=$b(e[0]),o=a.type==="atom"&&a.family==="open"?WF(a.text):null,l=$b(e[1]),u=l.type==="atom"&&l.family==="close"?WF(l.text):null,h=Jt(e[2],"size"),f,d=null;h.isBlank?f=!0:(d=h.value,f=d.number>0);var p="auto",m=e[3];if(m.type==="ordgroup"){if(m.body.length>0){var g=Jt(m.body[0],"textord");p=qF[Number(g.text)]}}else m=Jt(m,"textord"),p=qF[Number(m.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:f,barSize:d,leftDelim:o,rightDelim:u,size:p}},htmlBuilder:eC,mathmlBuilder:tC});st({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Jt(e[0],"size").value,token:i}}});st({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=yye(Jt(e[1],"infix").size),o=e[2],l=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:o,continued:!1,hasBarLine:l,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},"handler"),htmlBuilder:eC,mathmlBuilder:tC});Gz=s((t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?vr(t.sup,e.havingStyle(r.sup()),e):vr(t.sub,e.havingStyle(r.sub()),e),i=Jt(t.base,"horizBrace")):i=Jt(t,"horizBrace");var a=vr(i.base,e.havingBaseStyle(Nt.DISPLAY)),o=Zc.svgSpan(i,e),l;if(i.isOver?(l=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:o}]},e),l.children[0].children[0].children[1].classes.push("svg-align")):(l=Ae.makeVList({positionType:"bottom",positionData:a.depth+.1+o.height,children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:a}]},e),l.children[0].children[0].children[0].classes.push("svg-align")),n){var u=Ae.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e);i.isOver?l=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:n}]},e):l=Ae.makeVList({positionType:"bottom",positionData:u.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return Ae.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e)},"htmlBuilder$3"),zve=s((t,e)=>{var r=Zc.mathMLnode(t.label);return new Xe.MathNode(t.isOver?"mover":"munder",[nn(t.base,e),r])},"mathmlBuilder$2");st({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:e[0]}},htmlBuilder:Gz,mathmlBuilder:zve});st({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:s((t,e)=>{var{parser:r}=t,n=e[1],i=Jt(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:ni(n)}:r.formatUnsupportedCmd("\\href")},"handler"),htmlBuilder:s((t,e)=>{var r=Ti(t.body,e,!1);return Ae.makeAnchor(t.href,[],r,e)},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=lh(t.body,e);return r instanceof os||(r=new os("mrow",[r])),r.setAttribute("href",t.href),r},"mathmlBuilder")});st({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:s((t,e)=>{var{parser:r}=t,n=Jt(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Jt(e[0],"raw").string,o=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var l,u={};switch(n){case"\\htmlClass":u.class=a,l={command:"\\htmlClass",class:a};break;case"\\htmlId":u.id=a,l={command:"\\htmlId",id:a};break;case"\\htmlStyle":u.style=a,l={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var h=a.split(","),f=0;f{var r=Ti(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Ae.makeSpan(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},"htmlBuilder"),mathmlBuilder:s((t,e)=>lh(t.body,e),"mathmlBuilder")});st({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:s((t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:ni(e[0]),mathml:ni(e[1])}},"handler"),htmlBuilder:s((t,e)=>{var r=Ti(t.html,e,!1);return Ae.makeFragment(r)},"htmlBuilder"),mathmlBuilder:s((t,e)=>lh(t.mathml,e),"mathmlBuilder")});SE=s(function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new je("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!sz(n))throw new je("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n},"sizeData");st({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:s((t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},o={number:0,unit:"em"},l="";if(r[0])for(var u=Jt(r[0],"raw").string,h=u.split(","),f=0;f{var r=Bn(t.height,e),n=0;t.totalheight.number>0&&(n=Bn(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=Bn(t.width,e));var a={height:tt(r+n)};i>0&&(a.width=tt(i)),n>0&&(a.verticalAlign=tt(-n));var o=new ME(t.src,t.alt,a);return o.height=r,o.depth=n,o},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=new Xe.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var n=Bn(t.height,e),i=0;if(t.totalheight.number>0&&(i=Bn(t.totalheight,e)-n,r.setAttribute("valign",tt(-i))),r.setAttribute("height",tt(n+i)),t.width.number>0){var a=Bn(t.width,e);r.setAttribute("width",tt(a))}return r.setAttribute("src",t.src),r},"mathmlBuilder")});st({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Jt(e[0],"size");if(r.settings.strict){var a=n[1]==="m",o=i.value.unit==="mu";a?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return Ae.makeGlue(t.dimension,e)},mathmlBuilder(t,e){var r=Bn(t.dimension,e);return new Xe.SpaceNode(r)}});st({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},"handler"),htmlBuilder:s((t,e)=>{var r;t.alignment==="clap"?(r=Ae.makeSpan([],[vr(t.body,e)]),r=Ae.makeSpan(["inner"],[r],e)):r=Ae.makeSpan(["inner"],[vr(t.body,e)]);var n=Ae.makeSpan(["fix"],[]),i=Ae.makeSpan([t.alignment],[r,n],e),a=Ae.makeSpan(["strut"]);return a.style.height=tt(i.height+i.depth),i.depth&&(a.style.verticalAlign=tt(-i.depth)),i.children.unshift(a),i=Ae.makeSpan(["thinbox"],[i],e),Ae.makeSpan(["mord","vbox"],[i],e)},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=new Xe.MathNode("mpadded",[nn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r},"mathmlBuilder")});st({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",o=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:o}}});st({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new je("Mismatched "+t.funcName)}});HF=s((t,e)=>{switch(e.style.size){case Nt.DISPLAY.size:return t.display;case Nt.TEXT.size:return t.text;case Nt.SCRIPT.size:return t.script;case Nt.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}},"chooseMathStyle");st({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:s((t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:ni(e[0]),text:ni(e[1]),script:ni(e[2]),scriptscript:ni(e[3])}},"handler"),htmlBuilder:s((t,e)=>{var r=HF(t,e),n=Ti(r,e,!1);return Ae.makeFragment(n)},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=HF(t,e);return lh(r,e)},"mathmlBuilder")});Vz=s((t,e,r,n,i,a,o)=>{t=Ae.makeSpan([],[t]);var l=r&&Mt.isCharacterBox(r),u,h;if(e){var f=vr(e,n.havingStyle(i.sup()),n);h={elem:f,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-f.depth)}}if(r){var d=vr(r,n.havingStyle(i.sub()),n);u={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var p;if(h&&u){var m=n.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+t.depth+o;p=Ae.makeVList({positionType:"bottom",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:tt(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:tt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(u){var g=t.height-o;p=Ae.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:tt(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t}]},n)}else if(h){var y=t.depth+o;p=Ae.makeVList({positionType:"bottom",positionData:y,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:tt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else return t;var v=[p];if(u&&a!==0&&!l){var x=Ae.makeSpan(["mspace"],[],n);x.style.marginRight=tt(a),v.unshift(x)}return Ae.makeSpan(["mop","op-limits"],v,n)},"assembleSupSub"),Uz=["\\smallint"],np=s((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Jt(t.base,"op"),i=!0):a=Jt(t,"op");var o=e.style,l=!1;o.size===Nt.DISPLAY.size&&a.symbol&&!Mt.contains(Uz,a.name)&&(l=!0);var u;if(a.symbol){var h=l?"Size2-Regular":"Size1-Regular",f="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(f=a.name.slice(1),a.name=f==="oiint"?"\\iint":"\\iiint"),u=Ae.makeSymbol(a.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),f.length>0){var d=u.italic,p=Ae.staticSvg(f+"Size"+(l?"2":"1"),e);u=Ae.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),a.name="\\"+f,u.classes.unshift("mop"),u.italic=d}}else if(a.body){var m=Ti(a.body,e,!0);m.length===1&&m[0]instanceof ls?(u=m[0],u.classes[0]="mop"):u=Ae.makeSpan(["mop"],m,e)}else{for(var g=[],y=1;y{var r;if(t.symbol)r=new os("mo",[yo(t.name,t.mode)]),Mt.contains(Uz,t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new os("mo",cs(t.body,e));else{r=new os("mi",[new Of(t.name.slice(1))]);var n=new os("mo",[yo("\u2061","text")]);t.parentIsSupSub?r=new os("mrow",[r,n]):r=yz([r,n])}return r},"mathmlBuilder$1"),$ve={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};st({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=$ve[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},"handler"),htmlBuilder:np,mathmlBuilder:U1});st({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:s((t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:ni(n)}},"handler"),htmlBuilder:np,mathmlBuilder:U1});Gve={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};st({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:np,mathmlBuilder:U1});st({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:np,mathmlBuilder:U1});st({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=Gve[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:np,mathmlBuilder:U1});qz=s((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Jt(t.base,"operatorname"),i=!0):a=Jt(t,"operatorname");var o;if(a.body.length>0){for(var l=a.body.map(d=>{var p=d.text;return typeof p=="string"?{type:"textord",mode:d.mode,text:p}:d}),u=Ti(l,e.withFont("mathrm"),!0),h=0;h{for(var r=cs(t.body,e.withFont("mathrm")),n=!0,i=0;if.toText()).join("");r=[new Xe.TextNode(l)]}var u=new Xe.MathNode("mi",r);u.setAttribute("mathvariant","normal");var h=new Xe.MathNode("mo",[yo("\u2061","text")]);return t.parentIsSupSub?new Xe.MathNode("mrow",[u,h]):Xe.newDocumentFragment([u,h])},"mathmlBuilder");st({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:ni(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},"handler"),htmlBuilder:qz,mathmlBuilder:Vve});J("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Ff({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Ae.makeFragment(Ti(t.body,e,!1)):Ae.makeSpan(["mord"],Ti(t.body,e,!0),e)},mathmlBuilder(t,e){return lh(t.body,e,!0)}});st({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=vr(t.body,e.havingCrampedStyle()),n=Ae.makeLineSpan("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]},e);return Ae.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Xe.MathNode("mo",[new Xe.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new Xe.MathNode("mover",[nn(t.body,e),r]);return n.setAttribute("accent","true"),n}});st({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:s((t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:ni(n)}},"handler"),htmlBuilder:s((t,e)=>{var r=Ti(t.body,e.withPhantom(),!1);return Ae.makeFragment(r)},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=cs(t.body,e);return new Xe.MathNode("mphantom",r)},"mathmlBuilder")});st({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:s((t,e)=>{var{parser:r}=t,n=e[0];return{type:"hphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:s((t,e)=>{var r=Ae.makeSpan([],[vr(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n{var r=cs(ni(t.body),e),n=new Xe.MathNode("mphantom",r),i=new Xe.MathNode("mpadded",[n]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i},"mathmlBuilder")});st({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:s((t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:s((t,e)=>{var r=Ae.makeSpan(["inner"],[vr(t.body,e.withPhantom())]),n=Ae.makeSpan(["fix"],[]);return Ae.makeSpan(["mord","rlap"],[r,n],e)},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=cs(ni(t.body),e),n=new Xe.MathNode("mphantom",r),i=new Xe.MathNode("mpadded",[n]);return i.setAttribute("width","0px"),i},"mathmlBuilder")});st({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Jt(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=vr(t.body,e),n=Bn(t.dy,e);return Ae.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){var r=new Xe.MathNode("mpadded",[nn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});st({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});st({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Jt(e[0],"size"),o=Jt(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Jt(i,"size").value,width:a.value,height:o.value}},htmlBuilder(t,e){var r=Ae.makeSpan(["mord","rule"],[],e),n=Bn(t.width,e),i=Bn(t.height,e),a=t.shift?Bn(t.shift,e):0;return r.style.borderRightWidth=tt(n),r.style.borderTopWidth=tt(i),r.style.bottom=tt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=Bn(t.width,e),n=Bn(t.height,e),i=t.shift?Bn(t.shift,e):0,a=e.color&&e.getColor()||"black",o=new Xe.MathNode("mspace");o.setAttribute("mathbackground",a),o.setAttribute("width",tt(r)),o.setAttribute("height",tt(n));var l=new Xe.MathNode("mpadded",[o]);return i>=0?l.setAttribute("height",tt(i)):(l.setAttribute("height",tt(i)),l.setAttribute("depth",tt(-i))),l.setAttribute("voffset",tt(i)),l}});s(Wz,"sizingGroup");YF=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],Uve=s((t,e)=>{var r=e.havingSize(t.size);return Wz(t.body,r,e)},"htmlBuilder");st({type:"sizing",names:YF,props:{numArgs:0,allowedInText:!0},handler:s((t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:YF.indexOf(n)+1,body:a}},"handler"),htmlBuilder:Uve,mathmlBuilder:s((t,e)=>{var r=e.havingSize(t.size),n=cs(t.body,r),i=new Xe.MathNode("mstyle",n);return i.setAttribute("mathsize",tt(r.sizeMultiplier)),i},"mathmlBuilder")});st({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:s((t,e,r)=>{var{parser:n}=t,i=!1,a=!1,o=r[0]&&Jt(r[0],"ordgroup");if(o)for(var l="",u=0;u{var r=Ae.makeSpan([],[vr(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var n=0;n{var r=new Xe.MathNode("mpadded",[nn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r},"mathmlBuilder")});st({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=vr(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=Ae.wrapFragment(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+o&&(o=(o+d-r.height-r.depth)/2);var p=u.height-r.height-o-h;r.style.paddingLeft=tt(f);var m=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+p)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(t.index){var g=e.havingStyle(Nt.SCRIPTSCRIPT),y=vr(t.index,g,e),v=.6*(m.height-m.depth),x=Ae.makeVList({positionType:"shift",positionData:-v,children:[{type:"elem",elem:y}]},e),b=Ae.makeSpan(["root"],[x]);return Ae.makeSpan(["mord","sqrt"],[b,m],e)}else return Ae.makeSpan(["mord","sqrt"],[m],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Xe.MathNode("mroot",[nn(r,e),nn(n,e)]):new Xe.MathNode("msqrt",[nn(r,e)])}});XF={display:Nt.DISPLAY,text:Nt.TEXT,script:Nt.SCRIPT,scriptscript:Nt.SCRIPTSCRIPT};st({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),o=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:o,body:a}},htmlBuilder(t,e){var r=XF[t.style],n=e.havingStyle(r).withFont("");return Wz(t.body,n,e)},mathmlBuilder(t,e){var r=XF[t.style],n=e.havingStyle(r),i=cs(t.body,n),a=new Xe.MathNode("mstyle",i),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},l=o[t.style];return a.setAttribute("scriptlevel",l[0]),a.setAttribute("displaystyle",l[1]),a}});qve=s(function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Nt.DISPLAY.size||n.alwaysHandleSupSub);return i?np:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Nt.DISPLAY.size||n.limits);return a?qz:null}else{if(n.type==="accent")return Mt.isCharacterBox(n.base)?XE:null;if(n.type==="horizBrace"){var o=!e.sub;return o===n.isOver?Gz:null}else return null}else return null},"htmlBuilderDelegate");Ff({type:"supsub",htmlBuilder(t,e){var r=qve(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,o=vr(n,e),l,u,h=e.fontMetrics(),f=0,d=0,p=n&&Mt.isCharacterBox(n);if(i){var m=e.havingStyle(e.style.sup());l=vr(i,m,e),p||(f=o.height-m.fontMetrics().supDrop*m.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());u=vr(a,g,e),p||(d=o.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var y;e.style===Nt.DISPLAY?y=h.sup1:e.style.cramped?y=h.sup3:y=h.sup2;var v=e.sizeMultiplier,x=tt(.5/h.ptPerEm/v),b=null;if(u){var k=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(o instanceof ls||k)&&(b=tt(-o.italic))}var A;if(l&&u){f=Math.max(f,y,l.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var w=h.defaultRuleThickness,T=4*w;if(f-l.depth-(u.height-d)0&&(f+=C,d-=C)}var E=[{type:"elem",elem:u,shift:d,marginRight:x,marginLeft:b},{type:"elem",elem:l,shift:-f,marginRight:x}];A=Ae.makeVList({positionType:"individualShift",children:E},e)}else if(u){d=Math.max(d,h.sub1,u.height-.8*h.xHeight);var S=[{type:"elem",elem:u,marginLeft:b,marginRight:x}];A=Ae.makeVList({positionType:"shift",positionData:d,children:S},e)}else if(l)f=Math.max(f,y,l.depth+.25*h.xHeight),A=Ae.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:l,marginRight:x}]},e);else throw new Error("supsub must have either sup or sub.");var R=NE(o,"right")||"mord";return Ae.makeSpan([R],[o,Ae.makeSpan(["msupsub"],[A])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[nn(t.base,e)];t.sub&&a.push(nn(t.sub,e)),t.sup&&a.push(nn(t.sup,e));var o;if(r)o=n?"mover":"munder";else if(t.sub)if(t.sup){var h=t.base;h&&h.type==="op"&&h.limits&&e.style===Nt.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===Nt.DISPLAY||h.limits)?o="munderover":o="msubsup"}else{var u=t.base;u&&u.type==="op"&&u.limits&&(e.style===Nt.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===Nt.DISPLAY)?o="munder":o="msub"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Nt.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Nt.DISPLAY)?o="mover":o="msup"}return new Xe.MathNode(o,a)}});Ff({type:"atom",htmlBuilder(t,e){return Ae.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Xe.MathNode("mo",[yo(t.text,t.mode)]);if(t.family==="bin"){var n=HE(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});Hz={mi:"italic",mn:"normal",mtext:"normal"};Ff({type:"mathord",htmlBuilder(t,e){return Ae.makeOrd(t,e,"mathord")},mathmlBuilder(t,e){var r=new Xe.MathNode("mi",[yo(t.text,t.mode,e)]),n=HE(t,e)||"italic";return n!==Hz[r.type]&&r.setAttribute("mathvariant",n),r}});Ff({type:"textord",htmlBuilder(t,e){return Ae.makeOrd(t,e,"textord")},mathmlBuilder(t,e){var r=yo(t.text,t.mode,e),n=HE(t,e)||"normal",i;return t.mode==="text"?i=new Xe.MathNode("mtext",[r]):/[0-9]/.test(t.text)?i=new Xe.MathNode("mn",[r]):t.text==="\\prime"?i=new Xe.MathNode("mo",[r]):i=new Xe.MathNode("mi",[r]),n!==Hz[i.type]&&i.setAttribute("mathvariant",n),i}});_E={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},AE={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Ff({type:"spacing",htmlBuilder(t,e){if(AE.hasOwnProperty(t.text)){var r=AE[t.text].className||"";if(t.mode==="text"){var n=Ae.makeOrd(t,e,"textord");return n.classes.push(r),n}else return Ae.makeSpan(["mspace",r],[Ae.mathsym(t.text,t.mode,e)],e)}else{if(_E.hasOwnProperty(t.text))return Ae.makeSpan(["mspace",_E[t.text]],[],e);throw new je('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(AE.hasOwnProperty(t.text))r=new Xe.MathNode("mtext",[new Xe.TextNode("\xA0")]);else{if(_E.hasOwnProperty(t.text))return new Xe.MathNode("mspace");throw new je('Unknown type of space "'+t.text+'"')}return r}});jF=s(()=>{var t=new Xe.MathNode("mtd",[]);return t.setAttribute("width","50%"),t},"pad");Ff({type:"tag",mathmlBuilder(t,e){var r=new Xe.MathNode("mtable",[new Xe.MathNode("mtr",[jF(),new Xe.MathNode("mtd",[lh(t.body,e)]),jF(),new Xe.MathNode("mtd",[lh(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});KF={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},QF={"\\textbf":"textbf","\\textmd":"textmd"},Wve={"\\textit":"textit","\\textup":"textup"},ZF=s((t,e)=>{var r=t.font;if(r){if(KF[r])return e.withTextFontFamily(KF[r]);if(QF[r])return e.withTextFontWeight(QF[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(Wve[r])},"optionsWithFont");st({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:ni(i),font:n}},htmlBuilder(t,e){var r=ZF(t,e),n=Ti(t.body,r,!0);return Ae.makeSpan(["mord","text"],n,r)},mathmlBuilder(t,e){var r=ZF(t,e);return lh(t.body,r)}});st({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=vr(t.body,e),n=Ae.makeLineSpan("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Ae.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]},e);return Ae.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Xe.MathNode("mo",[new Xe.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new Xe.MathNode("munder",[nn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});st({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=vr(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return Ae.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){return new Xe.MathNode("mpadded",[nn(t.body,e)],["vcenter"])}});st({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new je("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=JF(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"\u2423":"\xA0"),"makeVerb"),sh=mz,Yz=`[ \r + ]`,Hve="\\\\[a-zA-Z@]+",Yve="\\\\[^\uD800-\uDFFF]",Xve="("+Hve+")"+Yz+"*",jve=`\\\\( +|[ \r ]+ +?)[ \r ]*`,zE="[\u0300-\u036F]",Kve=new RegExp(zE+"+$"),Qve="("+Yz+"+)|"+(jve+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(zE+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(zE+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Xve)+("|"+Yve+")"),Gb=class{static{s(this,"Lexer")}constructor(e,r){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=r,this.tokenRegex=new RegExp(Qve,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new go("EOF",new $s(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new je("Unexpected character: '"+e[r]+"'",new go(e[r],new $s(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` +`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new go(i,new $s(this,r,this.tokenRegex.lastIndex))}},$E=class{static{s(this,"Namespace")}constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new je("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}},Zve=Pz;J("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});J("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});J("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});J("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});J("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});J("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");J("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});ez={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};J("\\char",function(t){var e=t.popToken(),r,n="";if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new je("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=ez[e.text],n==null||n>=r)throw new je("Invalid base-"+r+" digit "+e.text);for(var i;(i=ez[t.future().text])!=null&&i{var n=t.consumeArg().tokens;if(n.length!==1)throw new je("\\newcommand's first argument must be a macro name");var i=n[0].text,a=t.isDefined(i);if(a&&!e)throw new je("\\newcommand{"+i+"} attempting to redefine "+(i+"; use \\renewcommand"));if(!a&&!r)throw new je("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");var o=0;if(n=t.consumeArg().tokens,n.length===1&&n[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new je("Invalid number of arguments: "+l);o=parseInt(l),n=t.consumeArg().tokens}return t.macros.set(i,{tokens:n,numArgs:o}),""},"newcommand");J("\\newcommand",t=>rC(t,!1,!0));J("\\renewcommand",t=>rC(t,!0,!1));J("\\providecommand",t=>rC(t,!0,!0));J("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});J("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});J("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),sh[r],dn.math[r],dn.text[r]),""});J("\\bgroup","{");J("\\egroup","}");J("~","\\nobreakspace");J("\\lq","`");J("\\rq","'");J("\\aa","\\r a");J("\\AA","\\r A");J("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");J("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");J("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");J("\u212C","\\mathscr{B}");J("\u2130","\\mathscr{E}");J("\u2131","\\mathscr{F}");J("\u210B","\\mathscr{H}");J("\u2110","\\mathscr{I}");J("\u2112","\\mathscr{L}");J("\u2133","\\mathscr{M}");J("\u211B","\\mathscr{R}");J("\u212D","\\mathfrak{C}");J("\u210C","\\mathfrak{H}");J("\u2128","\\mathfrak{Z}");J("\\Bbbk","\\Bbb{k}");J("\xB7","\\cdotp");J("\\llap","\\mathllap{\\textrm{#1}}");J("\\rlap","\\mathrlap{\\textrm{#1}}");J("\\clap","\\mathclap{\\textrm{#1}}");J("\\mathstrut","\\vphantom{(}");J("\\underbar","\\underline{\\text{#1}}");J("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');J("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");J("\\ne","\\neq");J("\u2260","\\neq");J("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");J("\u2209","\\notin");J("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");J("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");J("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");J("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");J("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");J("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");J("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");J("\u27C2","\\perp");J("\u203C","\\mathclose{!\\mkern-0.8mu!}");J("\u220C","\\notni");J("\u231C","\\ulcorner");J("\u231D","\\urcorner");J("\u231E","\\llcorner");J("\u231F","\\lrcorner");J("\xA9","\\copyright");J("\xAE","\\textregistered");J("\uFE0F","\\textregistered");J("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');J("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');J("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');J("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');J("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}");J("\u22EE","\\vdots");J("\\varGamma","\\mathit{\\Gamma}");J("\\varDelta","\\mathit{\\Delta}");J("\\varTheta","\\mathit{\\Theta}");J("\\varLambda","\\mathit{\\Lambda}");J("\\varXi","\\mathit{\\Xi}");J("\\varPi","\\mathit{\\Pi}");J("\\varSigma","\\mathit{\\Sigma}");J("\\varUpsilon","\\mathit{\\Upsilon}");J("\\varPhi","\\mathit{\\Phi}");J("\\varPsi","\\mathit{\\Psi}");J("\\varOmega","\\mathit{\\Omega}");J("\\substack","\\begin{subarray}{c}#1\\end{subarray}");J("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");J("\\boxed","\\fbox{$\\displaystyle{#1}$}");J("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");J("\\implies","\\DOTSB\\;\\Longrightarrow\\;");J("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");tz={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};J("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in tz?e=tz[r]:(r.slice(0,4)==="\\not"||r in dn.math&&Mt.contains(["bin","rel"],dn.math[r].group))&&(e="\\dotsb"),e});nC={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};J("\\dotso",function(t){var e=t.future().text;return e in nC?"\\ldots\\,":"\\ldots"});J("\\dotsc",function(t){var e=t.future().text;return e in nC&&e!==","?"\\ldots\\,":"\\ldots"});J("\\cdots",function(t){var e=t.future().text;return e in nC?"\\@cdots\\,":"\\@cdots"});J("\\dotsb","\\cdots");J("\\dotsm","\\cdots");J("\\dotsi","\\!\\cdots");J("\\dotsx","\\ldots\\,");J("\\DOTSI","\\relax");J("\\DOTSB","\\relax");J("\\DOTSX","\\relax");J("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");J("\\,","\\tmspace+{3mu}{.1667em}");J("\\thinspace","\\,");J("\\>","\\mskip{4mu}");J("\\:","\\tmspace+{4mu}{.2222em}");J("\\medspace","\\:");J("\\;","\\tmspace+{5mu}{.2777em}");J("\\thickspace","\\;");J("\\!","\\tmspace-{3mu}{.1667em}");J("\\negthinspace","\\!");J("\\negmedspace","\\tmspace-{4mu}{.2222em}");J("\\negthickspace","\\tmspace-{5mu}{.277em}");J("\\enspace","\\kern.5em ");J("\\enskip","\\hskip.5em\\relax");J("\\quad","\\hskip1em\\relax");J("\\qquad","\\hskip2em\\relax");J("\\tag","\\@ifstar\\tag@literal\\tag@paren");J("\\tag@paren","\\tag@literal{({#1})}");J("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new je("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});J("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");J("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");J("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");J("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");J("\\newline","\\\\\\relax");J("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");Xz=tt(zl["Main-Regular"][84][1]-.7*zl["Main-Regular"][65][1]);J("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Xz+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");J("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Xz+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");J("\\hspace","\\@ifstar\\@hspacer\\@hspace");J("\\@hspace","\\hskip #1\\relax");J("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");J("\\ordinarycolon",":");J("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");J("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');J("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');J("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');J("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');J("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');J("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');J("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');J("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');J("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');J("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');J("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');J("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');J("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');J("\u2237","\\dblcolon");J("\u2239","\\eqcolon");J("\u2254","\\coloneqq");J("\u2255","\\eqqcolon");J("\u2A74","\\Coloneqq");J("\\ratio","\\vcentcolon");J("\\coloncolon","\\dblcolon");J("\\colonequals","\\coloneqq");J("\\coloncolonequals","\\Coloneqq");J("\\equalscolon","\\eqqcolon");J("\\equalscoloncolon","\\Eqqcolon");J("\\colonminus","\\coloneq");J("\\coloncolonminus","\\Coloneq");J("\\minuscolon","\\eqcolon");J("\\minuscoloncolon","\\Eqcolon");J("\\coloncolonapprox","\\Colonapprox");J("\\coloncolonsim","\\Colonsim");J("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");J("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");J("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");J("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");J("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");J("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");J("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");J("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");J("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");J("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");J("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");J("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");J("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");J("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");J("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");J("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");J("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");J("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");J("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");J("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");J("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");J("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");J("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");J("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");J("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");J("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");J("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");J("\\imath","\\html@mathml{\\@imath}{\u0131}");J("\\jmath","\\html@mathml{\\@jmath}{\u0237}");J("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");J("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");J("\u27E6","\\llbracket");J("\u27E7","\\rrbracket");J("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");J("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");J("\u2983","\\lBrace");J("\u2984","\\rBrace");J("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");J("\u29B5","\\minuso");J("\\darr","\\downarrow");J("\\dArr","\\Downarrow");J("\\Darr","\\Downarrow");J("\\lang","\\langle");J("\\rang","\\rangle");J("\\uarr","\\uparrow");J("\\uArr","\\Uparrow");J("\\Uarr","\\Uparrow");J("\\N","\\mathbb{N}");J("\\R","\\mathbb{R}");J("\\Z","\\mathbb{Z}");J("\\alef","\\aleph");J("\\alefsym","\\aleph");J("\\Alpha","\\mathrm{A}");J("\\Beta","\\mathrm{B}");J("\\bull","\\bullet");J("\\Chi","\\mathrm{X}");J("\\clubs","\\clubsuit");J("\\cnums","\\mathbb{C}");J("\\Complex","\\mathbb{C}");J("\\Dagger","\\ddagger");J("\\diamonds","\\diamondsuit");J("\\empty","\\emptyset");J("\\Epsilon","\\mathrm{E}");J("\\Eta","\\mathrm{H}");J("\\exist","\\exists");J("\\harr","\\leftrightarrow");J("\\hArr","\\Leftrightarrow");J("\\Harr","\\Leftrightarrow");J("\\hearts","\\heartsuit");J("\\image","\\Im");J("\\infin","\\infty");J("\\Iota","\\mathrm{I}");J("\\isin","\\in");J("\\Kappa","\\mathrm{K}");J("\\larr","\\leftarrow");J("\\lArr","\\Leftarrow");J("\\Larr","\\Leftarrow");J("\\lrarr","\\leftrightarrow");J("\\lrArr","\\Leftrightarrow");J("\\Lrarr","\\Leftrightarrow");J("\\Mu","\\mathrm{M}");J("\\natnums","\\mathbb{N}");J("\\Nu","\\mathrm{N}");J("\\Omicron","\\mathrm{O}");J("\\plusmn","\\pm");J("\\rarr","\\rightarrow");J("\\rArr","\\Rightarrow");J("\\Rarr","\\Rightarrow");J("\\real","\\Re");J("\\reals","\\mathbb{R}");J("\\Reals","\\mathbb{R}");J("\\Rho","\\mathrm{P}");J("\\sdot","\\cdot");J("\\sect","\\S");J("\\spades","\\spadesuit");J("\\sub","\\subset");J("\\sube","\\subseteq");J("\\supe","\\supseteq");J("\\Tau","\\mathrm{T}");J("\\thetasym","\\vartheta");J("\\weierp","\\wp");J("\\Zeta","\\mathrm{Z}");J("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");J("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");J("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");J("\\bra","\\mathinner{\\langle{#1}|}");J("\\ket","\\mathinner{|{#1}\\rangle}");J("\\braket","\\mathinner{\\langle{#1}\\rangle}");J("\\Bra","\\left\\langle#1\\right|");J("\\Ket","\\left|#1\\right\\rangle");jz=s(t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,o=e.macros.get("|"),l=e.macros.get("\\|");e.macros.beginGroup();var u=s(d=>p=>{t&&(p.macros.set("|",o),i.length&&p.macros.set("\\|",l));var m=d;if(!d&&i.length){var g=p.future();g.text==="|"&&(p.popToken(),m=!0)}return{tokens:m?i:n,numArgs:0}},"midMacro");e.macros.set("|",u(!1)),i.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,f=e.expandTokens([...a,...h,...r]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}},"braketHelper");J("\\bra@ket",jz(!1));J("\\bra@set",jz(!0));J("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");J("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");J("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");J("\\angln","{\\angl n}");J("\\blue","\\textcolor{##6495ed}{#1}");J("\\orange","\\textcolor{##ffa500}{#1}");J("\\pink","\\textcolor{##ff00af}{#1}");J("\\red","\\textcolor{##df0030}{#1}");J("\\green","\\textcolor{##28ae7b}{#1}");J("\\gray","\\textcolor{gray}{#1}");J("\\purple","\\textcolor{##9d38bd}{#1}");J("\\blueA","\\textcolor{##ccfaff}{#1}");J("\\blueB","\\textcolor{##80f6ff}{#1}");J("\\blueC","\\textcolor{##63d9ea}{#1}");J("\\blueD","\\textcolor{##11accd}{#1}");J("\\blueE","\\textcolor{##0c7f99}{#1}");J("\\tealA","\\textcolor{##94fff5}{#1}");J("\\tealB","\\textcolor{##26edd5}{#1}");J("\\tealC","\\textcolor{##01d1c1}{#1}");J("\\tealD","\\textcolor{##01a995}{#1}");J("\\tealE","\\textcolor{##208170}{#1}");J("\\greenA","\\textcolor{##b6ffb0}{#1}");J("\\greenB","\\textcolor{##8af281}{#1}");J("\\greenC","\\textcolor{##74cf70}{#1}");J("\\greenD","\\textcolor{##1fab54}{#1}");J("\\greenE","\\textcolor{##0d923f}{#1}");J("\\goldA","\\textcolor{##ffd0a9}{#1}");J("\\goldB","\\textcolor{##ffbb71}{#1}");J("\\goldC","\\textcolor{##ff9c39}{#1}");J("\\goldD","\\textcolor{##e07d10}{#1}");J("\\goldE","\\textcolor{##a75a05}{#1}");J("\\redA","\\textcolor{##fca9a9}{#1}");J("\\redB","\\textcolor{##ff8482}{#1}");J("\\redC","\\textcolor{##f9685d}{#1}");J("\\redD","\\textcolor{##e84d39}{#1}");J("\\redE","\\textcolor{##bc2612}{#1}");J("\\maroonA","\\textcolor{##ffbde0}{#1}");J("\\maroonB","\\textcolor{##ff92c6}{#1}");J("\\maroonC","\\textcolor{##ed5fa6}{#1}");J("\\maroonD","\\textcolor{##ca337c}{#1}");J("\\maroonE","\\textcolor{##9e034e}{#1}");J("\\purpleA","\\textcolor{##ddd7ff}{#1}");J("\\purpleB","\\textcolor{##c6b9fc}{#1}");J("\\purpleC","\\textcolor{##aa87ff}{#1}");J("\\purpleD","\\textcolor{##7854ab}{#1}");J("\\purpleE","\\textcolor{##543b78}{#1}");J("\\mintA","\\textcolor{##f5f9e8}{#1}");J("\\mintB","\\textcolor{##edf2df}{#1}");J("\\mintC","\\textcolor{##e0e5cc}{#1}");J("\\grayA","\\textcolor{##f6f7f7}{#1}");J("\\grayB","\\textcolor{##f0f1f2}{#1}");J("\\grayC","\\textcolor{##e3e5e6}{#1}");J("\\grayD","\\textcolor{##d6d8da}{#1}");J("\\grayE","\\textcolor{##babec2}{#1}");J("\\grayF","\\textcolor{##888d93}{#1}");J("\\grayG","\\textcolor{##626569}{#1}");J("\\grayH","\\textcolor{##3b3e40}{#1}");J("\\grayI","\\textcolor{##21242c}{#1}");J("\\kaBlue","\\textcolor{##314453}{#1}");J("\\kaGreen","\\textcolor{##71B307}{#1}");Kz={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},GE=class{static{s(this,"MacroExpander")}constructor(e,r,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new $E(Zve,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Gb(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new go("EOF",n.loc)),this.pushTokens(i),r.range(n,"")}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,o=0,l=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++o;else if(a.text==="}"){if(--o,o===-1)throw new je("Extra }",a)}else if(a.text==="EOF")throw new je("Unexpected end of input in a macro argument, expected '"+(e&&n?e[l]:"}")+"'",a);if(e&&n)if((o===0||o===1&&e[l]==="{")&&a.text===e[l]){if(++l,l===e.length){r.splice(-l,l);break}}else l=0}while(o!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new je("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new je("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new je("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,o=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var l=a.length-1;l>=0;--l){var u=a[l];if(u.text==="#"){if(l===0)throw new je("Incomplete placeholder at end of macro body",u);if(u=a[--l],u.text==="#")a.splice(l+1,1);else if(/^[1-9]$/.test(u.text))a.splice(l,2,...o[+u.text-1]);else throw new je("Not a valid argument number",u)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new go(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.indexOf("#")!==-1)for(var o=i.replace(/##/g,"");o.indexOf("#"+(a+1))!==-1;)++a;for(var l=new Gb(i,this.settings),u=[],h=l.lex();h.text!=="EOF";)u.push(h),h=l.lex();u.reverse();var f={tokens:u,numArgs:a};return f}return i}isDefined(e){return this.macros.has(e)||sh.hasOwnProperty(e)||dn.math.hasOwnProperty(e)||dn.text.hasOwnProperty(e)||Kz.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:sh.hasOwnProperty(e)&&!sh[e].primitive}},rz=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Mb=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),LE={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},nz={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},Vb=class t{static{s(this,"Parser")}constructor(e,r){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new GE(e,r,this.mode),this.settings=r,this.leftrightDepth=0}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new je("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new go("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(t.endOfExpression.indexOf(i.text)!==-1||r&&i.text===r||e&&sh[i.text]&&sh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l=dn[this.mode][r].group,u=$s.range(e),h;if(Uye.hasOwnProperty(l)){var f=l;h={type:"atom",mode:this.mode,family:f,loc:u,text:r}}else h={type:l,mode:this.mode,loc:u,text:r};o=h}else if(r.charCodeAt(0)>=128)this.settings.strict&&(az(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),o={type:"textord",mode:"text",loc:$s.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),ip.default.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}var ip,zf,n2e,i2e,n$,t$,$r,s2e,o2e,l2e,c2e,i$,u2e,hr,h2e,f2e,uh,sC,d2e,p2e,r$,oC,Ei,$f,hh,$e,Qt=_(()=>{"use strict";ip=ka(yE(),1),zf=//gi,n2e=s(t=>t?i$(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),i2e=(()=>{let t=!1;return()=>{t||(a2e(),t=!0)}})();s(a2e,"setupDompurifyHooks");n$=s(t=>(i2e(),ip.default.sanitize(t)),"removeScript"),t$=s((t,e)=>{if(e.flowchart?.htmlLabels!==!1){let r=e.securityLevel;r==="antiscript"||r==="strict"?t=n$(t):r!=="loose"&&(t=i$(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=c2e(t))}return t},"sanitizeMore"),$r=s((t,e)=>t&&(e.dompurifyConfig?t=ip.default.sanitize(t$(t,e),e.dompurifyConfig).toString():t=ip.default.sanitize(t$(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),s2e=s((t,e)=>typeof t=="string"?$r(t,e):t.flat().map(r=>$r(r,e)),"sanitizeTextOrArray"),o2e=s(t=>zf.test(t),"hasBreaks"),l2e=s(t=>t.split(zf),"splitBreaks"),c2e=s(t=>t.replace(/#br#/g,"
"),"placeholderToBreak"),i$=s(t=>t.replace(zf,"#br#"),"breakToPlaceholder"),u2e=s(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},"getUrl"),hr=s(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),h2e=s(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),f2e=s(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),uh=s(function(t){let e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),d2e=s((t,e)=>{let r=sC(t,"~"),n=sC(e,"~");return r===1&&n===1},"shouldCombineSets"),p2e=s(t=>{let e=sC(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let n=[...t],i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),r$=s(()=>window.MathMLElement!==void 0,"isMathMLSupported"),oC=/\$\$(.*)\$\$/g,Ei=s(t=>(t.match(oC)?.length??0)>0,"hasKatex"),$f=s(async(t,e)=>{t=await hh(t,e);let r=document.createElement("div");r.innerHTML=t,r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);let i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),hh=s(async(t,e)=>{if(!Ei(t))return t;if(!(r$()||e.legacyMathML||e.forceLegacyMathML))return t.replace(oC,"MathML is unsupported in this environment.");let{default:r}=await Promise.resolve().then(()=>(e$(),Jz)),n=e.forceLegacyMathML||!r$()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(zf).map(i=>Ei(i)?`
${i}
`:`
${i}
`).join("").replace(oC,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))},"renderKatex"),$e={getRows:n2e,sanitizeText:$r,sanitizeTextOrArray:s2e,hasBreaks:o2e,splitBreaks:l2e,lineBreakRegex:zf,removeScript:n$,getUrl:u2e,evaluate:hr,getMax:h2e,getMin:f2e}});var m2e,g2e,xr,ql,Un=_(()=>{"use strict";it();m2e=s(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),g2e=s(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),xr=s(function(t,e,r,n){let i=g2e(e,r,n);m2e(t,i)},"configureSvgSize"),ql=s(function(t,e,r,n){let i=e.node().getBBox(),a=i.width,o=i.height;V.info(`SVG bounds: ${a}x${o}`,i);let l=0,u=0;V.info(`Graph bounds: ${l}x${u}`,t),l=a+r*2,u=o+r*2,V.info(`Calculated bounds: ${l}x${u}`),xr(e,u,l,n);let h=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",h)},"setupGraphViewbox")});var jb,y2e,a$,s$,lC=_(()=>{"use strict";it();jb={},y2e=s((t,e,r)=>{let n="";return t in jb&&jb[t]?n=jb[t](r):V.warn(`No theme found for ${t}`),` & { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + fill: ${r.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${r.errorBkgColor}; + } + & .error-text { + fill: ${r.errorTextColor}; + stroke: ${r.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 1px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + & .edge-thickness-invisible { + stroke-width: 0; + fill: none; + } + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${r.lineColor}; + stroke: ${r.lineColor}; + } + & .marker.cross { + stroke: ${r.lineColor}; + } + + & svg { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + } + & p { + margin: 0 + } + + ${n} + + ${e} +`},"getStyles"),a$=s((t,e)=>{e!==void 0&&(jb[t]=e)},"addStylesForDiagram"),s$=y2e});var q1={};ur(q1,{clear:()=>br,getAccDescription:()=>Ur,getAccTitle:()=>Gr,getDiagramTitle:()=>Qr,setAccDescription:()=>Vr,setAccTitle:()=>Ar,setDiagramTitle:()=>an});var cC,uC,hC,fC,br,Ar,Gr,Vr,Ur,an,Qr,Ci=_(()=>{"use strict";Qt();zs();cC="",uC="",hC="",fC=s(t=>$r(t,_r()),"sanitizeText"),br=s(()=>{cC="",hC="",uC=""},"clear"),Ar=s(t=>{cC=fC(t).replace(/^\s+/g,"")},"setAccTitle"),Gr=s(()=>cC,"getAccTitle"),Vr=s(t=>{hC=fC(t).replace(/\n\s+/g,` +`)},"setAccDescription"),Ur=s(()=>hC,"getAccDescription"),an=s(t=>{uC=fC(t)},"setDiagramTitle"),Qr=s(()=>uC,"getDiagramTitle")});var o$,v2e,le,pC,Qb,x2e,mC,b2e,Kb,Gf,W1,dC,gt=_(()=>{"use strict";Mf();it();zs();Qt();Un();lC();Ci();o$=V,v2e=E1,le=_r,pC=kb,Qb=ih,x2e=s(t=>$r(t,le()),"sanitizeText"),mC=ql,b2e=s(()=>q1,"getCommonDb"),Kb={},Gf=s((t,e,r)=>{Kb[t]&&o$.warn(`Diagram with id ${t} already registered. Overwriting.`),Kb[t]=e,r&&Q7(t,r),a$(t,e.styles),e.injectUtils?.(o$,v2e,le,x2e,mC,b2e(),()=>{})},"registerDiagram"),W1=s(t=>{if(t in Kb)return Kb[t];throw new dC(t)},"getDiagram"),dC=class extends Error{static{s(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}});var Ko,fh,Ga,jo,Wl,H1,gC,yC,Zb,Jb,l$,k2e,w2e,T2e,E2e,C2e,S2e,_2e,A2e,L2e,D2e,R2e,M2e,I2e,N2e,O2e,P2e,B2e,c$,F2e,z2e,u$,$2e,G2e,V2e,U2e,dh,q2e,W2e,H2e,Y2e,X2e,Y1,vC=_(()=>{"use strict";gt();Qt();Ci();Ko=[],fh=[""],Ga="global",jo="",Wl=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],H1=[],gC="",yC=!1,Zb=4,Jb=2,k2e=s(function(){return l$},"getC4Type"),w2e=s(function(t){l$=$r(t,le())},"setC4Type"),T2e=s(function(t,e,r,n,i,a,o,l,u){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let h={},f=H1.find(d=>d.from===e&&d.to===r);if(f?h=f:H1.push(h),h.type=t,h.from=e,h.to=r,h.label={text:n},i==null)h.techn={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.techn={text:i};if(a==null)h.descr={text:""};else if(typeof a=="object"){let[d,p]=Object.entries(a)[0];h[d]={text:p}}else h.descr={text:a};if(typeof o=="object"){let[d,p]=Object.entries(o)[0];h[d]=p}else h.sprite=o;if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]=p}else h.tags=l;if(typeof u=="object"){let[d,p]=Object.entries(u)[0];h[d]=p}else h.link=u;h.wrap=dh()},"addRel"),E2e=s(function(t,e,r,n,i,a,o){if(e===null||r===null)return;let l={},u=Ko.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Ko.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.descr={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.descr={text:n};if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]=f}else l.sprite=i;if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.tags=a;if(typeof o=="object"){let[h,f]=Object.entries(o)[0];l[h]=f}else l.link=o;l.typeC4Shape={text:t},l.parentBoundary=Ga,l.wrap=dh()},"addPersonOrSystem"),C2e=s(function(t,e,r,n,i,a,o,l){if(e===null||r===null)return;let u={},h=Ko.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,Ko.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof o=="object"){let[f,d]=Object.entries(o)[0];u[f]=d}else u.tags=o;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=dh(),u.typeC4Shape={text:t},u.parentBoundary=Ga},"addContainer"),S2e=s(function(t,e,r,n,i,a,o,l){if(e===null||r===null)return;let u={},h=Ko.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,Ko.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof o=="object"){let[f,d]=Object.entries(o)[0];u[f]=d}else u.tags=o;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=dh(),u.typeC4Shape={text:t},u.parentBoundary=Ga},"addComponent"),_2e=s(function(t,e,r,n,i){if(t===null||e===null)return;let a={},o=Wl.find(l=>l.alias===t);if(o&&t===o.alias?a=o:(a.alias=t,Wl.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=Ga,a.wrap=dh(),jo=Ga,Ga=t,fh.push(jo)},"addPersonOrSystemBoundary"),A2e=s(function(t,e,r,n,i){if(t===null||e===null)return;let a={},o=Wl.find(l=>l.alias===t);if(o&&t===o.alias?a=o:(a.alias=t,Wl.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=Ga,a.wrap=dh(),jo=Ga,Ga=t,fh.push(jo)},"addContainerBoundary"),L2e=s(function(t,e,r,n,i,a,o,l){if(e===null||r===null)return;let u={},h=Wl.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,Wl.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.type={text:"node"};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.type={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof o=="object"){let[f,d]=Object.entries(o)[0];u[f]=d}else u.tags=o;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.nodeType=t,u.parentBoundary=Ga,u.wrap=dh(),jo=Ga,Ga=e,fh.push(jo)},"addDeploymentNode"),D2e=s(function(){Ga=jo,fh.pop(),jo=fh.pop(),fh.push(jo)},"popBoundaryParseStack"),R2e=s(function(t,e,r,n,i,a,o,l,u,h,f){let d=Ko.find(p=>p.alias===e);if(!(d===void 0&&(d=Wl.find(p=>p.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[p,m]=Object.entries(r)[0];d[p]=m}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[p,m]=Object.entries(n)[0];d[p]=m}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[p,m]=Object.entries(i)[0];d[p]=m}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[p,m]=Object.entries(a)[0];d[p]=m}else d.shadowing=a;if(o!=null)if(typeof o=="object"){let[p,m]=Object.entries(o)[0];d[p]=m}else d.shape=o;if(l!=null)if(typeof l=="object"){let[p,m]=Object.entries(l)[0];d[p]=m}else d.sprite=l;if(u!=null)if(typeof u=="object"){let[p,m]=Object.entries(u)[0];d[p]=m}else d.techn=u;if(h!=null)if(typeof h=="object"){let[p,m]=Object.entries(h)[0];d[p]=m}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,m]=Object.entries(f)[0];d[p]=m}else d.legendSprite=f}},"updateElStyle"),M2e=s(function(t,e,r,n,i,a,o){let l=H1.find(u=>u.from===e&&u.to===r);if(l!==void 0){if(n!=null)if(typeof n=="object"){let[u,h]=Object.entries(n)[0];l[u]=h}else l.textColor=n;if(i!=null)if(typeof i=="object"){let[u,h]=Object.entries(i)[0];l[u]=h}else l.lineColor=i;if(a!=null)if(typeof a=="object"){let[u,h]=Object.entries(a)[0];l[u]=parseInt(h)}else l.offsetX=parseInt(a);if(o!=null)if(typeof o=="object"){let[u,h]=Object.entries(o)[0];l[u]=parseInt(h)}else l.offsetY=parseInt(o)}},"updateRelStyle"),I2e=s(function(t,e,r){let n=Zb,i=Jb;if(typeof e=="object"){let a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){let a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(Zb=n),i>=1&&(Jb=i)},"updateLayoutConfig"),N2e=s(function(){return Zb},"getC4ShapeInRow"),O2e=s(function(){return Jb},"getC4BoundaryInRow"),P2e=s(function(){return Ga},"getCurrentBoundaryParse"),B2e=s(function(){return jo},"getParentBoundaryParse"),c$=s(function(t){return t==null?Ko:Ko.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),F2e=s(function(t){return Ko.find(e=>e.alias===t)},"getC4Shape"),z2e=s(function(t){return Object.keys(c$(t))},"getC4ShapeKeys"),u$=s(function(t){return t==null?Wl:Wl.filter(e=>e.parentBoundary===t)},"getBoundaries"),$2e=u$,G2e=s(function(){return H1},"getRels"),V2e=s(function(){return gC},"getTitle"),U2e=s(function(t){yC=t},"setWrap"),dh=s(function(){return yC},"autoWrap"),q2e=s(function(){Ko=[],Wl=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],jo="",Ga="global",fh=[""],H1=[],fh=[""],gC="",yC=!1,Zb=4,Jb=2},"clear"),W2e={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},H2e={FILLED:0,OPEN:1},Y2e={LEFTOF:0,RIGHTOF:1,OVER:2},X2e=s(function(t){gC=$r(t,le())},"setTitle"),Y1={addPersonOrSystem:E2e,addPersonOrSystemBoundary:_2e,addContainer:C2e,addContainerBoundary:A2e,addComponent:S2e,addDeploymentNode:L2e,popBoundaryParseStack:D2e,addRel:T2e,updateElStyle:R2e,updateRelStyle:M2e,updateLayoutConfig:I2e,autoWrap:dh,setWrap:U2e,getC4ShapeArray:c$,getC4Shape:F2e,getC4ShapeKeys:z2e,getBoundaries:u$,getBoundarys:$2e,getCurrentBoundaryParse:P2e,getParentBoundaryParse:B2e,getRels:G2e,getTitle:V2e,getC4Type:k2e,getC4ShapeInRow:N2e,getC4BoundaryInRow:O2e,setAccTitle:Ar,getAccTitle:Gr,getAccDescription:Ur,setAccDescription:Vr,getConfig:s(()=>le().c4,"getConfig"),clear:q2e,LINETYPE:W2e,ARROWTYPE:H2e,PLACEMENT:Y2e,setTitle:X2e,setC4Type:w2e}});function Vf(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}var xC=_(()=>{"use strict";s(Vf,"ascending")});function bC(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}var h$=_(()=>{"use strict";s(bC,"descending")});function Uf(t){let e,r,n;t.length!==2?(e=Vf,r=s((l,u)=>Vf(t(l),u),"compare2"),n=s((l,u)=>t(l)-u,"delta")):(e=t===Vf||t===bC?t:j2e,r=t,n=t);function i(l,u,h=0,f=l.length){if(h>>1;r(l[d],u)<0?h=d+1:f=d}while(h>>1;r(l[d],u)<=0?h=d+1:f=d}while(hh&&n(l[d-1],u)>-n(l[d],u)?d-1:d}return s(o,"center"),{left:i,center:o,right:a}}function j2e(){return 0}var kC=_(()=>{"use strict";xC();h$();s(Uf,"bisector");s(j2e,"zero")});function wC(t){return t===null?NaN:+t}var f$=_(()=>{"use strict";s(wC,"number")});var d$,p$,K2e,Q2e,TC,m$=_(()=>{"use strict";xC();kC();f$();d$=Uf(Vf),p$=d$.right,K2e=d$.left,Q2e=Uf(wC).center,TC=p$});function g$({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function Z2e({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function J2e({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function exe(t){return t!==null&&typeof t=="object"?t.valueOf():t}var ap,y$=_(()=>{"use strict";ap=class extends Map{static{s(this,"InternMap")}constructor(e,r=exe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(g$(this,e))}has(e){return super.has(g$(this,e))}set(e,r){return super.set(Z2e(this,e),r)}delete(e){return super.delete(J2e(this,e))}};s(g$,"intern_get");s(Z2e,"intern_set");s(J2e,"intern_delete");s(exe,"keyof")});function e4(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),o=a>=txe?10:a>=rxe?5:a>=nxe?2:1,l,u,h;return i<0?(h=Math.pow(10,-i)/o,l=Math.round(t*h),u=Math.round(e*h),l/he&&--u,h=-h):(h=Math.pow(10,i)*o,l=Math.round(t/h),u=Math.round(e/h),l*he&&--u),u0))return[];if(t===e)return[t];let n=e=i))return[];let l=a-i+1,u=new Array(l);if(n)if(o<0)for(let h=0;h{"use strict";txe=Math.sqrt(50),rxe=Math.sqrt(10),nxe=Math.sqrt(2);s(e4,"tickSpec");s(t4,"ticks");s(X1,"tickIncrement");s(sp,"tickStep")});function r4(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var x$=_(()=>{"use strict";s(r4,"max")});function n4(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var b$=_(()=>{"use strict";s(n4,"min")});function i4(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n{"use strict";s(i4,"range")});var ph=_(()=>{"use strict";m$();kC();x$();b$();k$();v$();y$()});function EC(t){return t}var w$=_(()=>{"use strict";s(EC,"default")});function ixe(t){return"translate("+t+",0)"}function axe(t){return"translate(0,"+t+")"}function sxe(t){return e=>+t(e)}function oxe(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function lxe(){return!this.__axis}function E$(t,e){var r=[],n=null,i=null,a=6,o=6,l=3,u=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=t===s4||t===a4?-1:1,f=t===a4||t===CC?"x":"y",d=t===s4||t===SC?ixe:axe;function p(m){var g=n??(e.ticks?e.ticks.apply(e,r):e.domain()),y=i??(e.tickFormat?e.tickFormat.apply(e,r):EC),v=Math.max(a,0)+l,x=e.range(),b=+x[0]+u,k=+x[x.length-1]+u,A=(e.bandwidth?oxe:sxe)(e.copy(),u),w=m.selection?m.selection():m,T=w.selectAll(".domain").data([null]),C=w.selectAll(".tick").data(g,e).order(),E=C.exit(),S=C.enter().append("g").attr("class","tick"),R=C.select("line"),D=C.select("text");T=T.merge(T.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),C=C.merge(S),R=R.merge(S.append("line").attr("stroke","currentColor").attr(f+"2",h*a)),D=D.merge(S.append("text").attr("fill","currentColor").attr(f,h*v).attr("dy",t===s4?"0em":t===SC?"0.71em":"0.32em")),m!==w&&(T=T.transition(m),C=C.transition(m),R=R.transition(m),D=D.transition(m),E=E.transition(m).attr("opacity",T$).attr("transform",function(L){return isFinite(L=A(L))?d(L+u):this.getAttribute("transform")}),S.attr("opacity",T$).attr("transform",function(L){var P=this.parentNode.__axis;return d((P&&isFinite(P=P(L))?P:A(L))+u)})),E.remove(),T.attr("d",t===a4||t===CC?o?"M"+h*o+","+b+"H"+u+"V"+k+"H"+h*o:"M"+u+","+b+"V"+k:o?"M"+b+","+h*o+"V"+u+"H"+k+"V"+h*o:"M"+b+","+u+"H"+k),C.attr("opacity",1).attr("transform",function(L){return d(A(L)+u)}),R.attr(f+"2",h*a),D.attr(f,h*v).text(y),w.filter(lxe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===CC?"start":t===a4?"end":"middle"),w.each(function(){this.__axis=A})}return s(p,"axis"),p.scale=function(m){return arguments.length?(e=m,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),p):r.slice()},p.tickValues=function(m){return arguments.length?(n=m==null?null:Array.from(m),p):n&&n.slice()},p.tickFormat=function(m){return arguments.length?(i=m,p):i},p.tickSize=function(m){return arguments.length?(a=o=+m,p):a},p.tickSizeInner=function(m){return arguments.length?(a=+m,p):a},p.tickSizeOuter=function(m){return arguments.length?(o=+m,p):o},p.tickPadding=function(m){return arguments.length?(l=+m,p):l},p.offset=function(m){return arguments.length?(u=+m,p):u},p}function _C(t){return E$(s4,t)}function AC(t){return E$(SC,t)}var s4,CC,SC,a4,T$,C$=_(()=>{"use strict";w$();s4=1,CC=2,SC=3,a4=4,T$=1e-6;s(ixe,"translateX");s(axe,"translateY");s(sxe,"number");s(oxe,"center");s(lxe,"entering");s(E$,"axis");s(_C,"axisTop");s(AC,"axisBottom")});var S$=_(()=>{"use strict";C$()});function A$(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}function hxe(t,e){for(var r=0,n=t.length,i;r{"use strict";cxe={value:s(()=>{},"value")};s(A$,"dispatch");s(o4,"Dispatch");s(uxe,"parseTypenames");o4.prototype=A$.prototype={constructor:o4,on:s(function(t,e){var r=this._,n=uxe(t+"",r),i,a=-1,o=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n{"use strict";L$()});var l4,RC,MC=_(()=>{"use strict";l4="http://www.w3.org/1999/xhtml",RC={svg:"http://www.w3.org/2000/svg",xhtml:l4,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function Hl(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),RC.hasOwnProperty(e)?{space:RC[e],local:t}:t}var c4=_(()=>{"use strict";MC();s(Hl,"default")});function fxe(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===l4&&e.documentElement.namespaceURI===l4?e.createElement(t):e.createElementNS(r,t)}}function dxe(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function j1(t){var e=Hl(t);return(e.local?dxe:fxe)(e)}var IC=_(()=>{"use strict";c4();MC();s(fxe,"creatorInherit");s(dxe,"creatorFixed");s(j1,"default")});function pxe(){}function mh(t){return t==null?pxe:function(){return this.querySelector(t)}}var u4=_(()=>{"use strict";s(pxe,"none");s(mh,"default")});function NC(t){typeof t!="function"&&(t=mh(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";Qo();u4();s(NC,"default")});function OC(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}var R$=_(()=>{"use strict";s(OC,"array")});function mxe(){return[]}function op(t){return t==null?mxe:function(){return this.querySelectorAll(t)}}var PC=_(()=>{"use strict";s(mxe,"empty");s(op,"default")});function gxe(t){return function(){return OC(t.apply(this,arguments))}}function BC(t){typeof t=="function"?t=gxe(t):t=op(t);for(var e=this._groups,r=e.length,n=[],i=[],a=0;a{"use strict";Qo();R$();PC();s(gxe,"arrayAll");s(BC,"default")});function lp(t){return function(){return this.matches(t)}}function h4(t){return function(e){return e.matches(t)}}var K1=_(()=>{"use strict";s(lp,"default");s(h4,"childMatcher")});function vxe(t){return function(){return yxe.call(this.children,t)}}function xxe(){return this.firstElementChild}function FC(t){return this.select(t==null?xxe:vxe(typeof t=="function"?t:h4(t)))}var yxe,I$=_(()=>{"use strict";K1();yxe=Array.prototype.find;s(vxe,"childFind");s(xxe,"childFirst");s(FC,"default")});function kxe(){return Array.from(this.children)}function wxe(t){return function(){return bxe.call(this.children,t)}}function zC(t){return this.selectAll(t==null?kxe:wxe(typeof t=="function"?t:h4(t)))}var bxe,N$=_(()=>{"use strict";K1();bxe=Array.prototype.filter;s(kxe,"children");s(wxe,"childrenFilter");s(zC,"default")});function $C(t){typeof t!="function"&&(t=lp(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";Qo();K1();s($C,"default")});function Q1(t){return new Array(t.length)}var GC=_(()=>{"use strict";s(Q1,"default")});function VC(){return new qn(this._enter||this._groups.map(Q1),this._parents)}function Z1(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var UC=_(()=>{"use strict";GC();Qo();s(VC,"default");s(Z1,"EnterNode");Z1.prototype={constructor:Z1,appendChild:s(function(t){return this._parent.insertBefore(t,this._next)},"appendChild"),insertBefore:s(function(t,e){return this._parent.insertBefore(t,e)},"insertBefore"),querySelector:s(function(t){return this._parent.querySelector(t)},"querySelector"),querySelectorAll:s(function(t){return this._parent.querySelectorAll(t)},"querySelectorAll")}});function qC(t){return function(){return t}}var P$=_(()=>{"use strict";s(qC,"default")});function Txe(t,e,r,n,i,a){for(var o=0,l,u=e.length,h=a.length;o=k&&(k=b+1);!(w=v[k])&&++k{"use strict";Qo();UC();P$();s(Txe,"bindIndex");s(Exe,"bindKey");s(Cxe,"datum");s(WC,"default");s(Sxe,"arraylike")});function HC(){return new qn(this._exit||this._groups.map(Q1),this._parents)}var F$=_(()=>{"use strict";GC();Qo();s(HC,"default")});function YC(t,e,r){var n=this.enter(),i=this,a=this.exit();return typeof t=="function"?(n=t(n),n&&(n=n.selection())):n=n.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),r==null?a.remove():r(a),n&&i?n.merge(i).order():i}var z$=_(()=>{"use strict";s(YC,"default")});function XC(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,i=r.length,a=n.length,o=Math.min(i,a),l=new Array(i),u=0;u{"use strict";Qo();s(XC,"default")});function jC(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(o=n[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}var G$=_(()=>{"use strict";s(jC,"default")});function KC(t){t||(t=_xe);function e(d,p){return d&&p?t(d.__data__,p.__data__):!d-!p}s(e,"compareNode");for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var V$=_(()=>{"use strict";Qo();s(KC,"default");s(_xe,"ascending")});function QC(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}var U$=_(()=>{"use strict";s(QC,"default")});function ZC(){return Array.from(this)}var q$=_(()=>{"use strict";s(ZC,"default")});function JC(){for(var t=this._groups,e=0,r=t.length;e{"use strict";s(JC,"default")});function eS(){let t=0;for(let e of this)++t;return t}var H$=_(()=>{"use strict";s(eS,"default")});function tS(){return!this.node()}var Y$=_(()=>{"use strict";s(tS,"default")});function rS(t){for(var e=this._groups,r=0,n=e.length;r{"use strict";s(rS,"default")});function Axe(t){return function(){this.removeAttribute(t)}}function Lxe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Dxe(t,e){return function(){this.setAttribute(t,e)}}function Rxe(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function Mxe(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function Ixe(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function nS(t,e){var r=Hl(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?Lxe:Axe:typeof e=="function"?r.local?Ixe:Mxe:r.local?Rxe:Dxe)(r,e))}var j$=_(()=>{"use strict";c4();s(Axe,"attrRemove");s(Lxe,"attrRemoveNS");s(Dxe,"attrConstant");s(Rxe,"attrConstantNS");s(Mxe,"attrFunction");s(Ixe,"attrFunctionNS");s(nS,"default")});function J1(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}var iS=_(()=>{"use strict";s(J1,"default")});function Nxe(t){return function(){this.style.removeProperty(t)}}function Oxe(t,e,r){return function(){this.style.setProperty(t,e,r)}}function Pxe(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function aS(t,e,r){return arguments.length>1?this.each((e==null?Nxe:typeof e=="function"?Pxe:Oxe)(t,e,r??"")):gh(this.node(),t)}function gh(t,e){return t.style.getPropertyValue(e)||J1(t).getComputedStyle(t,null).getPropertyValue(e)}var sS=_(()=>{"use strict";iS();s(Nxe,"styleRemove");s(Oxe,"styleConstant");s(Pxe,"styleFunction");s(aS,"default");s(gh,"styleValue")});function Bxe(t){return function(){delete this[t]}}function Fxe(t,e){return function(){this[t]=e}}function zxe(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function oS(t,e){return arguments.length>1?this.each((e==null?Bxe:typeof e=="function"?zxe:Fxe)(t,e)):this.node()[t]}var K$=_(()=>{"use strict";s(Bxe,"propertyRemove");s(Fxe,"propertyConstant");s(zxe,"propertyFunction");s(oS,"default")});function Q$(t){return t.trim().split(/^|\s+/)}function lS(t){return t.classList||new Z$(t)}function Z$(t){this._node=t,this._names=Q$(t.getAttribute("class")||"")}function J$(t,e){for(var r=lS(t),n=-1,i=e.length;++n{"use strict";s(Q$,"classArray");s(lS,"classList");s(Z$,"ClassList");Z$.prototype={add:s(function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},"add"),remove:s(function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},"remove"),contains:s(function(t){return this._names.indexOf(t)>=0},"contains")};s(J$,"classedAdd");s(eG,"classedRemove");s($xe,"classedTrue");s(Gxe,"classedFalse");s(Vxe,"classedFunction");s(cS,"default")});function Uxe(){this.textContent=""}function qxe(t){return function(){this.textContent=t}}function Wxe(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function uS(t){return arguments.length?this.each(t==null?Uxe:(typeof t=="function"?Wxe:qxe)(t)):this.node().textContent}var rG=_(()=>{"use strict";s(Uxe,"textRemove");s(qxe,"textConstant");s(Wxe,"textFunction");s(uS,"default")});function Hxe(){this.innerHTML=""}function Yxe(t){return function(){this.innerHTML=t}}function Xxe(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function hS(t){return arguments.length?this.each(t==null?Hxe:(typeof t=="function"?Xxe:Yxe)(t)):this.node().innerHTML}var nG=_(()=>{"use strict";s(Hxe,"htmlRemove");s(Yxe,"htmlConstant");s(Xxe,"htmlFunction");s(hS,"default")});function jxe(){this.nextSibling&&this.parentNode.appendChild(this)}function fS(){return this.each(jxe)}var iG=_(()=>{"use strict";s(jxe,"raise");s(fS,"default")});function Kxe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function dS(){return this.each(Kxe)}var aG=_(()=>{"use strict";s(Kxe,"lower");s(dS,"default")});function pS(t){var e=typeof t=="function"?t:j1(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}var sG=_(()=>{"use strict";IC();s(pS,"default")});function Qxe(){return null}function mS(t,e){var r=typeof t=="function"?t:j1(t),n=e==null?Qxe:typeof e=="function"?e:mh(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}var oG=_(()=>{"use strict";IC();u4();s(Qxe,"constantNull");s(mS,"default")});function Zxe(){var t=this.parentNode;t&&t.removeChild(this)}function gS(){return this.each(Zxe)}var lG=_(()=>{"use strict";s(Zxe,"remove");s(gS,"default")});function Jxe(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function ebe(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function yS(t){return this.select(t?ebe:Jxe)}var cG=_(()=>{"use strict";s(Jxe,"selection_cloneShallow");s(ebe,"selection_cloneDeep");s(yS,"default")});function vS(t){return arguments.length?this.property("__data__",t):this.node().__data__}var uG=_(()=>{"use strict";s(vS,"default")});function tbe(t){return function(e){t.call(this,e,this.__data__)}}function rbe(t){return t.trim().split(/^|\s+/).map(function(e){var r="",n=e.indexOf(".");return n>=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function nbe(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r{"use strict";s(tbe,"contextListener");s(rbe,"parseTypenames");s(nbe,"onRemove");s(ibe,"onAdd");s(xS,"default")});function fG(t,e,r){var n=J1(t),i=n.CustomEvent;typeof i=="function"?i=new i(e,r):(i=n.document.createEvent("Event"),r?(i.initEvent(e,r.bubbles,r.cancelable),i.detail=r.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function abe(t,e){return function(){return fG(this,t,e)}}function sbe(t,e){return function(){return fG(this,t,e.apply(this,arguments))}}function bS(t,e){return this.each((typeof e=="function"?sbe:abe)(t,e))}var dG=_(()=>{"use strict";iS();s(fG,"dispatchEvent");s(abe,"dispatchConstant");s(sbe,"dispatchFunction");s(bS,"default")});function*kS(){for(var t=this._groups,e=0,r=t.length;e{"use strict";s(kS,"default")});function qn(t,e){this._groups=t,this._parents=e}function mG(){return new qn([[document.documentElement]],wS)}function obe(){return this}var wS,eu,Qo=_(()=>{"use strict";D$();M$();I$();N$();O$();B$();UC();F$();z$();$$();G$();V$();U$();q$();W$();H$();Y$();X$();j$();sS();K$();tG();rG();nG();iG();aG();sG();oG();lG();cG();uG();hG();dG();pG();wS=[null];s(qn,"Selection");s(mG,"selection");s(obe,"selection_selection");qn.prototype=mG.prototype={constructor:qn,select:NC,selectAll:BC,selectChild:FC,selectChildren:zC,filter:$C,data:WC,enter:VC,exit:HC,join:YC,merge:XC,selection:obe,order:jC,sort:KC,call:QC,nodes:ZC,node:JC,size:eS,empty:tS,each:rS,attr:nS,style:aS,property:oS,classed:cS,text:uS,html:hS,raise:fS,lower:dS,append:pS,insert:mS,remove:gS,clone:yS,datum:vS,on:xS,dispatch:bS,[Symbol.iterator]:kS};eu=mG});function Me(t){return typeof t=="string"?new qn([[document.querySelector(t)]],[document.documentElement]):new qn([[t]],wS)}var gG=_(()=>{"use strict";Qo();s(Me,"default")});var Zo=_(()=>{"use strict";K1();c4();gG();Qo();u4();PC();sS()});var yG=_(()=>{"use strict"});function yh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function cp(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}var TS=_(()=>{"use strict";s(yh,"default");s(cp,"extend")});function vh(){}function xG(){return this.rgb().formatHex()}function mbe(){return this.rgb().formatHex8()}function gbe(){return SG(this).formatHsl()}function bG(){return this.rgb().formatRgb()}function el(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=lbe.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?kG(e):r===3?new Ji(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?f4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?f4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=cbe.exec(t))?new Ji(e[1],e[2],e[3],1):(e=ube.exec(t))?new Ji(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=hbe.exec(t))?f4(e[1],e[2],e[3],e[4]):(e=fbe.exec(t))?f4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=dbe.exec(t))?EG(e[1],e[2]/100,e[3]/100,1):(e=pbe.exec(t))?EG(e[1],e[2]/100,e[3]/100,e[4]):vG.hasOwnProperty(t)?kG(vG[t]):t==="transparent"?new Ji(NaN,NaN,NaN,0):null}function kG(t){return new Ji(t>>16&255,t>>8&255,t&255,1)}function f4(t,e,r,n){return n<=0&&(t=e=r=NaN),new Ji(t,e,r,n)}function CS(t){return t instanceof vh||(t=el(t)),t?(t=t.rgb(),new Ji(t.r,t.g,t.b,t.opacity)):new Ji}function hp(t,e,r,n){return arguments.length===1?CS(t):new Ji(t,e,r,n??1)}function Ji(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function wG(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}`}function ybe(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}${qf((isNaN(this.opacity)?1:this.opacity)*255)}`}function TG(){let t=m4(this.opacity);return`${t===1?"rgb(":"rgba("}${Wf(this.r)}, ${Wf(this.g)}, ${Wf(this.b)}${t===1?")":`, ${t})`}`}function m4(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Wf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qf(t){return t=Wf(t),(t<16?"0":"")+t.toString(16)}function EG(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Jo(t,e,r,n)}function SG(t){if(t instanceof Jo)return new Jo(t.h,t.s,t.l,t.opacity);if(t instanceof vh||(t=el(t)),!t)return new Jo;if(t instanceof Jo)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),o=NaN,l=a-i,u=(a+i)/2;return l?(e===a?o=(r-n)/l+(r0&&u<1?0:o,new Jo(o,l,u,t.opacity)}function _G(t,e,r,n){return arguments.length===1?SG(t):new Jo(t,e,r,n??1)}function Jo(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function CG(t){return t=(t||0)%360,t<0?t+360:t}function d4(t){return Math.max(0,Math.min(1,t||0))}function ES(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}var ey,p4,up,ty,Yl,lbe,cbe,ube,hbe,fbe,dbe,pbe,vG,SS=_(()=>{"use strict";TS();s(vh,"Color");ey=.7,p4=1/ey,up="\\s*([+-]?\\d+)\\s*",ty="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Yl="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",lbe=/^#([0-9a-f]{3,8})$/,cbe=new RegExp(`^rgb\\(${up},${up},${up}\\)$`),ube=new RegExp(`^rgb\\(${Yl},${Yl},${Yl}\\)$`),hbe=new RegExp(`^rgba\\(${up},${up},${up},${ty}\\)$`),fbe=new RegExp(`^rgba\\(${Yl},${Yl},${Yl},${ty}\\)$`),dbe=new RegExp(`^hsl\\(${ty},${Yl},${Yl}\\)$`),pbe=new RegExp(`^hsla\\(${ty},${Yl},${Yl},${ty}\\)$`),vG={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};yh(vh,el,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:xG,formatHex:xG,formatHex8:mbe,formatHsl:gbe,formatRgb:bG,toString:bG});s(xG,"color_formatHex");s(mbe,"color_formatHex8");s(gbe,"color_formatHsl");s(bG,"color_formatRgb");s(el,"color");s(kG,"rgbn");s(f4,"rgba");s(CS,"rgbConvert");s(hp,"rgb");s(Ji,"Rgb");yh(Ji,hp,cp(vh,{brighter(t){return t=t==null?p4:Math.pow(p4,t),new Ji(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ey:Math.pow(ey,t),new Ji(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ji(Wf(this.r),Wf(this.g),Wf(this.b),m4(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:wG,formatHex:wG,formatHex8:ybe,formatRgb:TG,toString:TG}));s(wG,"rgb_formatHex");s(ybe,"rgb_formatHex8");s(TG,"rgb_formatRgb");s(m4,"clampa");s(Wf,"clampi");s(qf,"hex");s(EG,"hsla");s(SG,"hslConvert");s(_G,"hsl");s(Jo,"Hsl");yh(Jo,_G,cp(vh,{brighter(t){return t=t==null?p4:Math.pow(p4,t),new Jo(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ey:Math.pow(ey,t),new Jo(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Ji(ES(t>=240?t-240:t+120,i,n),ES(t,i,n),ES(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Jo(CG(this.h),d4(this.s),d4(this.l),m4(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=m4(this.opacity);return`${t===1?"hsl(":"hsla("}${CG(this.h)}, ${d4(this.s)*100}%, ${d4(this.l)*100}%${t===1?")":`, ${t})`}`}}));s(CG,"clamph");s(d4,"clampt");s(ES,"hsl2rgb")});var AG,LG,DG=_(()=>{"use strict";AG=Math.PI/180,LG=180/Math.PI});function PG(t){if(t instanceof Xl)return new Xl(t.l,t.a,t.b,t.opacity);if(t instanceof tu)return BG(t);t instanceof Ji||(t=CS(t));var e=DS(t.r),r=DS(t.g),n=DS(t.b),i=_S((.2225045*e+.7168786*r+.0606169*n)/MG),a,o;return e===r&&r===n?a=o=i:(a=_S((.4360747*e+.3850649*r+.1430804*n)/RG),o=_S((.0139322*e+.0971045*r+.7141733*n)/IG)),new Xl(116*i-16,500*(a-i),200*(i-o),t.opacity)}function RS(t,e,r,n){return arguments.length===1?PG(t):new Xl(t,e,r,n??1)}function Xl(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function _S(t){return t>vbe?Math.pow(t,1/3):t/OG+NG}function AS(t){return t>fp?t*t*t:OG*(t-NG)}function LS(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function DS(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function xbe(t){if(t instanceof tu)return new tu(t.h,t.c,t.l,t.opacity);if(t instanceof Xl||(t=PG(t)),t.a===0&&t.b===0)return new tu(NaN,0{"use strict";TS();SS();DG();g4=18,RG=.96422,MG=1,IG=.82521,NG=4/29,fp=6/29,OG=3*fp*fp,vbe=fp*fp*fp;s(PG,"labConvert");s(RS,"lab");s(Xl,"Lab");yh(Xl,RS,cp(vh,{brighter(t){return new Xl(this.l+g4*(t??1),this.a,this.b,this.opacity)},darker(t){return new Xl(this.l-g4*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=RG*AS(e),t=MG*AS(t),r=IG*AS(r),new Ji(LS(3.1338561*e-1.6168667*t-.4906146*r),LS(-.9787684*e+1.9161415*t+.033454*r),LS(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));s(_S,"xyz2lab");s(AS,"lab2xyz");s(LS,"lrgb2rgb");s(DS,"rgb2lrgb");s(xbe,"hclConvert");s(ry,"hcl");s(tu,"Hcl");s(BG,"hcl2lab");yh(tu,ry,cp(vh,{brighter(t){return new tu(this.h,this.c,this.l+g4*(t??1),this.opacity)},darker(t){return new tu(this.h,this.c,this.l-g4*(t??1),this.opacity)},rgb(){return BG(this).rgb()}}))});var dp=_(()=>{"use strict";SS();FG()});function MS(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}function IS(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,l=n{"use strict";s(MS,"basis");s(IS,"default")});function OS(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],a=t[n%e],o=t[(n+1)%e],l=t[(n+2)%e];return MS((r-n/e)*e,i,a,o,l)}}var zG=_(()=>{"use strict";NS();s(OS,"default")});var pp,PS=_(()=>{"use strict";pp=s(t=>()=>t,"default")});function $G(t,e){return function(r){return t+r*e}}function bbe(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function GG(t,e){var r=e-t;return r?$G(t,r>180||r<-180?r-360*Math.round(r/360):r):pp(isNaN(t)?e:t)}function VG(t){return(t=+t)==1?ru:function(e,r){return r-e?bbe(e,r,t):pp(isNaN(e)?r:e)}}function ru(t,e){var r=e-t;return r?$G(t,r):pp(isNaN(t)?e:t)}var BS=_(()=>{"use strict";PS();s($G,"linear");s(bbe,"exponential");s(GG,"hue");s(VG,"gamma");s(ru,"nogamma")});function UG(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),a=new Array(r),o,l;for(o=0;o{"use strict";dp();NS();zG();BS();Hf=s(function t(e){var r=VG(e);function n(i,a){var o=r((i=hp(i)).r,(a=hp(a)).r),l=r(i.g,a.g),u=r(i.b,a.b),h=ru(i.opacity,a.opacity);return function(f){return i.r=o(f),i.g=l(f),i.b=u(f),i.opacity=h(f),i+""}}return s(n,"rgb"),n.gamma=t,n},"rgbGamma")(1);s(UG,"rgbSpline");kbe=UG(IS),wbe=UG(OS)});function zS(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;i{"use strict";s(zS,"default");s(qG,"isNumberArray")});function HG(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o{"use strict";y4();s(HG,"genericArray")});function $S(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}var XG=_(()=>{"use strict";s($S,"default")});function $i(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var ny=_(()=>{"use strict";s($i,"default")});function GS(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=xh(t[i],e[i]):n[i]=e[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var jG=_(()=>{"use strict";y4();s(GS,"default")});function Tbe(t){return function(){return t}}function Ebe(t){return function(e){return t(e)+""}}function mp(t,e){var r=US.lastIndex=VS.lastIndex=0,n,i,a,o=-1,l=[],u=[];for(t=t+"",e=e+"";(n=US.exec(t))&&(i=VS.exec(e));)(a=i.index)>r&&(a=e.slice(r,a),l[o]?l[o]+=a:l[++o]=a),(n=n[0])===(i=i[0])?l[o]?l[o]+=i:l[++o]=i:(l[++o]=null,u.push({i:o,x:$i(n,i)})),r=VS.lastIndex;return r{"use strict";ny();US=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,VS=new RegExp(US.source,"g");s(Tbe,"zero");s(Ebe,"one");s(mp,"default")});function xh(t,e){var r=typeof e,n;return e==null||r==="boolean"?pp(e):(r==="number"?$i:r==="string"?(n=el(e))?(e=n,Hf):mp:e instanceof el?Hf:e instanceof Date?$S:qG(e)?zS:Array.isArray(e)?HG:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?GS:$i)(t,e)}var y4=_(()=>{"use strict";dp();FS();YG();XG();ny();jG();qS();PS();WG();s(xh,"default")});function v4(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var KG=_(()=>{"use strict";s(v4,"default")});function b4(t,e,r,n,i,a){var o,l,u;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(u=t*r+e*n)&&(r-=t*u,n-=e*u),(l=Math.sqrt(r*r+n*n))&&(r/=l,n/=l,u/=l),t*n{"use strict";QG=180/Math.PI,x4={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};s(b4,"default")});function JG(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?x4:b4(e.a,e.b,e.c,e.d,e.e,e.f)}function eV(t){return t==null?x4:(k4||(k4=document.createElementNS("http://www.w3.org/2000/svg","g")),k4.setAttribute("transform",t),(t=k4.transform.baseVal.consolidate())?(t=t.matrix,b4(t.a,t.b,t.c,t.d,t.e,t.f)):x4)}var k4,tV=_(()=>{"use strict";ZG();s(JG,"parseCss");s(eV,"parseSvg")});function rV(t,e,r,n){function i(h){return h.length?h.pop()+" ":""}s(i,"pop");function a(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push("translate(",null,e,null,r);g.push({i:y-4,x:$i(h,d)},{i:y-2,x:$i(f,p)})}else(d||p)&&m.push("translate("+d+e+p+r)}s(a,"translate");function o(h,f,d,p){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),p.push({i:d.push(i(d)+"rotate(",null,n)-2,x:$i(h,f)})):f&&d.push(i(d)+"rotate("+f+n)}s(o,"rotate");function l(h,f,d,p){h!==f?p.push({i:d.push(i(d)+"skewX(",null,n)-2,x:$i(h,f)}):f&&d.push(i(d)+"skewX("+f+n)}s(l,"skewX");function u(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push(i(m)+"scale(",null,",",null,")");g.push({i:y-4,x:$i(h,d)},{i:y-2,x:$i(f,p)})}else(d!==1||p!==1)&&m.push(i(m)+"scale("+d+","+p+")")}return s(u,"scale"),function(h,f){var d=[],p=[];return h=t(h),f=t(f),a(h.translateX,h.translateY,f.translateX,f.translateY,d,p),o(h.rotate,f.rotate,d,p),l(h.skewX,f.skewX,d,p),u(h.scaleX,h.scaleY,f.scaleX,f.scaleY,d,p),h=f=null,function(m){for(var g=-1,y=p.length,v;++g{"use strict";ny();tV();s(rV,"interpolateTransform");WS=rV(JG,"px, ","px)","deg)"),HS=rV(eV,", ",")",")")});function iV(t){return function(e,r){var n=t((e=ry(e)).h,(r=ry(r)).h),i=ru(e.c,r.c),a=ru(e.l,r.l),o=ru(e.opacity,r.opacity);return function(l){return e.h=n(l),e.c=i(l),e.l=a(l),e.opacity=o(l),e+""}}}var YS,Cbe,aV=_(()=>{"use strict";dp();BS();s(iV,"hcl");YS=iV(GG),Cbe=iV(ru)});var gp=_(()=>{"use strict";y4();ny();KG();qS();nV();FS();aV()});function cy(){return Yf||(lV(Sbe),Yf=oy.now()+E4)}function Sbe(){Yf=0}function ly(){this._call=this._time=this._next=null}function C4(t,e,r){var n=new ly;return n.restart(t,e,r),n}function cV(){cy(),++yp;for(var t=w4,e;t;)(e=Yf-t._time)>=0&&t._call.call(void 0,e),t=t._next;--yp}function sV(){Yf=(T4=oy.now())+E4,yp=ay=0;try{cV()}finally{yp=0,Abe(),Yf=0}}function _be(){var t=oy.now(),e=t-T4;e>oV&&(E4-=e,T4=t)}function Abe(){for(var t,e=w4,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:w4=r);sy=t,XS(n)}function XS(t){if(!yp){ay&&(ay=clearTimeout(ay));var e=t-Yf;e>24?(t<1/0&&(ay=setTimeout(sV,t-oy.now()-E4)),iy&&(iy=clearInterval(iy))):(iy||(T4=oy.now(),iy=setInterval(_be,oV)),yp=1,lV(sV))}}var yp,ay,iy,oV,w4,sy,T4,Yf,E4,oy,lV,jS=_(()=>{"use strict";yp=0,ay=0,iy=0,oV=1e3,T4=0,Yf=0,E4=0,oy=typeof performance=="object"&&performance.now?performance:Date,lV=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};s(cy,"now");s(Sbe,"clearNow");s(ly,"Timer");ly.prototype=C4.prototype={constructor:ly,restart:s(function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?cy():+r)+(e==null?0:+e),!this._next&&sy!==this&&(sy?sy._next=this:w4=this,sy=this),this._call=t,this._time=r,XS()},"restart"),stop:s(function(){this._call&&(this._call=null,this._time=1/0,XS())},"stop")};s(C4,"timer");s(cV,"timerFlush");s(sV,"wake");s(_be,"poke");s(Abe,"nap");s(XS,"sleep")});function uy(t,e,r){var n=new ly;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var uV=_(()=>{"use strict";jS();s(uy,"default")});var S4=_(()=>{"use strict";jS();uV()});function nu(t,e,r,n,i,a){var o=t.__transition;if(!o)t.__transition={};else if(r in o)return;Rbe(t,r,{name:e,index:n,group:i,on:Lbe,tween:Dbe,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:dV})}function fy(t,e){var r=Si(t,e);if(r.state>dV)throw new Error("too late; already scheduled");return r}function ea(t,e){var r=Si(t,e);if(r.state>_4)throw new Error("too late; already running");return r}function Si(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function Rbe(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=C4(a,0,r.time);function a(h){r.state=hV,r.timer.restart(o,r.delay,r.time),r.delay<=h&&o(h-r.delay)}s(a,"schedule");function o(h){var f,d,p,m;if(r.state!==hV)return u();for(f in n)if(m=n[f],m.name===r.name){if(m.state===_4)return uy(o);m.state===fV?(m.state=hy,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete n[f]):+f{"use strict";DC();S4();Lbe=LC("start","end","cancel","interrupt"),Dbe=[],dV=0,hV=1,A4=2,_4=3,fV=4,L4=5,hy=6;s(nu,"default");s(fy,"init");s(ea,"set");s(Si,"get");s(Rbe,"create")});function dy(t,e){var r=t.__transition,n,i,a=!0,o;if(r){e=e==null?null:e+"";for(o in r){if((n=r[o]).name!==e){a=!1;continue}i=n.state>A4&&n.state{"use strict";us();s(dy,"default")});function KS(t){return this.each(function(){dy(this,t)})}var mV=_(()=>{"use strict";pV();s(KS,"default")});function Mbe(t,e){var r,n;return function(){var i=ea(this,t),a=i.tween;if(a!==r){n=r=a;for(var o=0,l=n.length;o{"use strict";us();s(Mbe,"tweenRemove");s(Ibe,"tweenFunction");s(QS,"default");s(vp,"tweenValue")});function my(t,e){var r;return(typeof e=="number"?$i:e instanceof el?Hf:(r=el(e))?(e=r,Hf):mp)(t,e)}var ZS=_(()=>{"use strict";dp();gp();s(my,"default")});function Nbe(t){return function(){this.removeAttribute(t)}}function Obe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Pbe(t,e,r){var n,i=r+"",a;return function(){var o=this.getAttribute(t);return o===i?null:o===n?a:a=e(n=o,r)}}function Bbe(t,e,r){var n,i=r+"",a;return function(){var o=this.getAttributeNS(t.space,t.local);return o===i?null:o===n?a:a=e(n=o,r)}}function Fbe(t,e,r){var n,i,a;return function(){var o,l=r(this),u;return l==null?void this.removeAttribute(t):(o=this.getAttribute(t),u=l+"",o===u?null:o===n&&u===i?a:(i=u,a=e(n=o,l)))}}function zbe(t,e,r){var n,i,a;return function(){var o,l=r(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),u=l+"",o===u?null:o===n&&u===i?a:(i=u,a=e(n=o,l)))}}function JS(t,e){var r=Hl(t),n=r==="transform"?HS:my;return this.attrTween(t,typeof e=="function"?(r.local?zbe:Fbe)(r,n,vp(this,"attr."+t,e)):e==null?(r.local?Obe:Nbe)(r):(r.local?Bbe:Pbe)(r,n,e))}var gV=_(()=>{"use strict";gp();Zo();py();ZS();s(Nbe,"attrRemove");s(Obe,"attrRemoveNS");s(Pbe,"attrConstant");s(Bbe,"attrConstantNS");s(Fbe,"attrFunction");s(zbe,"attrFunctionNS");s(JS,"default")});function $be(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function Gbe(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function Vbe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&Gbe(t,a)),r}return s(i,"tween"),i._value=e,i}function Ube(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&$be(t,a)),r}return s(i,"tween"),i._value=e,i}function e8(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var n=Hl(t);return this.tween(r,(n.local?Vbe:Ube)(n,e))}var yV=_(()=>{"use strict";Zo();s($be,"attrInterpolate");s(Gbe,"attrInterpolateNS");s(Vbe,"attrTweenNS");s(Ube,"attrTween");s(e8,"default")});function qbe(t,e){return function(){fy(this,t).delay=+e.apply(this,arguments)}}function Wbe(t,e){return e=+e,function(){fy(this,t).delay=e}}function t8(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?qbe:Wbe)(e,t)):Si(this.node(),e).delay}var vV=_(()=>{"use strict";us();s(qbe,"delayFunction");s(Wbe,"delayConstant");s(t8,"default")});function Hbe(t,e){return function(){ea(this,t).duration=+e.apply(this,arguments)}}function Ybe(t,e){return e=+e,function(){ea(this,t).duration=e}}function r8(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Hbe:Ybe)(e,t)):Si(this.node(),e).duration}var xV=_(()=>{"use strict";us();s(Hbe,"durationFunction");s(Ybe,"durationConstant");s(r8,"default")});function Xbe(t,e){if(typeof e!="function")throw new Error;return function(){ea(this,t).ease=e}}function n8(t){var e=this._id;return arguments.length?this.each(Xbe(e,t)):Si(this.node(),e).ease}var bV=_(()=>{"use strict";us();s(Xbe,"easeConstant");s(n8,"default")});function jbe(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;ea(this,t).ease=r}}function i8(t){if(typeof t!="function")throw new Error;return this.each(jbe(this._id,t))}var kV=_(()=>{"use strict";us();s(jbe,"easeVarying");s(i8,"default")});function a8(t){typeof t!="function"&&(t=lp(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";Zo();Xf();s(a8,"default")});function s8(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,i=r.length,a=Math.min(n,i),o=new Array(n),l=0;l{"use strict";Xf();s(s8,"default")});function Kbe(t){return(t+"").trim().split(/^|\s+/).every(function(e){var r=e.indexOf(".");return r>=0&&(e=e.slice(0,r)),!e||e==="start"})}function Qbe(t,e,r){var n,i,a=Kbe(e)?fy:ea;return function(){var o=a(this,t),l=o.on;l!==n&&(i=(n=l).copy()).on(e,r),o.on=i}}function o8(t,e){var r=this._id;return arguments.length<2?Si(this.node(),r).on.on(t):this.each(Qbe(r,t,e))}var EV=_(()=>{"use strict";us();s(Kbe,"start");s(Qbe,"onFunction");s(o8,"default")});function Zbe(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function l8(){return this.on("end.remove",Zbe(this._id))}var CV=_(()=>{"use strict";s(Zbe,"removeFunction");s(l8,"default")});function c8(t){var e=this._name,r=this._id;typeof t!="function"&&(t=mh(t));for(var n=this._groups,i=n.length,a=new Array(i),o=0;o{"use strict";Zo();Xf();us();s(c8,"default")});function u8(t){var e=this._name,r=this._id;typeof t!="function"&&(t=op(t));for(var n=this._groups,i=n.length,a=[],o=[],l=0;l{"use strict";Zo();Xf();us();s(u8,"default")});function h8(){return new Jbe(this._groups,this._parents)}var Jbe,AV=_(()=>{"use strict";Zo();Jbe=eu.prototype.constructor;s(h8,"default")});function e4e(t,e){var r,n,i;return function(){var a=gh(this,t),o=(this.style.removeProperty(t),gh(this,t));return a===o?null:a===r&&o===n?i:i=e(r=a,n=o)}}function LV(t){return function(){this.style.removeProperty(t)}}function t4e(t,e,r){var n,i=r+"",a;return function(){var o=gh(this,t);return o===i?null:o===n?a:a=e(n=o,r)}}function r4e(t,e,r){var n,i,a;return function(){var o=gh(this,t),l=r(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),gh(this,t))),o===u?null:o===n&&u===i?a:(i=u,a=e(n=o,l))}}function n4e(t,e){var r,n,i,a="style."+e,o="end."+a,l;return function(){var u=ea(this,t),h=u.on,f=u.value[a]==null?l||(l=LV(e)):void 0;(h!==r||i!==f)&&(n=(r=h).copy()).on(o,i=f),u.on=n}}function f8(t,e,r){var n=(t+="")=="transform"?WS:my;return e==null?this.styleTween(t,e4e(t,n)).on("end.style."+t,LV(t)):typeof e=="function"?this.styleTween(t,r4e(t,n,vp(this,"style."+t,e))).each(n4e(this._id,t)):this.styleTween(t,t4e(t,n,e),r).on("end.style."+t,null)}var DV=_(()=>{"use strict";gp();Zo();us();py();ZS();s(e4e,"styleNull");s(LV,"styleRemove");s(t4e,"styleConstant");s(r4e,"styleFunction");s(n4e,"styleMaybeRemove");s(f8,"default")});function i4e(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function a4e(t,e,r){var n,i;function a(){var o=e.apply(this,arguments);return o!==i&&(n=(i=o)&&i4e(t,o,r)),n}return s(a,"tween"),a._value=e,a}function d8(t,e,r){var n="style."+(t+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,a4e(t,e,r??""))}var RV=_(()=>{"use strict";s(i4e,"styleInterpolate");s(a4e,"styleTween");s(d8,"default")});function s4e(t){return function(){this.textContent=t}}function o4e(t){return function(){var e=t(this);this.textContent=e??""}}function p8(t){return this.tween("text",typeof t=="function"?o4e(vp(this,"text",t)):s4e(t==null?"":t+""))}var MV=_(()=>{"use strict";py();s(s4e,"textConstant");s(o4e,"textFunction");s(p8,"default")});function l4e(t){return function(e){this.textContent=t.call(this,e)}}function c4e(t){var e,r;function n(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&l4e(i)),e}return s(n,"tween"),n._value=t,n}function m8(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,c4e(t))}var IV=_(()=>{"use strict";s(l4e,"textInterpolate");s(c4e,"textTween");s(m8,"default")});function g8(){for(var t=this._name,e=this._id,r=D4(),n=this._groups,i=n.length,a=0;a{"use strict";Xf();us();s(g8,"default")});function y8(){var t,e,r=this,n=r._id,i=r.size();return new Promise(function(a,o){var l={value:o},u={value:s(function(){--i===0&&a()},"value")};r.each(function(){var h=ea(this,n),f=h.on;f!==t&&(e=(t=f).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),h.on=e}),i===0&&a()})}var OV=_(()=>{"use strict";us();s(y8,"default")});function Va(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function PV(t){return eu().transition(t)}function D4(){return++u4e}var u4e,iu,Xf=_(()=>{"use strict";Zo();gV();yV();vV();xV();bV();kV();wV();TV();EV();CV();SV();_V();AV();DV();RV();MV();IV();NV();py();OV();u4e=0;s(Va,"Transition");s(PV,"transition");s(D4,"newId");iu=eu.prototype;Va.prototype=PV.prototype={constructor:Va,select:c8,selectAll:u8,selectChild:iu.selectChild,selectChildren:iu.selectChildren,filter:a8,merge:s8,selection:h8,transition:g8,call:iu.call,nodes:iu.nodes,node:iu.node,size:iu.size,empty:iu.empty,each:iu.each,on:o8,attr:JS,attrTween:e8,style:f8,styleTween:d8,text:p8,textTween:m8,remove:l8,tween:QS,delay:t8,duration:r8,ease:n8,easeVarying:i8,end:y8,[Symbol.iterator]:iu[Symbol.iterator]}});function R4(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var BV=_(()=>{"use strict";s(R4,"cubicInOut")});var v8=_(()=>{"use strict";BV()});function f4e(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function x8(t){var e,r;t instanceof Va?(e=t._id,t=t._name):(e=D4(),(r=h4e).time=cy(),t=t==null?null:t+"");for(var n=this._groups,i=n.length,a=0;a{"use strict";Xf();us();v8();S4();h4e={time:null,delay:0,duration:250,ease:R4};s(f4e,"inherit");s(x8,"default")});var zV=_(()=>{"use strict";Zo();mV();FV();eu.prototype.interrupt=KS;eu.prototype.transition=x8});var M4=_(()=>{"use strict";zV()});var $V=_(()=>{"use strict"});var GV=_(()=>{"use strict"});var VV=_(()=>{"use strict"});function UV(t){return[+t[0],+t[1]]}function d4e(t){return[UV(t[0]),UV(t[1])]}function b8(t){return{type:t}}var tft,rft,nft,ift,aft,sft,qV=_(()=>{"use strict";M4();$V();GV();VV();({abs:tft,max:rft,min:nft}=Math);s(UV,"number1");s(d4e,"number2");ift={name:"x",handles:["w","e"].map(b8),input:s(function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},"input"),output:s(function(t){return t&&[t[0][0],t[1][0]]},"output")},aft={name:"y",handles:["n","s"].map(b8),input:s(function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},"input"),output:s(function(t){return t&&[t[0][1],t[1][1]]},"output")},sft={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(b8),input:s(function(t){return t==null?null:d4e(t)},"input"),output:s(function(t){return t},"output")};s(b8,"type")});var WV=_(()=>{"use strict";qV()});function HV(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return HV;let r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;i{"use strict";k8=Math.PI,w8=2*k8,jf=1e-6,p4e=w8-jf;s(HV,"append");s(m4e,"appendRound");Kf=class{static{s(this,"Path")}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?HV:m4e(e)}moveTo(e,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,r){this._append`L${this._x1=+e},${this._y1=+r}`}quadraticCurveTo(e,r,n,i){this._append`Q${+e},${+r},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(e,r,n,i,a,o){this._append`C${+e},${+r},${+n},${+i},${this._x1=+a},${this._y1=+o}`}arcTo(e,r,n,i,a){if(e=+e,r=+r,n=+n,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let o=this._x1,l=this._y1,u=n-e,h=i-r,f=o-e,d=l-r,p=f*f+d*d;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(p>jf)if(!(Math.abs(d*u-h*f)>jf)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let m=n-o,g=i-l,y=u*u+h*h,v=m*m+g*g,x=Math.sqrt(y),b=Math.sqrt(p),k=a*Math.tan((k8-Math.acos((y+p-v)/(2*x*b)))/2),A=k/b,w=k/x;Math.abs(A-1)>jf&&this._append`L${e+A*f},${r+A*d}`,this._append`A${a},${a},0,0,${+(d*m>f*g)},${this._x1=e+w*u},${this._y1=r+w*h}`}}arc(e,r,n,i,a,o){if(e=+e,r=+r,n=+n,o=!!o,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(i),u=n*Math.sin(i),h=e+l,f=r+u,d=1^o,p=o?i-a:a-i;this._x1===null?this._append`M${h},${f}`:(Math.abs(this._x1-h)>jf||Math.abs(this._y1-f)>jf)&&this._append`L${h},${f}`,n&&(p<0&&(p=p%w8+w8),p>p4e?this._append`A${n},${n},0,1,${d},${e-l},${r-u}A${n},${n},0,1,${d},${this._x1=h},${this._y1=f}`:p>jf&&this._append`A${n},${n},0,${+(p>=k8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};s(YV,"path");YV.prototype=Kf.prototype});var T8=_(()=>{"use strict";XV()});var jV=_(()=>{"use strict"});var KV=_(()=>{"use strict"});var QV=_(()=>{"use strict"});var ZV=_(()=>{"use strict"});var JV=_(()=>{"use strict"});var eU=_(()=>{"use strict"});var tU=_(()=>{"use strict"});function E8(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Qf(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}var gy=_(()=>{"use strict";s(E8,"default");s(Qf,"formatDecimalParts")});function tl(t){return t=Qf(Math.abs(t)),t?t[1]:NaN}var yy=_(()=>{"use strict";gy();s(tl,"default")});function C8(t,e){return function(r,n){for(var i=r.length,a=[],o=0,l=t[0],u=0;i>0&&l>0&&(u+l+1>n&&(l=Math.max(1,n-u)),a.push(r.substring(i-=l,i+l)),!((u+=l+1)>n));)l=t[o=(o+1)%t.length];return a.reverse().join(e)}}var rU=_(()=>{"use strict";s(C8,"default")});function S8(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var nU=_(()=>{"use strict";s(S8,"default")});function bh(t){if(!(e=g4e.exec(t)))throw new Error("invalid format: "+t);var e;return new I4({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function I4(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}var g4e,_8=_(()=>{"use strict";g4e=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;s(bh,"formatSpecifier");bh.prototype=I4.prototype;s(I4,"FormatSpecifier");I4.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type}});function A8(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var iU=_(()=>{"use strict";s(A8,"default")});function D8(t,e){var r=Qf(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(L8=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=n.length;return a===o?n:a>o?n+new Array(a-o+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+Qf(t,Math.max(0,e+a-1))[0]}var L8,R8=_(()=>{"use strict";gy();s(D8,"default")});function N4(t,e){var r=Qf(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}var aU=_(()=>{"use strict";gy();s(N4,"default")});var M8,sU=_(()=>{"use strict";gy();R8();aU();M8={"%":s((t,e)=>(t*100).toFixed(e),"%"),b:s(t=>Math.round(t).toString(2),"b"),c:s(t=>t+"","c"),d:E8,e:s((t,e)=>t.toExponential(e),"e"),f:s((t,e)=>t.toFixed(e),"f"),g:s((t,e)=>t.toPrecision(e),"g"),o:s(t=>Math.round(t).toString(8),"o"),p:s((t,e)=>N4(t*100,e),"p"),r:N4,s:D8,X:s(t=>Math.round(t).toString(16).toUpperCase(),"X"),x:s(t=>Math.round(t).toString(16),"x")}});function O4(t){return t}var oU=_(()=>{"use strict";s(O4,"default")});function I8(t){var e=t.grouping===void 0||t.thousands===void 0?O4:C8(lU.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?O4:S8(lU.call(t.numerals,String)),o=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function h(d){d=bh(d);var p=d.fill,m=d.align,g=d.sign,y=d.symbol,v=d.zero,x=d.width,b=d.comma,k=d.precision,A=d.trim,w=d.type;w==="n"?(b=!0,w="g"):M8[w]||(k===void 0&&(k=12),A=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var T=y==="$"?r:y==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",C=y==="$"?n:/[%p]/.test(w)?o:"",E=M8[w],S=/[defgprs%]/.test(w);k=k===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,k)):Math.max(0,Math.min(20,k));function R(D){var L=T,P=C,M,F,I;if(w==="c")P=E(D)+P,D="";else{D=+D;var O=D<0||1/D<0;if(D=isNaN(D)?u:E(Math.abs(D),k),A&&(D=A8(D)),O&&+D==0&&g!=="+"&&(O=!1),L=(O?g==="("?g:l:g==="-"||g==="("?"":g)+L,P=(w==="s"?cU[8+L8/3]:"")+P+(O&&g==="("?")":""),S){for(M=-1,F=D.length;++MI||I>57){P=(I===46?i+D.slice(M+1):D.slice(M))+P,D=D.slice(0,M);break}}}b&&!v&&(D=e(D,1/0));var z=L.length+D.length+P.length,N=z>1)+L+D+P+N.slice(z);break;default:D=N+L+D+P;break}return a(D)}return s(R,"format"),R.toString=function(){return d+""},R}s(h,"newFormat");function f(d,p){var m=h((d=bh(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(tl(p)/3)))*3,y=Math.pow(10,-g),v=cU[8+g/3];return function(x){return m(y*x)+v}}return s(f,"formatPrefix"),{format:h,formatPrefix:f}}var lU,cU,uU=_(()=>{"use strict";yy();rU();nU();_8();iU();sU();R8();oU();lU=Array.prototype.map,cU=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];s(I8,"default")});function N8(t){return P4=I8(t),B4=P4.format,F4=P4.formatPrefix,P4}var P4,B4,F4,hU=_(()=>{"use strict";uU();N8({thousands:",",grouping:[3],currency:["$",""]});s(N8,"defaultLocale")});function z4(t){return Math.max(0,-tl(Math.abs(t)))}var fU=_(()=>{"use strict";yy();s(z4,"default")});function $4(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(tl(e)/3)))*3-tl(Math.abs(t)))}var dU=_(()=>{"use strict";yy();s($4,"default")});function G4(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,tl(e)-tl(t))+1}var pU=_(()=>{"use strict";yy();s(G4,"default")});var O8=_(()=>{"use strict";hU();_8();fU();dU();pU()});var mU=_(()=>{"use strict"});var gU=_(()=>{"use strict"});var yU=_(()=>{"use strict"});var vU=_(()=>{"use strict"});function kh(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var vy=_(()=>{"use strict";s(kh,"initRange")});function au(){var t=new ap,e=[],r=[],n=P8;function i(a){let o=t.get(a);if(o===void 0){if(n!==P8)return n;t.set(a,o=e.push(a)-1)}return r[o%r.length]}return s(i,"scale"),i.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new ap;for(let o of a)t.has(o)||t.set(o,e.push(o)-1);return i},i.range=function(a){return arguments.length?(r=Array.from(a),i):r.slice()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return au(e,r).unknown(n)},kh.apply(i,arguments),i}var P8,B8=_(()=>{"use strict";ph();vy();P8=Symbol("implicit");s(au,"ordinal")});function xp(){var t=au().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,a,o,l=!1,u=0,h=0,f=.5;delete t.unknown;function d(){var p=e().length,m=i{"use strict";ph();vy();B8();s(xp,"band")});function F8(t){return function(){return t}}var bU=_(()=>{"use strict";s(F8,"constants")});function z8(t){return+t}var kU=_(()=>{"use strict";s(z8,"number")});function bp(t){return t}function $8(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:F8(isNaN(e)?NaN:.5)}function y4e(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function v4e(t,e,r){var n=t[0],i=t[1],a=e[0],o=e[1];return i2?x4e:v4e,u=h=null,d}s(f,"rescale");function d(p){return p==null||isNaN(p=+p)?a:(u||(u=l(t.map(n),e,r)))(n(o(p)))}return s(d,"scale"),d.invert=function(p){return o(i((h||(h=l(e,t.map(n),$i)))(p)))},d.domain=function(p){return arguments.length?(t=Array.from(p,z8),f()):t.slice()},d.range=function(p){return arguments.length?(e=Array.from(p),f()):e.slice()},d.rangeRound=function(p){return e=Array.from(p),r=v4,f()},d.clamp=function(p){return arguments.length?(o=p?!0:bp,f()):o!==bp},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(a=p,d):a},function(p,m){return n=p,i=m,f()}}function xy(){return b4e()(bp,bp)}var wU,G8=_(()=>{"use strict";ph();gp();bU();kU();wU=[0,1];s(bp,"identity");s($8,"normalize");s(y4e,"clamper");s(v4e,"bimap");s(x4e,"polymap");s(V4,"copy");s(b4e,"transformer");s(xy,"continuous")});function V8(t,e,r,n){var i=sp(t,e,r),a;switch(n=bh(n??",f"),n.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=$4(i,o))&&(n.precision=a),F4(n,o)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=G4(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=z4(i))&&(n.precision=a-(n.type==="%")*2);break}}return B4(n)}var TU=_(()=>{"use strict";ph();O8();s(V8,"tickFormat")});function k4e(t){var e=t.domain;return t.ticks=function(r){var n=e();return t4(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return V8(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,o=n[i],l=n[a],u,h,f=10;for(l0;){if(h=X1(o,l,r),h===u)return n[i]=o,n[a]=l,e(n);if(h>0)o=Math.floor(o/h)*h,l=Math.ceil(l/h)*h;else if(h<0)o=Math.ceil(o*h)/h,l=Math.floor(l*h)/h;else break;u=h}return t},t}function rl(){var t=xy();return t.copy=function(){return V4(t,rl())},kh.apply(t,arguments),k4e(t)}var EU=_(()=>{"use strict";ph();G8();vy();TU();s(k4e,"linearish");s(rl,"linear")});function U8(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],o;return a{"use strict";s(U8,"nice")});function sn(t,e,r,n){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return s(i,"interval"),i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{let o=i(a),l=i.ceil(a);return a-o(e(a=new Date(+a),o==null?1:Math.floor(o)),a),i.range=(a,o,l)=>{let u=[];if(a=i.ceil(a),l=l==null?1:Math.floor(l),!(a0))return u;let h;do u.push(h=new Date(+a)),e(a,l),t(a);while(hsn(o=>{if(o>=o)for(;t(o),!a(o);)o.setTime(o-1)},(o,l)=>{if(o>=o)if(l<0)for(;++l<=0;)for(;e(o,-1),!a(o););else for(;--l>=0;)for(;e(o,1),!a(o););}),r&&(i.count=(a,o)=>(q8.setTime(+a),W8.setTime(+o),t(q8),t(W8),Math.floor(r(q8,W8))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?o=>n(o)%a===0:o=>i.count(0,o)%a===0):i)),i}var q8,W8,su=_(()=>{"use strict";q8=new Date,W8=new Date;s(sn,"timeInterval")});var jl,SU,H8=_(()=>{"use strict";su();jl=sn(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);jl.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?sn(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):jl);SU=jl.range});var Vs,_U,Y8=_(()=>{"use strict";su();Vs=sn(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),_U=Vs.range});var ou,w4e,U4,T4e,X8=_(()=>{"use strict";su();ou=sn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),w4e=ou.range,U4=sn(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),T4e=U4.range});var lu,E4e,q4,C4e,j8=_(()=>{"use strict";su();lu=sn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),E4e=lu.range,q4=sn(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),C4e=q4.range});var vo,S4e,ky,_4e,W4,A4e,K8=_(()=>{"use strict";su();vo=sn(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),S4e=vo.range,ky=sn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),_4e=ky.range,W4=sn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),A4e=W4.range});function ed(t){return sn(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}function td(t){return sn(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var nl,wh,H4,Y4,Ql,X4,j4,LU,L4e,D4e,R4e,M4e,I4e,N4e,rd,kp,DU,RU,Th,MU,IU,NU,O4e,P4e,B4e,F4e,z4e,$4e,Q8=_(()=>{"use strict";su();s(ed,"timeWeekday");nl=ed(0),wh=ed(1),H4=ed(2),Y4=ed(3),Ql=ed(4),X4=ed(5),j4=ed(6),LU=nl.range,L4e=wh.range,D4e=H4.range,R4e=Y4.range,M4e=Ql.range,I4e=X4.range,N4e=j4.range;s(td,"utcWeekday");rd=td(0),kp=td(1),DU=td(2),RU=td(3),Th=td(4),MU=td(5),IU=td(6),NU=rd.range,O4e=kp.range,P4e=DU.range,B4e=RU.range,F4e=Th.range,z4e=MU.range,$4e=IU.range});var cu,G4e,K4,V4e,Z8=_(()=>{"use strict";su();cu=sn(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),G4e=cu.range,K4=sn(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),V4e=K4.range});var Us,U4e,il,q4e,J8=_(()=>{"use strict";su();Us=sn(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Us.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:sn(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});U4e=Us.range,il=sn(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());il.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:sn(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});q4e=il.range});function PU(t,e,r,n,i,a){let o=[[Vs,1,1e3],[Vs,5,5*1e3],[Vs,15,15*1e3],[Vs,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function l(h,f,d){let p=fv).right(o,p);if(m===o.length)return t.every(sp(h/31536e6,f/31536e6,d));if(m===0)return jl.every(Math.max(sp(h,f,d),1));let[g,y]=o[p/o[m-1][2]{"use strict";ph();H8();Y8();X8();j8();K8();Q8();Z8();J8();s(PU,"ticker");[H4e,Y4e]=PU(il,K4,rd,W4,q4,U4),[e_,t_]=PU(Us,cu,nl,vo,lu,ou)});var Q4=_(()=>{"use strict";H8();Y8();X8();j8();K8();Q8();Z8();J8();BU()});function r_(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function n_(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function wy(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function i_(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,a=t.days,o=t.shortDays,l=t.months,u=t.shortMonths,h=Ty(i),f=Ey(i),d=Ty(a),p=Ey(a),m=Ty(o),g=Ey(o),y=Ty(l),v=Ey(l),x=Ty(u),b=Ey(u),k={a:O,A:z,b:N,B:U,c:null,d:UU,e:UU,f:g3e,g:S3e,G:A3e,H:d3e,I:p3e,j:m3e,L:XU,m:y3e,M:v3e,p:$,q:W,Q:HU,s:YU,S:x3e,u:b3e,U:k3e,V:w3e,w:T3e,W:E3e,x:null,X:null,y:C3e,Y:_3e,Z:L3e,"%":WU},A={a:ee,A:te,b:ce,B:Z,c:null,d:qU,e:qU,f:I3e,g:U3e,G:W3e,H:D3e,I:R3e,j:M3e,L:KU,m:N3e,M:O3e,p:fe,q:ne,Q:HU,s:YU,S:P3e,u:B3e,U:F3e,V:z3e,w:$3e,W:G3e,x:null,X:null,y:V3e,Y:q3e,Z:H3e,"%":WU},w={a:R,A:D,b:L,B:P,c:M,d:GU,e:GU,f:c3e,g:$U,G:zU,H:VU,I:VU,j:a3e,L:l3e,m:i3e,M:s3e,p:S,q:n3e,Q:h3e,s:f3e,S:o3e,u:Z4e,U:J4e,V:e3e,w:Q4e,W:t3e,x:F,X:I,y:$U,Y:zU,Z:r3e,"%":u3e};k.x=T(r,k),k.X=T(n,k),k.c=T(e,k),A.x=T(r,A),A.X=T(n,A),A.c=T(e,A);function T(H,Q){return function(K){var re=[],ie=-1,ye=0,j=H.length,De,oe,Re;for(K instanceof Date||(K=new Date(+K));++ie53)return null;"w"in re||(re.w=1),"Z"in re?(ye=n_(wy(re.y,0,1)),j=ye.getUTCDay(),ye=j>4||j===0?kp.ceil(ye):kp(ye),ye=ky.offset(ye,(re.V-1)*7),re.y=ye.getUTCFullYear(),re.m=ye.getUTCMonth(),re.d=ye.getUTCDate()+(re.w+6)%7):(ye=r_(wy(re.y,0,1)),j=ye.getDay(),ye=j>4||j===0?wh.ceil(ye):wh(ye),ye=vo.offset(ye,(re.V-1)*7),re.y=ye.getFullYear(),re.m=ye.getMonth(),re.d=ye.getDate()+(re.w+6)%7)}else("W"in re||"U"in re)&&("w"in re||(re.w="u"in re?re.u%7:"W"in re?1:0),j="Z"in re?n_(wy(re.y,0,1)).getUTCDay():r_(wy(re.y,0,1)).getDay(),re.m=0,re.d="W"in re?(re.w+6)%7+re.W*7-(j+5)%7:re.w+re.U*7-(j+6)%7);return"Z"in re?(re.H+=re.Z/100|0,re.M+=re.Z%100,n_(re)):r_(re)}}s(C,"newParse");function E(H,Q,K,re){for(var ie=0,ye=Q.length,j=K.length,De,oe;ie=j)return-1;if(De=Q.charCodeAt(ie++),De===37){if(De=Q.charAt(ie++),oe=w[De in FU?Q.charAt(ie++):De],!oe||(re=oe(H,K,re))<0)return-1}else if(De!=K.charCodeAt(re++))return-1}return re}s(E,"parseSpecifier");function S(H,Q,K){var re=h.exec(Q.slice(K));return re?(H.p=f.get(re[0].toLowerCase()),K+re[0].length):-1}s(S,"parsePeriod");function R(H,Q,K){var re=m.exec(Q.slice(K));return re?(H.w=g.get(re[0].toLowerCase()),K+re[0].length):-1}s(R,"parseShortWeekday");function D(H,Q,K){var re=d.exec(Q.slice(K));return re?(H.w=p.get(re[0].toLowerCase()),K+re[0].length):-1}s(D,"parseWeekday");function L(H,Q,K){var re=x.exec(Q.slice(K));return re?(H.m=b.get(re[0].toLowerCase()),K+re[0].length):-1}s(L,"parseShortMonth");function P(H,Q,K){var re=y.exec(Q.slice(K));return re?(H.m=v.get(re[0].toLowerCase()),K+re[0].length):-1}s(P,"parseMonth");function M(H,Q,K){return E(H,e,Q,K)}s(M,"parseLocaleDateTime");function F(H,Q,K){return E(H,r,Q,K)}s(F,"parseLocaleDate");function I(H,Q,K){return E(H,n,Q,K)}s(I,"parseLocaleTime");function O(H){return o[H.getDay()]}s(O,"formatShortWeekday");function z(H){return a[H.getDay()]}s(z,"formatWeekday");function N(H){return u[H.getMonth()]}s(N,"formatShortMonth");function U(H){return l[H.getMonth()]}s(U,"formatMonth");function $(H){return i[+(H.getHours()>=12)]}s($,"formatPeriod");function W(H){return 1+~~(H.getMonth()/3)}s(W,"formatQuarter");function ee(H){return o[H.getUTCDay()]}s(ee,"formatUTCShortWeekday");function te(H){return a[H.getUTCDay()]}s(te,"formatUTCWeekday");function ce(H){return u[H.getUTCMonth()]}s(ce,"formatUTCShortMonth");function Z(H){return l[H.getUTCMonth()]}s(Z,"formatUTCMonth");function fe(H){return i[+(H.getUTCHours()>=12)]}s(fe,"formatUTCPeriod");function ne(H){return 1+~~(H.getUTCMonth()/3)}return s(ne,"formatUTCQuarter"),{format:s(function(H){var Q=T(H+="",k);return Q.toString=function(){return H},Q},"format"),parse:s(function(H){var Q=C(H+="",!1);return Q.toString=function(){return H},Q},"parse"),utcFormat:s(function(H){var Q=T(H+="",A);return Q.toString=function(){return H},Q},"utcFormat"),utcParse:s(function(H){var Q=C(H+="",!0);return Q.toString=function(){return H},Q},"utcParse")}}function Lr(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function Q4e(t,e,r){var n=Gi.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Z4e(t,e,r){var n=Gi.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function J4e(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function e3e(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function t3e(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function zU(t,e,r){var n=Gi.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function $U(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function r3e(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function n3e(t,e,r){var n=Gi.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function i3e(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function GU(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function a3e(t,e,r){var n=Gi.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function VU(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function s3e(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function o3e(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function l3e(t,e,r){var n=Gi.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function c3e(t,e,r){var n=Gi.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function u3e(t,e,r){var n=X4e.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function h3e(t,e,r){var n=Gi.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function f3e(t,e,r){var n=Gi.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function UU(t,e){return Lr(t.getDate(),e,2)}function d3e(t,e){return Lr(t.getHours(),e,2)}function p3e(t,e){return Lr(t.getHours()%12||12,e,2)}function m3e(t,e){return Lr(1+vo.count(Us(t),t),e,3)}function XU(t,e){return Lr(t.getMilliseconds(),e,3)}function g3e(t,e){return XU(t,e)+"000"}function y3e(t,e){return Lr(t.getMonth()+1,e,2)}function v3e(t,e){return Lr(t.getMinutes(),e,2)}function x3e(t,e){return Lr(t.getSeconds(),e,2)}function b3e(t){var e=t.getDay();return e===0?7:e}function k3e(t,e){return Lr(nl.count(Us(t)-1,t),e,2)}function jU(t){var e=t.getDay();return e>=4||e===0?Ql(t):Ql.ceil(t)}function w3e(t,e){return t=jU(t),Lr(Ql.count(Us(t),t)+(Us(t).getDay()===4),e,2)}function T3e(t){return t.getDay()}function E3e(t,e){return Lr(wh.count(Us(t)-1,t),e,2)}function C3e(t,e){return Lr(t.getFullYear()%100,e,2)}function S3e(t,e){return t=jU(t),Lr(t.getFullYear()%100,e,2)}function _3e(t,e){return Lr(t.getFullYear()%1e4,e,4)}function A3e(t,e){var r=t.getDay();return t=r>=4||r===0?Ql(t):Ql.ceil(t),Lr(t.getFullYear()%1e4,e,4)}function L3e(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Lr(e/60|0,"0",2)+Lr(e%60,"0",2)}function qU(t,e){return Lr(t.getUTCDate(),e,2)}function D3e(t,e){return Lr(t.getUTCHours(),e,2)}function R3e(t,e){return Lr(t.getUTCHours()%12||12,e,2)}function M3e(t,e){return Lr(1+ky.count(il(t),t),e,3)}function KU(t,e){return Lr(t.getUTCMilliseconds(),e,3)}function I3e(t,e){return KU(t,e)+"000"}function N3e(t,e){return Lr(t.getUTCMonth()+1,e,2)}function O3e(t,e){return Lr(t.getUTCMinutes(),e,2)}function P3e(t,e){return Lr(t.getUTCSeconds(),e,2)}function B3e(t){var e=t.getUTCDay();return e===0?7:e}function F3e(t,e){return Lr(rd.count(il(t)-1,t),e,2)}function QU(t){var e=t.getUTCDay();return e>=4||e===0?Th(t):Th.ceil(t)}function z3e(t,e){return t=QU(t),Lr(Th.count(il(t),t)+(il(t).getUTCDay()===4),e,2)}function $3e(t){return t.getUTCDay()}function G3e(t,e){return Lr(kp.count(il(t)-1,t),e,2)}function V3e(t,e){return Lr(t.getUTCFullYear()%100,e,2)}function U3e(t,e){return t=QU(t),Lr(t.getUTCFullYear()%100,e,2)}function q3e(t,e){return Lr(t.getUTCFullYear()%1e4,e,4)}function W3e(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Th(t):Th.ceil(t),Lr(t.getUTCFullYear()%1e4,e,4)}function H3e(){return"+0000"}function WU(){return"%"}function HU(t){return+t}function YU(t){return Math.floor(+t/1e3)}var FU,Gi,X4e,j4e,ZU=_(()=>{"use strict";Q4();s(r_,"localDate");s(n_,"utcDate");s(wy,"newDate");s(i_,"formatLocale");FU={"-":"",_:" ",0:"0"},Gi=/^\s*\d+/,X4e=/^%/,j4e=/[\\^$*+?|[\]().{}]/g;s(Lr,"pad");s(K4e,"requote");s(Ty,"formatRe");s(Ey,"formatLookup");s(Q4e,"parseWeekdayNumberSunday");s(Z4e,"parseWeekdayNumberMonday");s(J4e,"parseWeekNumberSunday");s(e3e,"parseWeekNumberISO");s(t3e,"parseWeekNumberMonday");s(zU,"parseFullYear");s($U,"parseYear");s(r3e,"parseZone");s(n3e,"parseQuarter");s(i3e,"parseMonthNumber");s(GU,"parseDayOfMonth");s(a3e,"parseDayOfYear");s(VU,"parseHour24");s(s3e,"parseMinutes");s(o3e,"parseSeconds");s(l3e,"parseMilliseconds");s(c3e,"parseMicroseconds");s(u3e,"parseLiteralPercent");s(h3e,"parseUnixTimestamp");s(f3e,"parseUnixTimestampSeconds");s(UU,"formatDayOfMonth");s(d3e,"formatHour24");s(p3e,"formatHour12");s(m3e,"formatDayOfYear");s(XU,"formatMilliseconds");s(g3e,"formatMicroseconds");s(y3e,"formatMonthNumber");s(v3e,"formatMinutes");s(x3e,"formatSeconds");s(b3e,"formatWeekdayNumberMonday");s(k3e,"formatWeekNumberSunday");s(jU,"dISO");s(w3e,"formatWeekNumberISO");s(T3e,"formatWeekdayNumberSunday");s(E3e,"formatWeekNumberMonday");s(C3e,"formatYear");s(S3e,"formatYearISO");s(_3e,"formatFullYear");s(A3e,"formatFullYearISO");s(L3e,"formatZone");s(qU,"formatUTCDayOfMonth");s(D3e,"formatUTCHour24");s(R3e,"formatUTCHour12");s(M3e,"formatUTCDayOfYear");s(KU,"formatUTCMilliseconds");s(I3e,"formatUTCMicroseconds");s(N3e,"formatUTCMonthNumber");s(O3e,"formatUTCMinutes");s(P3e,"formatUTCSeconds");s(B3e,"formatUTCWeekdayNumberMonday");s(F3e,"formatUTCWeekNumberSunday");s(QU,"UTCdISO");s(z3e,"formatUTCWeekNumberISO");s($3e,"formatUTCWeekdayNumberSunday");s(G3e,"formatUTCWeekNumberMonday");s(V3e,"formatUTCYear");s(U3e,"formatUTCYearISO");s(q3e,"formatUTCFullYear");s(W3e,"formatUTCFullYearISO");s(H3e,"formatUTCZone");s(WU,"formatLiteralPercent");s(HU,"formatUnixTimestamp");s(YU,"formatUnixTimestampSeconds")});function a_(t){return wp=i_(t),nd=wp.format,JU=wp.parse,eq=wp.utcFormat,tq=wp.utcParse,wp}var wp,nd,JU,eq,tq,rq=_(()=>{"use strict";ZU();a_({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});s(a_,"defaultLocale")});var s_=_(()=>{"use strict";rq()});function Y3e(t){return new Date(t)}function X3e(t){return t instanceof Date?+t:+new Date(+t)}function nq(t,e,r,n,i,a,o,l,u,h){var f=xy(),d=f.invert,p=f.domain,m=h(".%L"),g=h(":%S"),y=h("%I:%M"),v=h("%I %p"),x=h("%a %d"),b=h("%b %d"),k=h("%B"),A=h("%Y");function w(T){return(u(T){"use strict";Q4();s_();G8();vy();CU();s(Y3e,"date");s(X3e,"number");s(nq,"calendar");s(Z4,"time")});var aq=_(()=>{"use strict";xU();EU();B8();iq()});function o_(t){for(var e=t.length/6|0,r=new Array(e),n=0;n{"use strict";s(o_,"default")});var l_,oq=_(()=>{"use strict";sq();l_=o_("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")});var lq=_(()=>{"use strict";oq()});function Cn(t){return s(function(){return t},"constant")}var J4=_(()=>{"use strict";s(Cn,"default")});function uq(t){return t>1?0:t<-1?Tp:Math.acos(t)}function u_(t){return t>=1?Cy:t<=-1?-Cy:Math.asin(t)}var c_,ta,Eh,cq,e3,al,id,Vi,Tp,Cy,Ep,t3=_(()=>{"use strict";c_=Math.abs,ta=Math.atan2,Eh=Math.cos,cq=Math.max,e3=Math.min,al=Math.sin,id=Math.sqrt,Vi=1e-12,Tp=Math.PI,Cy=Tp/2,Ep=2*Tp;s(uq,"acos");s(u_,"asin")});function r3(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new Kf(e)}var h_=_(()=>{"use strict";T8();s(r3,"withPath")});function j3e(t){return t.innerRadius}function K3e(t){return t.outerRadius}function Q3e(t){return t.startAngle}function Z3e(t){return t.endAngle}function J3e(t){return t&&t.padAngle}function e5e(t,e,r,n,i,a,o,l){var u=r-t,h=n-e,f=o-i,d=l-a,p=d*u-f*h;if(!(p*pM*M+F*F&&(E=R,S=D),{cx:E,cy:S,x01:-f,y01:-d,x11:E*(i/w-1),y11:S*(i/w-1)}}function sl(){var t=j3e,e=K3e,r=Cn(0),n=null,i=Q3e,a=Z3e,o=J3e,l=null,u=r3(h);function h(){var f,d,p=+t.apply(this,arguments),m=+e.apply(this,arguments),g=i.apply(this,arguments)-Cy,y=a.apply(this,arguments)-Cy,v=c_(y-g),x=y>g;if(l||(l=f=u()),mVi))l.moveTo(0,0);else if(v>Ep-Vi)l.moveTo(m*Eh(g),m*al(g)),l.arc(0,0,m,g,y,!x),p>Vi&&(l.moveTo(p*Eh(y),p*al(y)),l.arc(0,0,p,y,g,x));else{var b=g,k=y,A=g,w=y,T=v,C=v,E=o.apply(this,arguments)/2,S=E>Vi&&(n?+n.apply(this,arguments):id(p*p+m*m)),R=e3(c_(m-p)/2,+r.apply(this,arguments)),D=R,L=R,P,M;if(S>Vi){var F=u_(S/p*al(E)),I=u_(S/m*al(E));(T-=F*2)>Vi?(F*=x?1:-1,A+=F,w-=F):(T=0,A=w=(g+y)/2),(C-=I*2)>Vi?(I*=x?1:-1,b+=I,k-=I):(C=0,b=k=(g+y)/2)}var O=m*Eh(b),z=m*al(b),N=p*Eh(w),U=p*al(w);if(R>Vi){var $=m*Eh(k),W=m*al(k),ee=p*Eh(A),te=p*al(A),ce;if(vVi?L>Vi?(P=n3(ee,te,O,z,m,L,x),M=n3($,W,N,U,m,L,x),l.moveTo(P.cx+P.x01,P.cy+P.y01),LVi)||!(T>Vi)?l.lineTo(N,U):D>Vi?(P=n3(N,U,$,W,p,-D,x),M=n3(O,z,ee,te,p,-D,x),l.lineTo(P.cx+P.x01,P.cy+P.y01),D{"use strict";J4();t3();h_();s(j3e,"arcInnerRadius");s(K3e,"arcOuterRadius");s(Q3e,"arcStartAngle");s(Z3e,"arcEndAngle");s(J3e,"arcPadAngle");s(e5e,"intersect");s(n3,"cornerTangents");s(sl,"default")});function Sy(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}var Opt,f_=_(()=>{"use strict";Opt=Array.prototype.slice;s(Sy,"default")});function fq(t){this._context=t}function uu(t){return new fq(t)}var d_=_(()=>{"use strict";s(fq,"Linear");fq.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._point=0},"lineStart"),lineEnd:s(function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}},"point")};s(uu,"default")});function dq(t){return t[0]}function pq(t){return t[1]}var mq=_(()=>{"use strict";s(dq,"x");s(pq,"y")});function ra(t,e){var r=Cn(!0),n=null,i=uu,a=null,o=r3(l);t=typeof t=="function"?t:t===void 0?dq:Cn(t),e=typeof e=="function"?e:e===void 0?pq:Cn(e);function l(u){var h,f=(u=Sy(u)).length,d,p=!1,m;for(n==null&&(a=i(m=o())),h=0;h<=f;++h)!(h{"use strict";f_();J4();d_();h_();mq();s(ra,"default")});function p_(t,e){return et?1:e>=t?0:NaN}var yq=_(()=>{"use strict";s(p_,"default")});function m_(t){return t}var vq=_(()=>{"use strict";s(m_,"default")});function i3(){var t=m_,e=p_,r=null,n=Cn(0),i=Cn(Ep),a=Cn(0);function o(l){var u,h=(l=Sy(l)).length,f,d,p=0,m=new Array(h),g=new Array(h),y=+n.apply(this,arguments),v=Math.min(Ep,Math.max(-Ep,i.apply(this,arguments)-y)),x,b=Math.min(Math.abs(v)/h,a.apply(this,arguments)),k=b*(v<0?-1:1),A;for(u=0;u0&&(p+=A);for(e!=null?m.sort(function(w,T){return e(g[w],g[T])}):r!=null&&m.sort(function(w,T){return r(l[w],l[T])}),u=0,d=p?(v-h*k)/p:0;u0?A*d:0)+k,g[f]={data:l[f],index:u,value:A,startAngle:y,endAngle:x,padAngle:b};return g}return s(o,"pie"),o.value=function(l){return arguments.length?(t=typeof l=="function"?l:Cn(+l),o):t},o.sortValues=function(l){return arguments.length?(e=l,r=null,o):e},o.sort=function(l){return arguments.length?(r=l,e=null,o):r},o.startAngle=function(l){return arguments.length?(n=typeof l=="function"?l:Cn(+l),o):n},o.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:Cn(+l),o):i},o.padAngle=function(l){return arguments.length?(a=typeof l=="function"?l:Cn(+l),o):a},o}var xq=_(()=>{"use strict";f_();J4();yq();vq();t3();s(i3,"default")});function g_(t){return new a3(t,!0)}function y_(t){return new a3(t,!1)}var a3,bq=_(()=>{"use strict";a3=class{static{s(this,"Bump")}constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}};s(g_,"bumpX");s(y_,"bumpY")});function qs(){}var _y=_(()=>{"use strict";s(qs,"default")});function Cp(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function Ay(t){this._context=t}function hs(t){return new Ay(t)}var Ly=_(()=>{"use strict";s(Cp,"point");s(Ay,"Basis");Ay.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 3:Cp(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Cp(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};s(hs,"default")});function kq(t){this._context=t}function s3(t){return new kq(t)}var wq=_(()=>{"use strict";_y();Ly();s(kq,"BasisClosed");kq.prototype={areaStart:qs,areaEnd:qs,lineStart:s(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Cp(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};s(s3,"default")});function Tq(t){this._context=t}function o3(t){return new Tq(t)}var Eq=_(()=>{"use strict";Ly();s(Tq,"BasisOpen");Tq.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:s(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Cp(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};s(o3,"default")});function Cq(t,e){this._basis=new Ay(t),this._beta=e}var v_,Sq=_(()=>{"use strict";Ly();s(Cq,"Bundle");Cq.prototype={lineStart:s(function(){this._x=[],this._y=[],this._basis.lineStart()},"lineStart"),lineEnd:s(function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,o=e[r]-i,l=-1,u;++l<=r;)u=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(n+u*a),this._beta*e[l]+(1-this._beta)*(i+u*o));this._x=this._y=null,this._basis.lineEnd()},"lineEnd"),point:s(function(t,e){this._x.push(+t),this._y.push(+e)},"point")};v_=s(function t(e){function r(n){return e===1?new Ay(n):new Cq(n,e)}return s(r,"bundle"),r.beta=function(n){return t(+n)},r},"custom")(.85)});function Sp(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function l3(t,e){this._context=t,this._k=(1-e)/6}var x_,Dy=_(()=>{"use strict";s(Sp,"point");s(l3,"Cardinal");l3.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Sp(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Sp(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};x_=s(function t(e){function r(n){return new l3(n,e)}return s(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function c3(t,e){this._context=t,this._k=(1-e)/6}var b_,k_=_(()=>{"use strict";_y();Dy();s(c3,"CardinalClosed");c3.prototype={areaStart:qs,areaEnd:qs,lineStart:s(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Sp(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};b_=s(function t(e){function r(n){return new c3(n,e)}return s(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function u3(t,e){this._context=t,this._k=(1-e)/6}var w_,T_=_(()=>{"use strict";Dy();s(u3,"CardinalOpen");u3.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:s(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Sp(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};w_=s(function t(e){function r(n){return new u3(n,e)}return s(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function Ry(t,e,r){var n=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>Vi){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Vi){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/f,o=(o*h+t._y1*t._l23_2a-r*t._l12_2a)/f}t._context.bezierCurveTo(n,i,a,o,t._x2,t._y2)}function _q(t,e){this._context=t,this._alpha=e}var E_,h3=_(()=>{"use strict";t3();Dy();s(Ry,"point");s(_q,"CatmullRom");_q.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Ry(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};E_=s(function t(e){function r(n){return e?new _q(n,e):new l3(n,0)}return s(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function Aq(t,e){this._context=t,this._alpha=e}var C_,Lq=_(()=>{"use strict";k_();_y();h3();s(Aq,"CatmullRomClosed");Aq.prototype={areaStart:qs,areaEnd:qs,lineStart:s(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:s(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Ry(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};C_=s(function t(e){function r(n){return e?new Aq(n,e):new c3(n,0)}return s(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function Dq(t,e){this._context=t,this._alpha=e}var S_,Rq=_(()=>{"use strict";T_();h3();s(Dq,"CatmullRomOpen");Dq.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:s(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ry(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};S_=s(function t(e){function r(n){return e?new Dq(n,e):new u3(n,0)}return s(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function Mq(t){this._context=t}function f3(t){return new Mq(t)}var Iq=_(()=>{"use strict";_y();s(Mq,"LinearClosed");Mq.prototype={areaStart:qs,areaEnd:qs,lineStart:s(function(){this._point=0},"lineStart"),lineEnd:s(function(){this._point&&this._context.closePath()},"lineEnd"),point:s(function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))},"point")};s(f3,"default")});function Nq(t){return t<0?-1:1}function Oq(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),o=(r-t._y1)/(i||n<0&&-0),l=(a*i+o*n)/(n+i);return(Nq(a)+Nq(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(l))||0}function Pq(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function __(t,e,r){var n=t._x0,i=t._y0,a=t._x1,o=t._y1,l=(a-n)/3;t._context.bezierCurveTo(n+l,i+l*e,a-l,o-l*r,a,o)}function d3(t){this._context=t}function Bq(t){this._context=new Fq(t)}function Fq(t){this._context=t}function A_(t){return new d3(t)}function L_(t){return new Bq(t)}var zq=_(()=>{"use strict";s(Nq,"sign");s(Oq,"slope3");s(Pq,"slope2");s(__,"point");s(d3,"MonotoneX");d3.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:__(this,this._t0,Pq(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,__(this,Pq(this,r=Oq(this,t,e)),r);break;default:__(this,this._t0,r=Oq(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}},"point")};s(Bq,"MonotoneY");(Bq.prototype=Object.create(d3.prototype)).point=function(t,e){d3.prototype.point.call(this,e,t)};s(Fq,"ReflectContext");Fq.prototype={moveTo:s(function(t,e){this._context.moveTo(e,t)},"moveTo"),closePath:s(function(){this._context.closePath()},"closePath"),lineTo:s(function(t,e){this._context.lineTo(e,t)},"lineTo"),bezierCurveTo:s(function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)},"bezierCurveTo")};s(A_,"monotoneX");s(L_,"monotoneY")});function Gq(t){this._context=t}function $q(t){var e,r=t.length-1,n,i=new Array(r),a=new Array(r),o=new Array(r);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e{"use strict";s(Gq,"Natural");Gq.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x=[],this._y=[]},"lineStart"),lineEnd:s(function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=$q(t),i=$q(e),a=0,o=1;o{"use strict";s(m3,"Step");m3.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x=this._y=NaN,this._point=0},"lineStart"),lineEnd:s(function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e},"point")};s(g3,"default");s(D_,"stepBefore");s(R_,"stepAfter")});var qq=_(()=>{"use strict";hq();gq();xq();wq();Eq();Ly();bq();Sq();k_();T_();Dy();Lq();Rq();h3();Iq();d_();zq();Vq();Uq()});var Wq=_(()=>{"use strict"});var Hq=_(()=>{"use strict"});function Ch(t,e,r){this.k=t,this.x=e,this.y=r}function I_(t){for(;!t.__zoom;)if(!(t=t.parentNode))return M_;return t.__zoom}var M_,N_=_(()=>{"use strict";s(Ch,"Transform");Ch.prototype={constructor:Ch,scale:s(function(t){return t===1?this:new Ch(this.k*t,this.x,this.y)},"scale"),translate:s(function(t,e){return t===0&e===0?this:new Ch(this.k,this.x+this.k*t,this.y+this.k*e)},"translate"),apply:s(function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},"apply"),applyX:s(function(t){return t*this.k+this.x},"applyX"),applyY:s(function(t){return t*this.k+this.y},"applyY"),invert:s(function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},"invert"),invertX:s(function(t){return(t-this.x)/this.k},"invertX"),invertY:s(function(t){return(t-this.y)/this.k},"invertY"),rescaleX:s(function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},"rescaleX"),rescaleY:s(function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},"rescaleY"),toString:s(function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"},"toString")};M_=new Ch(1,0,0);I_.prototype=Ch.prototype;s(I_,"transform")});var Yq=_(()=>{"use strict"});var Xq=_(()=>{"use strict";M4();Wq();Hq();N_();Yq()});var jq=_(()=>{"use strict";Xq();N_()});var Xt=_(()=>{"use strict";ph();S$();WV();jV();dp();KV();QV();DC();yG();ZV();v8();JV();tU();O8();mU();gU();gp();T8();yU();eU();vU();aq();lq();Zo();qq();Q4();s_();S4();M4();jq()});var Kq=is(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.BLANK_URL=Ui.relativeFirstCharacters=Ui.whitespaceEscapeCharsRegex=Ui.urlSchemeRegex=Ui.ctrlCharactersRegex=Ui.htmlCtrlEntityRegex=Ui.htmlEntitiesRegex=Ui.invalidProtocolRegex=void 0;Ui.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;Ui.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;Ui.htmlCtrlEntityRegex=/&(newline|tab);/gi;Ui.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;Ui.urlSchemeRegex=/^.+(:|:)/gim;Ui.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;Ui.relativeFirstCharacters=[".","/"];Ui.BLANK_URL="about:blank"});var _p=is(y3=>{"use strict";Object.defineProperty(y3,"__esModule",{value:!0});y3.sanitizeUrl=void 0;var Ta=Kq();function t5e(t){return Ta.relativeFirstCharacters.indexOf(t[0])>-1}s(t5e,"isRelativeUrlWithoutProtocol");function r5e(t){var e=t.replace(Ta.ctrlCharactersRegex,"");return e.replace(Ta.htmlEntitiesRegex,function(r,n){return String.fromCharCode(n)})}s(r5e,"decodeHtmlCharacters");function n5e(t){return URL.canParse(t)}s(n5e,"isValidUrl");function Qq(t){try{return decodeURIComponent(t)}catch{return t}}s(Qq,"decodeURI");function i5e(t){if(!t)return Ta.BLANK_URL;var e,r=Qq(t.trim());do r=r5e(r).replace(Ta.htmlCtrlEntityRegex,"").replace(Ta.ctrlCharactersRegex,"").replace(Ta.whitespaceEscapeCharsRegex,"").trim(),r=Qq(r),e=r.match(Ta.ctrlCharactersRegex)||r.match(Ta.htmlEntitiesRegex)||r.match(Ta.htmlCtrlEntityRegex)||r.match(Ta.whitespaceEscapeCharsRegex);while(e&&e.length>0);var n=r;if(!n)return Ta.BLANK_URL;if(t5e(n))return n;var i=n.trimStart(),a=i.match(Ta.urlSchemeRegex);if(!a)return n;var o=a[0].toLowerCase().trim();if(Ta.invalidProtocolRegex.test(o))return Ta.BLANK_URL;var l=i.replace(/\\/g,"/");if(o==="mailto:"||o.includes("://"))return l;if(o==="http:"||o==="https:"){if(!n5e(l))return Ta.BLANK_URL;var u=new URL(l);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return l}s(i5e,"sanitizeUrl");y3.sanitizeUrl=i5e});var O_,ad,v3,Zq,Jq,eW,ol,My,Iy=_(()=>{"use strict";O_=ka(_p(),1);Qt();ad=s((t,e)=>{let r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(let n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),v3=s((t,e)=>{let r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};ad(t,r).lower()},"drawBackgroundRect"),Zq=s((t,e)=>{let r=e.text.replace(zf," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),Jq=s((t,e,r,n)=>{let i=t.append("image");i.attr("x",e),i.attr("y",r);let a=(0,O_.sanitizeUrl)(n);i.attr("xlink:href",a)},"drawImage"),eW=s((t,e,r,n)=>{let i=t.append("use");i.attr("x",e),i.attr("y",r);let a=(0,O_.sanitizeUrl)(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),ol=s(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),My=s(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj")});var tW,P_,rW,a5e,s5e,o5e,l5e,c5e,u5e,h5e,f5e,d5e,p5e,m5e,g5e,hu,ll,nW=_(()=>{"use strict";Qt();Iy();tW=ka(_p(),1),P_=s(function(t,e){return ad(t,e)},"drawRect"),rW=s(function(t,e,r,n,i,a){let o=t.append("image");o.attr("width",e),o.attr("height",r),o.attr("x",n),o.attr("y",i);let l=a.startsWith("data:image/png;base64")?a:(0,tW.sanitizeUrl)(a);o.attr("xlink:href",l)},"drawImage"),a5e=s((t,e,r)=>{let n=t.append("g"),i=0;for(let a of e){let o=a.textColor?a.textColor:"#444444",l=a.lineColor?a.lineColor:"#444444",u=a.offsetX?parseInt(a.offsetX):0,h=a.offsetY?parseInt(a.offsetY):0,f="";if(i===0){let p=n.append("line");p.attr("x1",a.startPoint.x),p.attr("y1",a.startPoint.y),p.attr("x2",a.endPoint.x),p.attr("y2",a.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)"),i=-1}else{let p=n.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)")}let d=r.messageFont();hu(r)(a.label.text,n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+h,a.label.width,a.label.height,{fill:o},d),a.techn&&a.techn.text!==""&&(d=r.messageFont(),hu(r)("["+a.techn.text+"]",n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+r.messageFontSize+5+h,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:o,"font-style":"italic"},d))}},"drawRels"),s5e=s(function(t,e,r){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",o=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let u={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};P_(n,u);let h=r.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=o,hu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},h),e.type&&e.type.text!==""&&(h=r.boundaryFont(),h.fontColor=o,hu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},h)),e.descr&&e.descr.text!==""&&(h=r.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=o,hu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},h))},"drawBoundary"),o5e=s(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}let l=t.append("g");l.attr("class","person-man");let u=ol();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=n,u.width=e.width,u.height=e.height,u.stroke=i,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},P_(l,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let h=g5e(r,e.typeC4Shape.text);switch(l.append("text").attr("fill",a).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":rW(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,o);break}let f=r[e.typeC4Shape.text+"Font"]();return f.fontWeight="bold",f.fontSize=f.fontSize+2,f.fontColor=a,hu(r)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},f),f=r[e.typeC4Shape.text+"Font"](),f.fontColor=a,e.techn&&e.techn?.text!==""?hu(r)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},f):e.type&&e.type.text!==""&&hu(r)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},f),e.descr&&e.descr.text!==""&&(f=r.personFont(),f.fontColor=a,hu(r)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},f)),e.height},"drawC4Shape"),l5e=s(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),c5e=s(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),u5e=s(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),h5e=s(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),f5e=s(function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),d5e=s(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),p5e=s(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertDynamicNumber"),m5e=s(function(t){let r=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),g5e=s((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),hu=function(){function t(i,a,o,l,u,h,f){let d=a.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(i);n(d,f)}s(t,"byText");function e(i,a,o,l,u,h,f,d){let{fontSize:p,fontFamily:m,fontWeight:g}=d,y=i.split($e.lineBreakRegex);for(let v=0;v{"use strict";y5e=typeof global=="object"&&global&&global.Object===Object&&global,b3=y5e});var v5e,x5e,Wn,xo=_(()=>{"use strict";B_();v5e=typeof self=="object"&&self&&self.Object===Object&&self,x5e=b3||v5e||Function("return this")(),Wn=x5e});var b5e,qi,sd=_(()=>{"use strict";xo();b5e=Wn.Symbol,qi=b5e});function T5e(t){var e=k5e.call(t,Ny),r=t[Ny];try{t[Ny]=void 0;var n=!0}catch{}var i=w5e.call(t);return n&&(e?t[Ny]=r:delete t[Ny]),i}var iW,k5e,w5e,Ny,aW,sW=_(()=>{"use strict";sd();iW=Object.prototype,k5e=iW.hasOwnProperty,w5e=iW.toString,Ny=qi?qi.toStringTag:void 0;s(T5e,"getRawTag");aW=T5e});function S5e(t){return C5e.call(t)}var E5e,C5e,oW,lW=_(()=>{"use strict";E5e=Object.prototype,C5e=E5e.toString;s(S5e,"objectToString");oW=S5e});function L5e(t){return t==null?t===void 0?A5e:_5e:cW&&cW in Object(t)?aW(t):oW(t)}var _5e,A5e,cW,na,fu=_(()=>{"use strict";sd();sW();lW();_5e="[object Null]",A5e="[object Undefined]",cW=qi?qi.toStringTag:void 0;s(L5e,"baseGetTag");na=L5e});function D5e(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var on,Ws=_(()=>{"use strict";s(D5e,"isObject");on=D5e});function O5e(t){if(!on(t))return!1;var e=na(t);return e==M5e||e==I5e||e==R5e||e==N5e}var R5e,M5e,I5e,N5e,fi,Oy=_(()=>{"use strict";fu();Ws();R5e="[object AsyncFunction]",M5e="[object Function]",I5e="[object GeneratorFunction]",N5e="[object Proxy]";s(O5e,"isFunction");fi=O5e});var P5e,k3,uW=_(()=>{"use strict";xo();P5e=Wn["__core-js_shared__"],k3=P5e});function B5e(t){return!!hW&&hW in t}var hW,fW,dW=_(()=>{"use strict";uW();hW=function(){var t=/[^.]+$/.exec(k3&&k3.keys&&k3.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();s(B5e,"isMasked");fW=B5e});function $5e(t){if(t!=null){try{return z5e.call(t)}catch{}try{return t+""}catch{}}return""}var F5e,z5e,du,F_=_(()=>{"use strict";F5e=Function.prototype,z5e=F5e.toString;s($5e,"toSource");du=$5e});function X5e(t){if(!on(t)||fW(t))return!1;var e=fi(t)?Y5e:V5e;return e.test(du(t))}var G5e,V5e,U5e,q5e,W5e,H5e,Y5e,pW,mW=_(()=>{"use strict";Oy();dW();Ws();F_();G5e=/[\\^$.*+?()[\]{}|]/g,V5e=/^\[object .+?Constructor\]$/,U5e=Function.prototype,q5e=Object.prototype,W5e=U5e.toString,H5e=q5e.hasOwnProperty,Y5e=RegExp("^"+W5e.call(H5e).replace(G5e,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");s(X5e,"baseIsNative");pW=X5e});function j5e(t,e){return t?.[e]}var gW,yW=_(()=>{"use strict";s(j5e,"getValue");gW=j5e});function K5e(t,e){var r=gW(t,e);return pW(r)?r:void 0}var fs,Sh=_(()=>{"use strict";mW();yW();s(K5e,"getNative");fs=K5e});var Q5e,pu,Py=_(()=>{"use strict";Sh();Q5e=fs(Object,"create"),pu=Q5e});function Z5e(){this.__data__=pu?pu(null):{},this.size=0}var vW,xW=_(()=>{"use strict";Py();s(Z5e,"hashClear");vW=Z5e});function J5e(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var bW,kW=_(()=>{"use strict";s(J5e,"hashDelete");bW=J5e});function nke(t){var e=this.__data__;if(pu){var r=e[t];return r===eke?void 0:r}return rke.call(e,t)?e[t]:void 0}var eke,tke,rke,wW,TW=_(()=>{"use strict";Py();eke="__lodash_hash_undefined__",tke=Object.prototype,rke=tke.hasOwnProperty;s(nke,"hashGet");wW=nke});function ske(t){var e=this.__data__;return pu?e[t]!==void 0:ake.call(e,t)}var ike,ake,EW,CW=_(()=>{"use strict";Py();ike=Object.prototype,ake=ike.hasOwnProperty;s(ske,"hashHas");EW=ske});function lke(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=pu&&e===void 0?oke:e,this}var oke,SW,_W=_(()=>{"use strict";Py();oke="__lodash_hash_undefined__";s(lke,"hashSet");SW=lke});function Ap(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";xW();kW();TW();CW();_W();s(Ap,"Hash");Ap.prototype.clear=vW;Ap.prototype.delete=bW;Ap.prototype.get=wW;Ap.prototype.has=EW;Ap.prototype.set=SW;z_=Ap});function cke(){this.__data__=[],this.size=0}var LW,DW=_(()=>{"use strict";s(cke,"listCacheClear");LW=cke});function uke(t,e){return t===e||t!==t&&e!==e}var bo,od=_(()=>{"use strict";s(uke,"eq");bo=uke});function hke(t,e){for(var r=t.length;r--;)if(bo(t[r][0],e))return r;return-1}var _h,By=_(()=>{"use strict";od();s(hke,"assocIndexOf");_h=hke});function pke(t){var e=this.__data__,r=_h(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():dke.call(e,r,1),--this.size,!0}var fke,dke,RW,MW=_(()=>{"use strict";By();fke=Array.prototype,dke=fke.splice;s(pke,"listCacheDelete");RW=pke});function mke(t){var e=this.__data__,r=_h(e,t);return r<0?void 0:e[r][1]}var IW,NW=_(()=>{"use strict";By();s(mke,"listCacheGet");IW=mke});function gke(t){return _h(this.__data__,t)>-1}var OW,PW=_(()=>{"use strict";By();s(gke,"listCacheHas");OW=gke});function yke(t,e){var r=this.__data__,n=_h(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var BW,FW=_(()=>{"use strict";By();s(yke,"listCacheSet");BW=yke});function Lp(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";DW();MW();NW();PW();FW();s(Lp,"ListCache");Lp.prototype.clear=LW;Lp.prototype.delete=RW;Lp.prototype.get=IW;Lp.prototype.has=OW;Lp.prototype.set=BW;Ah=Lp});var vke,Lh,w3=_(()=>{"use strict";Sh();xo();vke=fs(Wn,"Map"),Lh=vke});function xke(){this.size=0,this.__data__={hash:new z_,map:new(Lh||Ah),string:new z_}}var zW,$W=_(()=>{"use strict";AW();Fy();w3();s(xke,"mapCacheClear");zW=xke});function bke(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var GW,VW=_(()=>{"use strict";s(bke,"isKeyable");GW=bke});function kke(t,e){var r=t.__data__;return GW(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Dh,zy=_(()=>{"use strict";VW();s(kke,"getMapData");Dh=kke});function wke(t){var e=Dh(this,t).delete(t);return this.size-=e?1:0,e}var UW,qW=_(()=>{"use strict";zy();s(wke,"mapCacheDelete");UW=wke});function Tke(t){return Dh(this,t).get(t)}var WW,HW=_(()=>{"use strict";zy();s(Tke,"mapCacheGet");WW=Tke});function Eke(t){return Dh(this,t).has(t)}var YW,XW=_(()=>{"use strict";zy();s(Eke,"mapCacheHas");YW=Eke});function Cke(t,e){var r=Dh(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var jW,KW=_(()=>{"use strict";zy();s(Cke,"mapCacheSet");jW=Cke});function Dp(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";$W();qW();HW();XW();KW();s(Dp,"MapCache");Dp.prototype.clear=zW;Dp.prototype.delete=UW;Dp.prototype.get=WW;Dp.prototype.has=YW;Dp.prototype.set=jW;ld=Dp});function $_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Ske);var r=s(function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var o=t.apply(this,n);return r.cache=a.set(i,o)||a,o},"memoized");return r.cache=new($_.Cache||ld),r}var Ske,Rp,G_=_(()=>{"use strict";T3();Ske="Expected a function";s($_,"memoize");$_.Cache=ld;Rp=$_});function _ke(){this.__data__=new Ah,this.size=0}var QW,ZW=_(()=>{"use strict";Fy();s(_ke,"stackClear");QW=_ke});function Ake(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var JW,eH=_(()=>{"use strict";s(Ake,"stackDelete");JW=Ake});function Lke(t){return this.__data__.get(t)}var tH,rH=_(()=>{"use strict";s(Lke,"stackGet");tH=Lke});function Dke(t){return this.__data__.has(t)}var nH,iH=_(()=>{"use strict";s(Dke,"stackHas");nH=Dke});function Mke(t,e){var r=this.__data__;if(r instanceof Ah){var n=r.__data__;if(!Lh||n.length{"use strict";Fy();w3();T3();Rke=200;s(Mke,"stackSet");aH=Mke});function Mp(t){var e=this.__data__=new Ah(t);this.size=e.size}var Zl,$y=_(()=>{"use strict";Fy();ZW();eH();rH();iH();sH();s(Mp,"Stack");Mp.prototype.clear=QW;Mp.prototype.delete=JW;Mp.prototype.get=tH;Mp.prototype.has=nH;Mp.prototype.set=aH;Zl=Mp});var Ike,Ip,V_=_(()=>{"use strict";Sh();Ike=function(){try{var t=fs(Object,"defineProperty");return t({},"",{}),t}catch{}}(),Ip=Ike});function Nke(t,e,r){e=="__proto__"&&Ip?Ip(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var Jl,Np=_(()=>{"use strict";V_();s(Nke,"baseAssignValue");Jl=Nke});function Oke(t,e,r){(r!==void 0&&!bo(t[e],r)||r===void 0&&!(e in t))&&Jl(t,e,r)}var Gy,U_=_(()=>{"use strict";Np();od();s(Oke,"assignMergeValue");Gy=Oke});function Pke(t){return function(e,r,n){for(var i=-1,a=Object(e),o=n(e),l=o.length;l--;){var u=o[t?l:++i];if(r(a[u],u,a)===!1)break}return e}}var oH,lH=_(()=>{"use strict";s(Pke,"createBaseFor");oH=Pke});var Bke,Op,E3=_(()=>{"use strict";lH();Bke=oH(),Op=Bke});function zke(t,e){if(e)return t.slice();var r=t.length,n=hH?hH(r):new t.constructor(r);return t.copy(n),n}var fH,cH,Fke,uH,hH,C3,q_=_(()=>{"use strict";xo();fH=typeof exports=="object"&&exports&&!exports.nodeType&&exports,cH=fH&&typeof module=="object"&&module&&!module.nodeType&&module,Fke=cH&&cH.exports===fH,uH=Fke?Wn.Buffer:void 0,hH=uH?uH.allocUnsafe:void 0;s(zke,"cloneBuffer");C3=zke});var $ke,Pp,W_=_(()=>{"use strict";xo();$ke=Wn.Uint8Array,Pp=$ke});function Gke(t){var e=new t.constructor(t.byteLength);return new Pp(e).set(new Pp(t)),e}var Bp,S3=_(()=>{"use strict";W_();s(Gke,"cloneArrayBuffer");Bp=Gke});function Vke(t,e){var r=e?Bp(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var _3,H_=_(()=>{"use strict";S3();s(Vke,"cloneTypedArray");_3=Vke});function Uke(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{"use strict";s(Uke,"copyArray");A3=Uke});var dH,qke,pH,mH=_(()=>{"use strict";Ws();dH=Object.create,qke=function(){function t(){}return s(t,"object"),function(e){if(!on(e))return{};if(dH)return dH(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),pH=qke});function Wke(t,e){return function(r){return t(e(r))}}var L3,X_=_(()=>{"use strict";s(Wke,"overArg");L3=Wke});var Hke,Fp,D3=_(()=>{"use strict";X_();Hke=L3(Object.getPrototypeOf,Object),Fp=Hke});function Xke(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Yke;return t===r}var Yke,ec,zp=_(()=>{"use strict";Yke=Object.prototype;s(Xke,"isPrototype");ec=Xke});function jke(t){return typeof t.constructor=="function"&&!ec(t)?pH(Fp(t)):{}}var R3,j_=_(()=>{"use strict";mH();D3();zp();s(jke,"initCloneObject");R3=jke});function Kke(t){return t!=null&&typeof t=="object"}var Fn,ko=_(()=>{"use strict";s(Kke,"isObjectLike");Fn=Kke});function Zke(t){return Fn(t)&&na(t)==Qke}var Qke,K_,gH=_(()=>{"use strict";fu();ko();Qke="[object Arguments]";s(Zke,"baseIsArguments");K_=Zke});var yH,Jke,e6e,t6e,cl,$p=_(()=>{"use strict";gH();ko();yH=Object.prototype,Jke=yH.hasOwnProperty,e6e=yH.propertyIsEnumerable,t6e=K_(function(){return arguments}())?K_:function(t){return Fn(t)&&Jke.call(t,"callee")&&!e6e.call(t,"callee")},cl=t6e});var r6e,ct,Dn=_(()=>{"use strict";r6e=Array.isArray,ct=r6e});function i6e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=n6e}var n6e,Gp,M3=_(()=>{"use strict";n6e=9007199254740991;s(i6e,"isLength");Gp=i6e});function a6e(t){return t!=null&&Gp(t.length)&&!fi(t)}var Hn,wo=_(()=>{"use strict";Oy();M3();s(a6e,"isArrayLike");Hn=a6e});function s6e(t){return Fn(t)&&Hn(t)}var cd,I3=_(()=>{"use strict";wo();ko();s(s6e,"isArrayLikeObject");cd=s6e});function o6e(){return!1}var vH,xH=_(()=>{"use strict";s(o6e,"stubFalse");vH=o6e});var wH,bH,l6e,kH,c6e,u6e,ul,Vp=_(()=>{"use strict";xo();xH();wH=typeof exports=="object"&&exports&&!exports.nodeType&&exports,bH=wH&&typeof module=="object"&&module&&!module.nodeType&&module,l6e=bH&&bH.exports===wH,kH=l6e?Wn.Buffer:void 0,c6e=kH?kH.isBuffer:void 0,u6e=c6e||vH,ul=u6e});function g6e(t){if(!Fn(t)||na(t)!=h6e)return!1;var e=Fp(t);if(e===null)return!0;var r=p6e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&TH.call(r)==m6e}var h6e,f6e,d6e,TH,p6e,m6e,EH,CH=_(()=>{"use strict";fu();D3();ko();h6e="[object Object]",f6e=Function.prototype,d6e=Object.prototype,TH=f6e.toString,p6e=d6e.hasOwnProperty,m6e=TH.call(Object);s(g6e,"isPlainObject");EH=g6e});function G6e(t){return Fn(t)&&Gp(t.length)&&!!Sn[na(t)]}var y6e,v6e,x6e,b6e,k6e,w6e,T6e,E6e,C6e,S6e,_6e,A6e,L6e,D6e,R6e,M6e,I6e,N6e,O6e,P6e,B6e,F6e,z6e,$6e,Sn,SH,_H=_(()=>{"use strict";fu();M3();ko();y6e="[object Arguments]",v6e="[object Array]",x6e="[object Boolean]",b6e="[object Date]",k6e="[object Error]",w6e="[object Function]",T6e="[object Map]",E6e="[object Number]",C6e="[object Object]",S6e="[object RegExp]",_6e="[object Set]",A6e="[object String]",L6e="[object WeakMap]",D6e="[object ArrayBuffer]",R6e="[object DataView]",M6e="[object Float32Array]",I6e="[object Float64Array]",N6e="[object Int8Array]",O6e="[object Int16Array]",P6e="[object Int32Array]",B6e="[object Uint8Array]",F6e="[object Uint8ClampedArray]",z6e="[object Uint16Array]",$6e="[object Uint32Array]",Sn={};Sn[M6e]=Sn[I6e]=Sn[N6e]=Sn[O6e]=Sn[P6e]=Sn[B6e]=Sn[F6e]=Sn[z6e]=Sn[$6e]=!0;Sn[y6e]=Sn[v6e]=Sn[D6e]=Sn[x6e]=Sn[R6e]=Sn[b6e]=Sn[k6e]=Sn[w6e]=Sn[T6e]=Sn[E6e]=Sn[C6e]=Sn[S6e]=Sn[_6e]=Sn[A6e]=Sn[L6e]=!1;s(G6e,"baseIsTypedArray");SH=G6e});function V6e(t){return function(e){return t(e)}}var To,ud=_(()=>{"use strict";s(V6e,"baseUnary");To=V6e});var AH,Vy,U6e,Q_,q6e,Eo,Uy=_(()=>{"use strict";B_();AH=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vy=AH&&typeof module=="object"&&module&&!module.nodeType&&module,U6e=Vy&&Vy.exports===AH,Q_=U6e&&b3.process,q6e=function(){try{var t=Vy&&Vy.require&&Vy.require("util").types;return t||Q_&&Q_.binding&&Q_.binding("util")}catch{}}(),Eo=q6e});var LH,W6e,Rh,qy=_(()=>{"use strict";_H();ud();Uy();LH=Eo&&Eo.isTypedArray,W6e=LH?To(LH):SH,Rh=W6e});function H6e(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Wy,Z_=_(()=>{"use strict";s(H6e,"safeGet");Wy=H6e});function j6e(t,e,r){var n=t[e];(!(X6e.call(t,e)&&bo(n,r))||r===void 0&&!(e in t))&&Jl(t,e,r)}var Y6e,X6e,tc,Up=_(()=>{"use strict";Np();od();Y6e=Object.prototype,X6e=Y6e.hasOwnProperty;s(j6e,"assignValue");tc=j6e});function K6e(t,e,r,n){var i=!r;r||(r={});for(var a=-1,o=e.length;++a{"use strict";Up();Np();s(K6e,"copyObject");Co=K6e});function Q6e(t,e){for(var r=-1,n=Array(t);++r{"use strict";s(Q6e,"baseTimes");DH=Q6e});function ewe(t,e){var r=typeof t;return e=e??Z6e,!!e&&(r=="number"||r!="symbol"&&J6e.test(t))&&t>-1&&t%1==0&&t{"use strict";Z6e=9007199254740991,J6e=/^(?:0|[1-9]\d*)$/;s(ewe,"isIndex");Mh=ewe});function nwe(t,e){var r=ct(t),n=!r&&cl(t),i=!r&&!n&&ul(t),a=!r&&!n&&!i&&Rh(t),o=r||n||i||a,l=o?DH(t.length,String):[],u=l.length;for(var h in t)(e||rwe.call(t,h))&&!(o&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Mh(h,u)))&&l.push(h);return l}var twe,rwe,N3,J_=_(()=>{"use strict";RH();$p();Dn();Vp();Hy();qy();twe=Object.prototype,rwe=twe.hasOwnProperty;s(nwe,"arrayLikeKeys");N3=nwe});function iwe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var MH,IH=_(()=>{"use strict";s(iwe,"nativeKeysIn");MH=iwe});function owe(t){if(!on(t))return MH(t);var e=ec(t),r=[];for(var n in t)n=="constructor"&&(e||!swe.call(t,n))||r.push(n);return r}var awe,swe,NH,OH=_(()=>{"use strict";Ws();zp();IH();awe=Object.prototype,swe=awe.hasOwnProperty;s(owe,"baseKeysIn");NH=owe});function lwe(t){return Hn(t)?N3(t,!0):NH(t)}var ds,Ih=_(()=>{"use strict";J_();OH();wo();s(lwe,"keysIn");ds=lwe});function cwe(t){return Co(t,ds(t))}var PH,BH=_(()=>{"use strict";hd();Ih();s(cwe,"toPlainObject");PH=cwe});function uwe(t,e,r,n,i,a,o){var l=Wy(t,r),u=Wy(e,r),h=o.get(u);if(h){Gy(t,r,h);return}var f=a?a(l,u,r+"",t,e,o):void 0,d=f===void 0;if(d){var p=ct(u),m=!p&&ul(u),g=!p&&!m&&Rh(u);f=u,p||m||g?ct(l)?f=l:cd(l)?f=A3(l):m?(d=!1,f=C3(u,!0)):g?(d=!1,f=_3(u,!0)):f=[]:EH(u)||cl(u)?(f=l,cl(l)?f=PH(l):(!on(l)||fi(l))&&(f=R3(u))):d=!1}d&&(o.set(u,f),i(f,u,n,a,o),o.delete(u)),Gy(t,r,f)}var FH,zH=_(()=>{"use strict";U_();q_();H_();Y_();j_();$p();Dn();I3();Vp();Oy();Ws();CH();qy();Z_();BH();s(uwe,"baseMergeDeep");FH=uwe});function $H(t,e,r,n,i){t!==e&&Op(e,function(a,o){if(i||(i=new Zl),on(a))FH(t,e,o,r,$H,n,i);else{var l=n?n(Wy(t,o),a,o+"",t,e,i):void 0;l===void 0&&(l=a),Gy(t,o,l)}},ds)}var GH,VH=_(()=>{"use strict";$y();U_();E3();zH();Ws();Ih();Z_();s($H,"baseMerge");GH=$H});function hwe(t){return t}var Wi,mu=_(()=>{"use strict";s(hwe,"identity");Wi=hwe});function fwe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var UH,qH=_(()=>{"use strict";s(fwe,"apply");UH=fwe});function dwe(t,e,r){return e=WH(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=WH(n.length-e,0),o=Array(a);++i{"use strict";qH();WH=Math.max;s(dwe,"overRest");O3=dwe});function pwe(t){return function(){return t}}var ps,tA=_(()=>{"use strict";s(pwe,"constant");ps=pwe});var mwe,HH,YH=_(()=>{"use strict";tA();V_();mu();mwe=Ip?function(t,e){return Ip(t,"toString",{configurable:!0,enumerable:!1,value:ps(e),writable:!0})}:Wi,HH=mwe});function xwe(t){var e=0,r=0;return function(){var n=vwe(),i=ywe-(n-r);if(r=n,i>0){if(++e>=gwe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var gwe,ywe,vwe,XH,jH=_(()=>{"use strict";gwe=800,ywe=16,vwe=Date.now;s(xwe,"shortOut");XH=xwe});var bwe,P3,rA=_(()=>{"use strict";YH();jH();bwe=XH(HH),P3=bwe});function kwe(t,e){return P3(O3(t,e,Wi),t+"")}var rc,qp=_(()=>{"use strict";mu();eA();rA();s(kwe,"baseRest");rc=kwe});function wwe(t,e,r){if(!on(r))return!1;var n=typeof e;return(n=="number"?Hn(r)&&Mh(e,r.length):n=="string"&&e in r)?bo(r[e],t):!1}var Hs,fd=_(()=>{"use strict";od();wo();Hy();Ws();s(wwe,"isIterateeCall");Hs=wwe});function Twe(t){return rc(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,o&&Hs(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),e=Object(e);++n{"use strict";qp();fd();s(Twe,"createAssigner");B3=Twe});var Ewe,Nh,iA=_(()=>{"use strict";VH();nA();Ewe=B3(function(t,e,r){GH(t,e,r)}),Nh=Ewe});function Wp(t,e){if(!t)return e;let r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return Cwe[r]??e}function Lwe(t,e){let r=t.trim();if(r)return e.securityLevel!=="loose"?(0,ZH.sanitizeUrl)(r):r}function tY(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Rwe(t){let e,r=0;t.forEach(i=>{r+=tY(i,e),e=i});let n=r/2;return oA(t,n)}function Mwe(t){return t.length===1?t[0]:Rwe(t)}function Nwe(t,e,r){let n=structuredClone(r);V.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();let i=25+t,a=oA(n,i),o=10+t*.5,l=Math.atan2(n[0].y-a.y,n[0].x-a.x),u={x:0,y:0};return e==="start_left"?(u.x=Math.sin(l+Math.PI)*o+(n[0].x+a.x)/2,u.y=-Math.cos(l+Math.PI)*o+(n[0].y+a.y)/2):e==="end_right"?(u.x=Math.sin(l-Math.PI)*o+(n[0].x+a.x)/2-5,u.y=-Math.cos(l-Math.PI)*o+(n[0].y+a.y)/2-5):e==="end_left"?(u.x=Math.sin(l)*o+(n[0].x+a.x)/2-5,u.y=-Math.cos(l)*o+(n[0].y+a.y)/2-5):(u.x=Math.sin(l)*o+(n[0].x+a.x)/2,u.y=-Math.cos(l)*o+(n[0].y+a.y)/2),u}function Hp(t){let e="",r="";for(let n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}function Owe(t){let e="",r="0123456789abcdef",n=r.length;for(let i=0;i{"use strict";ZH=ka(_p(),1);Xt();Qt();fE();it();Mf();Y0();G_();iA();hb();sA="\u200B",Cwe={curveBasis:hs,curveBasisClosed:s3,curveBasisOpen:o3,curveBumpX:g_,curveBumpY:y_,curveBundle:v_,curveCardinalClosed:b_,curveCardinalOpen:w_,curveCardinal:x_,curveCatmullRomClosed:C_,curveCatmullRomOpen:S_,curveCatmullRom:E_,curveLinear:uu,curveLinearClosed:f3,curveMonotoneX:A_,curveMonotoneY:L_,curveNatural:p3,curveStep:g3,curveStepAfter:R_,curveStepBefore:D_},Swe=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,_we=s(function(t,e){let r=JH(t,/(?:init\b)|(?:initialize\b)/),n={};if(Array.isArray(r)){let o=r.map(l=>l.args);K0(o),n=An(n,[...o])}else n=r.args;if(!n)return;let i=H0(t,e),a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),JH=s(function(t,e=null){try{let r=new RegExp(`[%]{2}(?![{]${Swe.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),V.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n,i=[];for(;(n=Df.exec(t))!==null;)if(n.index===Df.lastIndex&&Df.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){let a=n[1]?n[1]:n[2],o=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:o})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return V.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),eY=s(function(t){return t.replace(Df,"")},"removeDirectives"),Awe=s(function(t,e){for(let[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");s(Wp,"interpolateToCurve");s(Lwe,"formatUrl");Dwe=s((t,...e)=>{let r=t.split("."),n=r.length-1,i=r[n],a=window;for(let o=0;o{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),oA=s((t,e)=>{let r,n=e;for(let i of t){if(r){let a=tY(i,r);if(a=1)return{x:i.x,y:i.y};if(o>0&&o<1)return{x:KH((1-o)*r.x+o*i.x,5),y:KH((1-o)*r.y+o*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),Iwe=s((t,e,r)=>{V.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=oA(e,25),a=t?10:5,o=Math.atan2(e[0].y-i.y,e[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(o)*a+(e[0].x+i.x)/2,l.y=-Math.cos(o)*a+(e[0].y+i.y)/2,l},"calcCardinalityPosition");s(Nwe,"calcTerminalLabelPosition");s(Hp,"getStylesFromArray");QH=0,lA=s(()=>(QH++,"id-"+Math.random().toString(36).substr(2,12)+"-"+QH),"generateId");s(Owe,"makeRandomHex");cA=s(t=>Owe(t.length),"random"),Pwe=s(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),Bwe=s(function(t,e){let r=e.text.replace($e.lineBreakRegex," "),[,n]=nc(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);let a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),uA=Rp((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},r),$e.lineBreakRegex.test(t)))return t;let n=t.split(" ").filter(Boolean),i=[],a="";return n.forEach((o,l)=>{let u=hl(`${o} `,r),h=hl(a,r);if(u>e){let{hyphenatedStrings:p,remainingWord:m}=Fwe(o,e,"-",r);i.push(a,...p),a=m}else h+u>=e?(i.push(a),a=o):a=[a,o].filter(Boolean).join(" ");l+1===n.length&&i.push(a)}),i.filter(o=>o!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),Fwe=Rp((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let i=[...t],a=[],o="";return i.forEach((l,u)=>{let h=`${o}${l}`;if(hl(h,n)>=e){let d=u+1,p=i.length===d,m=`${h}${r}`;a.push(p?h:m),o=""}else o=h}),{hyphenatedStrings:a,remainingWord:o}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);s(z3,"calculateTextHeight");s(hl,"calculateTextWidth");hA=Rp((t,e)=>{let{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};let[,a]=nc(r),o=["sans-serif",n],l=t.split($e.lineBreakRegex),u=[],h=Me("body");if(!h.remove)return{width:0,height:0,lineHeight:0};let f=h.append("svg");for(let p of o){let m=0,g={width:0,height:0,lineHeight:0};for(let y of l){let v=Pwe();v.text=y||sA;let x=Bwe(f,v).style("font-size",a).style("font-weight",i).style("font-family",p),b=(x._groups||x)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,b.width)),m=Math.round(b.height),g.height+=m,g.lineHeight=Math.round(Math.max(g.lineHeight,m))}u.push(g)}f.remove();let d=isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1;return u[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),aA=class{constructor(e=!1,r){this.count=0;this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{s(this,"InitIDGenerator")}},zwe=s(function(t){return F3=F3||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),F3.innerHTML=t,unescape(F3.textContent)},"entityDecode");s(fA,"isDetailedError");$we=s((t,e,r,n)=>{if(!n)return;let i=t.node()?.getBBox();i&&t.append("text").text(n).attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),nc=s(t=>{if(typeof t=="number")return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");s(ms,"cleanAndMerge");dt={assignWithDepth:An,wrapLabel:uA,calculateTextHeight:z3,calculateTextWidth:hl,calculateTextDimensions:hA,cleanAndMerge:ms,detectInit:_we,detectDirective:JH,isSubstringInArray:Awe,interpolateToCurve:Wp,calcLabelPosition:Mwe,calcCardinalityPosition:Iwe,calcTerminalLabelPosition:Nwe,formatUrl:Lwe,getStylesFromArray:Hp,generateId:lA,random:cA,runFunc:Dwe,entityDecode:zwe,insertTitle:$we,parseFontSize:nc,InitIDGenerator:aA},rY=s(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){let n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"\uFB02\xB0\xB0"+n+"\xB6\xDF":"\uFB02\xB0"+n+"\xB6\xDF"}),e},"encodeEntities"),Ys=s(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),$3=s((t,e,{counter:r=0,prefix:n,suffix:i})=>`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId")});function fl(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=uA(e[t].text,i,n),e[t].textLines=e[t].text.split($e.lineBreakRegex).length,e[t].width=i,e[t].height=z3(e[t].text,n);else{let a=e[t].text.split($e.lineBreakRegex);e[t].textLines=a.length;let o=0;e[t].height=0,e[t].width=0;for(let l of a)e[t].width=Math.max(hl(l,n),e[t].width),o=z3(l,n),e[t].height=e[t].height+o}}function oY(t,e,r,n,i){let a=new q3(i);a.data.widthLimit=r.data.widthLimit/Math.min(dA,n.length);for(let[o,l]of n.entries()){let u=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=u,u=l.image.Y+l.image.height);let h=l.wrap&&kt.wrap,f=G3(kt);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",fl("label",l,h,f,a.data.widthLimit),l.label.Y=u+8,u=l.label.Y+l.label.height,l.type&&l.type.text!==""){l.type.text="["+l.type.text+"]";let g=G3(kt);fl("type",l,h,g,a.data.widthLimit),l.type.Y=u+5,u=l.type.Y+l.type.height}if(l.descr&&l.descr.text!==""){let g=G3(kt);g.fontSize=g.fontSize-2,fl("descr",l,h,g,a.data.widthLimit),l.descr.Y=u+20,u=l.descr.Y+l.descr.height}if(o==0||o%dA===0){let g=r.data.startx+kt.diagramMarginX,y=r.data.stopy+kt.diagramMarginY+u;a.setData(g,g,y,y)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+kt.diagramMarginX:a.data.startx,y=a.data.starty;a.setData(g,g,y,y)}a.name=l.alias;let d=i.db.getC4ShapeArray(l.alias),p=i.db.getC4ShapeKeys(l.alias);p.length>0&&sY(a,t,d,p),e=l.alias;let m=i.db.getBoundarys(e);m.length>0&&oY(t,e,a,m,i),l.alias!=="global"&&aY(t,l,a),r.data.stopy=Math.max(a.data.stopy+kt.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+kt.c4ShapeMargin,r.data.stopx),V3=Math.max(V3,r.data.stopx),U3=Math.max(U3,r.data.stopy)}}var V3,U3,iY,dA,kt,q3,pA,Yy,G3,Gwe,aY,sY,gs,nY,Vwe,Uwe,qwe,mA,lY=_(()=>{"use strict";Xt();nW();it();Z7();Qt();vC();gt();Y0();pr();Un();V3=0,U3=0,iY=4,dA=2;C1.yy=Y1;kt={},q3=class{static{s(this,"Bounds")}constructor(e){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,pA(e.db.getConfig())}setData(e,r,n,i){this.nextData.startx=this.data.startx=e,this.nextData.stopx=this.data.stopx=r,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=i}updateVal(e,r,n,i){e[r]===void 0?e[r]=n:e[r]=i(n,e[r])}insert(e){this.nextData.cnt=this.nextData.cnt+1;let r=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+e.margin:this.nextData.stopx+e.margin*2,n=r+e.width,i=this.nextData.starty+e.margin*2,a=i+e.height;(r>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>iY)&&(r=this.nextData.startx+e.margin+kt.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},pA(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},pA=s(function(t){An(kt,t),t.fontFamily&&(kt.personFontFamily=kt.systemFontFamily=kt.messageFontFamily=t.fontFamily),t.fontSize&&(kt.personFontSize=kt.systemFontSize=kt.messageFontSize=t.fontSize),t.fontWeight&&(kt.personFontWeight=kt.systemFontWeight=kt.messageFontWeight=t.fontWeight)},"setConf"),Yy=s((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),G3=s(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),Gwe=s(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");s(fl,"calcC4ShapeTextWH");aY=s(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=kt.c4ShapeMargin-35;let n=e.wrap&&kt.wrap,i=G3(kt);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=hl(e.label.text,i);fl("label",e,n,i,a),ll.drawBoundary(t,e,kt)},"drawBoundary"),sY=s(function(t,e,r,n){let i=0;for(let a of n){i=0;let o=r[a],l=Yy(kt,o.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,o.typeC4Shape.width=hl("\xAB"+o.typeC4Shape.text+"\xBB",l),o.typeC4Shape.height=l.fontSize+2,o.typeC4Shape.Y=kt.c4ShapePadding,i=o.typeC4Shape.Y+o.typeC4Shape.height-4,o.image={width:0,height:0,Y:0},o.typeC4Shape.text){case"person":case"external_person":o.image.width=48,o.image.height=48,o.image.Y=i,i=o.image.Y+o.image.height;break}o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=i,i=o.image.Y+o.image.height);let u=o.wrap&&kt.wrap,h=kt.width-kt.c4ShapePadding*2,f=Yy(kt,o.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",fl("label",o,u,f,h),o.label.Y=i+8,i=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=Yy(kt,o.typeC4Shape.text);fl("type",o,u,m,h),o.type.Y=i+5,i=o.type.Y+o.type.height}else if(o.techn&&o.techn.text!==""){o.techn.text="["+o.techn.text+"]";let m=Yy(kt,o.techn.text);fl("techn",o,u,m,h),o.techn.Y=i+5,i=o.techn.Y+o.techn.height}let d=i,p=o.label.width;if(o.descr&&o.descr.text!==""){let m=Yy(kt,o.typeC4Shape.text);fl("descr",o,u,m,h),o.descr.Y=i+20,i=o.descr.Y+o.descr.height,p=Math.max(o.label.width,o.descr.width),d=i-o.descr.textLines*5}p=p+kt.c4ShapePadding,o.width=Math.max(o.width||kt.width,p,kt.width),o.height=Math.max(o.height||kt.height,d,kt.height),o.margin=o.margin||kt.c4ShapeMargin,t.insert(o),ll.drawC4Shape(e,o,kt)}t.bumpLastMargin(kt.c4ShapeMargin)},"drawC4ShapeArray"),gs=class{static{s(this,"Point")}constructor(e,r){this.x=e,this.y=r}},nY=s(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,o=r+t.width/2,l=n+t.height/2,u=Math.abs(r-i),h=Math.abs(n-a),f=h/u,d=t.height/t.width,p=null;return n==a&&ri?p=new gs(r,l):r==i&&na&&(p=new gs(o,n)),r>i&&n=f?p=new gs(r,l+f*t.width/2):p=new gs(o-u/h*t.height/2,n+t.height):r=f?p=new gs(r+t.width,l+f*t.width/2):p=new gs(o+u/h*t.height/2,n+t.height):ra?d>=f?p=new gs(r+t.width,l-f*t.width/2):p=new gs(o+t.height/2*u/h,n):r>i&&n>a&&(d>=f?p=new gs(r,l-t.width/2*f):p=new gs(o-t.height/2*u/h,n)),p},"getIntersectPoint"),Vwe=s(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=nY(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=nY(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),Uwe=s(function(t,e,r,n){let i=0;for(let a of e){i=i+1;let o=a.wrap&&kt.wrap,l=Gwe(kt);n.db.getC4Type()==="C4Dynamic"&&(a.label.text=i+": "+a.label.text);let h=hl(a.label.text,l);fl("label",a,o,l,h),a.techn&&a.techn.text!==""&&(h=hl(a.techn.text,l),fl("techn",a,o,l,h)),a.descr&&a.descr.text!==""&&(h=hl(a.descr.text,l),fl("descr",a,o,l,h));let f=r(a.from),d=r(a.to),p=Vwe(f,d);a.startPoint=p.startPoint,a.endPoint=p.endPoint}ll.drawRels(t,e,kt)},"drawRels");s(oY,"drawInsideBoundary");qwe=s(function(t,e,r,n){kt=le().c4;let i=le().securityLevel,a;i==="sandbox"&&(a=Me("#i"+e));let o=i==="sandbox"?Me(a.nodes()[0].contentDocument.body):Me("body"),l=n.db;n.db.setWrap(kt.wrap),iY=l.getC4ShapeInRow(),dA=l.getC4BoundaryInRow(),V.debug(`C:${JSON.stringify(kt,null,2)}`);let u=i==="sandbox"?o.select(`[id="${e}"]`):Me(`[id="${e}"]`);ll.insertComputerIcon(u),ll.insertDatabaseIcon(u),ll.insertClockIcon(u);let h=new q3(n);h.setData(kt.diagramMarginX,kt.diagramMarginX,kt.diagramMarginY,kt.diagramMarginY),h.data.widthLimit=screen.availWidth,V3=kt.diagramMarginX,U3=kt.diagramMarginY;let f=n.db.getTitle(),d=n.db.getBoundarys("");oY(u,"",h,d,n),ll.insertArrowHead(u),ll.insertArrowEnd(u),ll.insertArrowCrossHead(u),ll.insertArrowFilledHead(u),Uwe(u,n.db.getRels(),n.db.getC4Shape,n),h.data.stopx=V3,h.data.stopy=U3;let p=h.data,g=p.stopy-p.starty+2*kt.diagramMarginY,v=p.stopx-p.startx+2*kt.diagramMarginX;f&&u.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*kt.diagramMarginX).attr("y",p.starty+kt.diagramMarginY),xr(u,g,v,kt.useMaxWidth);let x=f?60:0;u.attr("viewBox",p.startx-kt.diagramMarginX+" -"+(kt.diagramMarginY+x)+" "+v+" "+(g+x)),V.debug("models:",p)},"draw"),mA={drawPersonOrSystemArray:sY,drawBoundary:aY,setConf:pA,draw:qwe}});var Wwe,cY,uY=_(()=>{"use strict";Wwe=s(t=>`.person { + stroke: ${t.personBorder}; + fill: ${t.personBkg}; + } +`,"getStyles"),cY=Wwe});var hY={};ur(hY,{diagram:()=>Hwe});var Hwe,fY=_(()=>{"use strict";Z7();vC();lY();uY();Hwe={parser:MB,db:Y1,renderer:mA,styles:cY,init:s(({c4:t,wrap:e})=>{mA.setConf(t),Y1.setWrap(e)},"init")}});function yA(t){let e=[];for(let r of t){let n=jy.get(r);n?.styles&&(e=[...e,...n.styles??[]].map(i=>i.trim())),n?.textStyles&&(e=[...e,...n.textStyles??[]].map(i=>i.trim()))}return e}var Kwe,mY,Yp,Oh,ys,jy,gu,vA,xA,W3,gA,So,H3,Y3,X3,j3,Qwe,Zwe,Jwe,eTe,tTe,rTe,nTe,bA,iTe,aTe,sTe,gY,oTe,lTe,kA,yY,vY,cTe,xY,uTe,hTe,fTe,dTe,pTe,Xy,bY,kY,mTe,gTe,wY,yTe,vTe,xTe,bTe,kTe,TY,EY,wTe,TTe,ETe,CTe,STe,_Te,K3,wA=_(()=>{"use strict";Xt();pr();gt();Qt();it();Ci();Kwe="flowchart-",mY=0,Yp=le(),Oh=new Map,ys=[],jy=new Map,gu=[],vA=new Map,xA=new Map,W3=0,gA=!0,Y3=[],X3=s(t=>$e.sanitizeText(t,Yp),"sanitizeText"),j3=s(function(t){for(let e of Oh.values())if(e.id===t)return e.domId;return t},"lookUpDomId"),Qwe=s(function(t,e,r,n,i,a,o={}){if(!t||t.trim().length===0)return;let l,u=Oh.get(t);u===void 0&&(u={id:t,labelType:"text",domId:Kwe+t+"-"+mY,styles:[],classes:[]},Oh.set(t,u)),mY++,e!==void 0?(Yp=le(),l=X3(e.text.trim()),u.labelType=e.type,l.startsWith('"')&&l.endsWith('"')&&(l=l.substring(1,l.length-1)),u.text=l):u.text===void 0&&(u.text=t),r!==void 0&&(u.type=r),n?.forEach(function(h){u.styles.push(h)}),i?.forEach(function(h){u.classes.push(h)}),a!==void 0&&(u.dir=a),u.props===void 0?u.props=o:o!==void 0&&Object.assign(u.props,o)},"addVertex"),Zwe=s(function(t,e,r){let a={start:t,end:e,type:void 0,text:"",labelType:"text"};V.info("abc78 Got edge...",a);let o=r.text;if(o!==void 0&&(a.text=X3(o.text.trim()),a.text.startsWith('"')&&a.text.endsWith('"')&&(a.text=a.text.substring(1,a.text.length-1)),a.labelType=o.type),r!==void 0&&(a.type=r.type,a.stroke=r.stroke,a.length=r.length>10?10:r.length),ys.length<(Yp.maxEdges??500))V.info("Pushing edge..."),ys.push(a);else throw new Error(`Edge limit exceeded. ${ys.length} edges found, but the limit is ${Yp.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)},"addSingleLink"),Jwe=s(function(t,e,r){V.info("addLink",t,e,r);for(let n of t)for(let i of e)Zwe(n,i,r)},"addLink"),eTe=s(function(t,e){t.forEach(function(r){r==="default"?ys.defaultInterpolate=e:ys[r].interpolate=e})},"updateLinkInterpolate"),tTe=s(function(t,e){t.forEach(function(r){if(typeof r=="number"&&r>=ys.length)throw new Error(`The index ${r} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${ys.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);r==="default"?ys.defaultStyle=e:(ys[r].style=e,(ys[r]?.style?.length??0)>0&&!ys[r]?.style?.some(n=>n?.startsWith("fill"))&&ys[r]?.style?.push("fill:none"))})},"updateLink"),rTe=s(function(t,e){t.split(",").forEach(function(r){let n=jy.get(r);n===void 0&&(n={id:r,styles:[],textStyles:[]},jy.set(r,n)),e?.forEach(function(i){if(/color/.exec(i)){let a=i.replace("fill","bgFill");n.textStyles.push(a)}n.styles.push(i)})})},"addClass"),nTe=s(function(t){So=t,/.*/.exec(So)&&(So="LR"),/.*v/.exec(So)&&(So="TB"),So==="TD"&&(So="TB")},"setDirection"),bA=s(function(t,e){for(let r of t.split(",")){let n=Oh.get(r);n&&n.classes.push(e);let i=vA.get(r);i&&i.classes.push(e)}},"setClass"),iTe=s(function(t,e){if(e!==void 0){e=X3(e);for(let r of t.split(","))xA.set(H3==="gen-1"?j3(r):r,e)}},"setTooltip"),aTe=s(function(t,e,r){let n=j3(t);if(le().securityLevel!=="loose"||e===void 0)return;let i=[];if(typeof r=="string"){i=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let o=0;o")),i.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),Me(this).classed("hover",!1)})},"setupToolTips");Y3.push(xY);uTe=s(function(t="gen-1"){Oh=new Map,jy=new Map,ys=[],Y3=[xY],gu=[],vA=new Map,W3=0,xA=new Map,gA=!0,H3=t,Yp=le(),br()},"clear"),hTe=s(t=>{H3=t||"gen-2"},"setGen"),fTe=s(function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},"defaultStyle"),dTe=s(function(t,e,r){let n=t.text.trim(),i=r.text;t===r&&/\s/.exec(r.text)&&(n=void 0);function a(h){let f={boolean:{},number:{},string:{}},d=[],p;return{nodeList:h.filter(function(g){let y=typeof g;return g.stmt&&g.stmt==="dir"?(p=g.value,!1):g.trim()===""?!1:y in f?f[y].hasOwnProperty(g)?!1:f[y][g]=!0:d.includes(g)?!1:d.push(g)}),dir:p}}s(a,"uniq");let{nodeList:o,dir:l}=a(e.flat());if(H3==="gen-1")for(let h=0;h2e3)return{result:!1,count:0};if(bY[Xy]=e,gu[e].id===t)return{result:!0,count:0};let n=0,i=1;for(;n=0){let o=kY(t,a);if(o.result)return{result:!0,count:i+o.count};i=i+o.count}n=n+1}return{result:!1,count:i}},"indexNodes2"),mTe=s(function(t){return bY[t]},"getDepthFirstPos"),gTe=s(function(){Xy=-1,gu.length>0&&kY("none",gu.length-1)},"indexNodes"),wY=s(function(){return gu},"getSubGraphs"),yTe=s(()=>gA?(gA=!1,!0):!1,"firstGraph"),vTe=s(t=>{let e=t.trim(),r="arrow_open";switch(e[0]){case"<":r="arrow_point",e=e.slice(1);break;case"x":r="arrow_cross",e=e.slice(1);break;case"o":r="arrow_circle",e=e.slice(1);break}let n="normal";return e.includes("=")&&(n="thick"),e.includes(".")&&(n="dotted"),{type:r,stroke:n}},"destructStartLink"),xTe=s((t,e)=>{let r=e.length,n=0;for(let i=0;i{let e=t.trim(),r=e.slice(0,-1),n="arrow_open";switch(e.slice(-1)){case"x":n="arrow_cross",e.startsWith("x")&&(n="double_"+n,r=r.slice(1));break;case">":n="arrow_point",e.startsWith("<")&&(n="double_"+n,r=r.slice(1));break;case"o":n="arrow_circle",e.startsWith("o")&&(n="double_"+n,r=r.slice(1));break}let i="normal",a=r.length-1;r.startsWith("=")&&(i="thick"),r.startsWith("~")&&(i="invisible");let o=xTe(".",r);return o&&(i="dotted",a=o),{type:n,stroke:i,length:a}},"destructEndLink"),kTe=s((t,e)=>{let r=bTe(t),n;if(e){if(n=vTe(e),n.stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if(n.type==="arrow_open")n.type=r.type;else{if(n.type!==r.type)return{type:"INVALID",stroke:"INVALID"};n.type="double_"+n.type}return n.type==="double_arrow"&&(n.type="double_arrow_point"),n.length=r.length,n}return r},"destructLink"),TY=s((t,e)=>{for(let r of t)if(r.nodes.includes(e))return!0;return!1},"exists"),EY=s((t,e)=>{let r=[];return t.nodes.forEach((n,i)=>{TY(e,n)||r.push(t.nodes[i])}),{nodes:r}},"makeUniq"),wTe={firstGraph:yTe},TTe=s(t=>t.type==="square"?"squareRect":t.type==="round"?"roundedRect":t.type??"squareRect","getTypeFromVertex"),ETe=s((t,e)=>t.find(r=>r.id===e),"findNode"),CTe=s(t=>{let e="none",r="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":r=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":e=t.replace("double_",""),r=e;break}return{arrowTypeStart:e,arrowTypeEnd:r}},"destructEdgeType"),STe=s((t,e,r,n,i,a)=>{let o=r.get(t.id),l=n.get(t.id)??!1,u=ETe(e,t.id);u?(u.cssStyles=t.styles,u.cssCompiledStyles=yA(t.classes),u.cssClasses=t.classes.join(" ")):e.push({id:t.id,label:t.text,labelStyle:"",parentId:o,padding:i.flowchart?.padding||8,cssStyles:t.styles,cssCompiledStyles:yA(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),shape:TTe(t),dir:t.dir,domId:t.domId,isGroup:l,look:a,link:t.link,linkTarget:t.linkTarget,tooltip:gY(t.id)})},"addNodeFromVertex");s(yA,"getCompiledStyles");_Te=s(()=>{let t=le(),e=[],r=[],n=wY(),i=new Map,a=new Map;for(let u=n.length-1;u>=0;u--){let h=n[u];h.nodes.length>0&&a.set(h.id,!0);for(let f of h.nodes)i.set(f,h.id)}for(let u=n.length-1;u>=0;u--){let h=n[u];e.push({id:h.id,label:h.title,labelStyle:"",parentId:i.get(h.id),padding:8,cssCompiledStyles:yA(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:t.look})}yY().forEach(u=>{STe(u,e,i,a,t,t.look||"classic")});let l=vY();return l.forEach((u,h)=>{let{arrowTypeStart:f,arrowTypeEnd:d}=CTe(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);let m={id:$3(u.start,u.end,{counter:h,prefix:"L"}),start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"?"none":f,arrowTypeEnd:u?.stroke==="invisible"?"none":d,arrowheadStyle:"fill: #333",labelStyle:p,style:p,pattern:u.stroke,look:t.look};r.push(m)}),{nodes:e,edges:r,other:{},config:t}},"getData"),K3={defaultConfig:s(()=>Qb.flowchart,"defaultConfig"),setAccTitle:Ar,getAccTitle:Gr,getAccDescription:Ur,getData:_Te,setAccDescription:Vr,addVertex:Qwe,lookUpDomId:j3,addLink:Jwe,updateLinkInterpolate:eTe,updateLink:tTe,addClass:rTe,setDirection:nTe,setClass:bA,setTooltip:iTe,getTooltip:gY,setClickEvent:oTe,setLink:sTe,bindFunctions:lTe,getDirection:kA,getVertices:yY,getEdges:vY,getClasses:cTe,clear:uTe,setGen:hTe,defaultStyle:fTe,addSubGraph:dTe,getDepthFirstPos:mTe,indexNodes:gTe,getSubGraphs:wY,destructLink:kTe,lex:wTe,exists:TY,makeUniq:EY,setDiagramTitle:an,getDiagramTitle:Qr}});var ATe,CY,SY=_(()=>{"use strict";ATe=s(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),CY=s((t,e,r)=>{let n=ATe(t),i=2,a=e.height+2*r.padding,o=a/i,l=e.width+2*o+r.padding,u=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:l/2,y:2*u},{x:l-o,y:0},{x:l,y:0},{x:l,y:-a/3},{x:l+2*u,y:-a/2},{x:l,y:-2*a/3},{x:l,y:-a},{x:l-o,y:-a},{x:l/2,y:-a-2*u},{x:o,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*u,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:o,y:0},{x:l-o,y:0},{x:l,y:-a/2},{x:l-o,y:-a},{x:o,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:o,y:-a},{x:l-o,y:-a},{x:l,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:l,y:-o},{x:l,y:-a+o},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:l,y:0},{x:0,y:-o},{x:0,y:-a+o},{x:l,y:-a}]:n.has("right")&&n.has("left")?[{x:o,y:0},{x:o,y:-u},{x:l-o,y:-u},{x:l-o,y:0},{x:l,y:-a/2},{x:l-o,y:-a},{x:l-o,y:-a+u},{x:o,y:-a+u},{x:o,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:o,y:-u},{x:o,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-o,y:-a+u},{x:l-o,y:-u},{x:l,y:-u}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:l,y:-o},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:l,y:0},{x:0,y:-o},{x:l,y:-a}]:n.has("left")&&n.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-a}]:n.has("right")?[{x:o,y:-u},{x:o,y:-u},{x:l-o,y:-u},{x:l-o,y:0},{x:l,y:-a/2},{x:l-o,y:-a},{x:l-o,y:-a+u},{x:o,y:-a+u},{x:o,y:-a+u}]:n.has("left")?[{x:o,y:0},{x:o,y:-u},{x:l-o,y:-u},{x:l-o,y:-a+u},{x:o,y:-a+u},{x:o,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:o,y:-u},{x:o,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-o,y:-a+u},{x:l-o,y:-u}]:n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:o,y:-u},{x:o,y:-a+u},{x:l-o,y:-a+u},{x:l-o,y:-u},{x:l,y:-u}]:[{x:0,y:0}]},"getArrowPoints")});function CA(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function MY(t){pd=t}function Xs(t,e){if(e){if(IY.test(t))return t.replace(LTe,_Y)}else if(NY.test(t))return t.replace(DTe,_Y);return t}function ITe(t){return t.replace(MTe,(e,r)=>(r=r.toLowerCase(),r==="colon"?":":r.charAt(0)==="#"?r.charAt(1)==="x"?String.fromCharCode(parseInt(r.substring(2),16)):String.fromCharCode(+r.substring(1)):""))}function en(t,e){let r=typeof t=="string"?t:t.source;e=e||"";let n={replace:s((i,a)=>{let o=typeof a=="string"?a:a.source;return o=o.replace(NTe,"$1"),r=r.replace(i,o),n},"replace"),getRegex:s(()=>new RegExp(r,e),"getRegex")};return n}function AY(t){try{t=encodeURI(t).replace(/%25/g,"%")}catch{return null}return t}function LY(t,e){let r=t.replace(/\|/g,(a,o,l)=>{let u=!1,h=o;for(;--h>=0&&l[h]==="\\";)u=!u;return u?"|":" |"}),n=r.split(/ \|/),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length{let a=i.match(/^\s+/);if(a===null)return i;let[o]=a;return o.length>=n.length?i.slice(n.length):i}).join(` +`)}function qr(t,e){return dd.parse(t,e)}var pd,IY,LTe,NY,DTe,RTe,_Y,MTe,NTe,Zy,jp,BTe,FTe,zTe,ev,$Te,OY,PY,SA,GTe,_A,VTe,UTe,J3,AA,qTe,BY,WTe,LA,RY,HTe,YTe,FY,XTe,zY,jTe,tv,KTe,QTe,ZTe,JTe,e7e,t7e,r7e,n7e,i7e,Z3,a7e,$Y,GY,s7e,DA,o7e,TA,l7e,Q3,Qy,yu,Kp,Jy,vu,Xp,EA,dd,b3t,k3t,w3t,T3t,E3t,C3t,S3t,VY=_(()=>{"use strict";s(CA,"_getDefaults");pd=CA();s(MY,"changeDefaults");IY=/[&<>"']/,LTe=new RegExp(IY.source,"g"),NY=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,DTe=new RegExp(NY.source,"g"),RTe={"&":"&","<":"<",">":">",'"':""","'":"'"},_Y=s(t=>RTe[t],"getEscapeReplacement");s(Xs,"escape$1");MTe=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;s(ITe,"unescape");NTe=/(^|[^\[])\^/g;s(en,"edit");s(AY,"cleanUrl");Zy={exec:s(()=>null,"exec")};s(LY,"splitCells");s(Ky,"rtrim");s(OTe,"findClosingBracket");s(DY,"outputLink");s(PTe,"indentCodeCompensation");jp=class{static{s(this,"_Tokenizer")}options;rules;lexer;constructor(e){this.options=e||pd}space(e){let r=this.rules.block.newline.exec(e);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(e){let r=this.rules.block.code.exec(e);if(r){let n=r[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:Ky(n,` +`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=PTe(n,r[3]||"");return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(/#$/.test(n)){let i=Ky(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:Ky(r[0],` +`)}}blockquote(e){let r=this.rules.block.blockquote.exec(e);if(r){let n=Ky(r[0],` +`).split(` +`),i="",a="",o=[];for(;n.length>0;){let l=!1,u=[],h;for(h=0;h/.test(n[h]))u.push(n[h]),l=!0;else if(!l)u.push(n[h]);else break;n=n.slice(h);let f=u.join(` +`),d=f.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` + $1`).replace(/^ {0,3}>[ \t]?/gm,"");i=i?`${i} +${f}`:f,a=a?`${a} +${d}`:d;let p=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(d,o,!0),this.lexer.state.top=p,n.length===0)break;let m=o[o.length-1];if(m?.type==="code")break;if(m?.type==="blockquote"){let g=m,y=g.raw+` +`+n.join(` +`),v=this.blockquote(y);o[o.length-1]=v,i=i.substring(0,i.length-g.raw.length)+v.raw,a=a.substring(0,a.length-g.text.length)+v.text;break}else if(m?.type==="list"){let g=m,y=g.raw+` +`+n.join(` +`),v=this.list(y);o[o.length-1]=v,i=i.substring(0,i.length-m.raw.length)+v.raw,a=a.substring(0,a.length-g.raw.length)+v.raw,n=y.substring(o[o.length-1].raw.length).split(` +`);continue}}return{type:"blockquote",raw:i,tokens:o,text:a}}}list(e){let r=this.rules.block.list.exec(e);if(r){let n=r[1].trim(),i=n.length>1,a={type:"list",raw:"",ordered:i,start:i?+n.slice(0,-1):"",loose:!1,items:[]};n=i?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=i?n:"[*+-]");let o=new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),l=!1;for(;e;){let u=!1,h="",f="";if(!(r=o.exec(e))||this.rules.block.hr.test(e))break;h=r[0],e=e.substring(h.length);let d=r[2].split(` +`,1)[0].replace(/^\t+/,x=>" ".repeat(3*x.length)),p=e.split(` +`,1)[0],m=!d.trim(),g=0;if(this.options.pedantic?(g=2,f=d.trimStart()):m?g=r[1].length+1:(g=r[2].search(/[^ ]/),g=g>4?1:g,f=d.slice(g),g+=r[1].length),m&&/^ *$/.test(p)&&(h+=p+` +`,e=e.substring(p.length+1),u=!0),!u){let x=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),b=new RegExp(`^ {0,${Math.min(3,g-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),k=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:\`\`\`|~~~)`),A=new RegExp(`^ {0,${Math.min(3,g-1)}}#`);for(;e;){let w=e.split(` +`,1)[0];if(p=w,this.options.pedantic&&(p=p.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),k.test(p)||A.test(p)||x.test(p)||b.test(e))break;if(p.search(/[^ ]/)>=g||!p.trim())f+=` +`+p.slice(g);else{if(m||d.search(/[^ ]/)>=4||k.test(d)||A.test(d)||b.test(d))break;f+=` +`+p}!m&&!p.trim()&&(m=!0),h+=w+` +`,e=e.substring(w.length+1),d=p.slice(g)}}a.loose||(l?a.loose=!0:/\n *\n *$/.test(h)&&(l=!0));let y=null,v;this.options.gfm&&(y=/^\[[ xX]\] /.exec(f),y&&(v=y[0]!=="[ ] ",f=f.replace(/^\[[ xX]\] +/,""))),a.items.push({type:"list_item",raw:h,task:!!y,checked:v,loose:!1,text:f,tokens:[]}),a.raw+=h}a.items[a.items.length-1].raw=a.items[a.items.length-1].raw.trimEnd(),a.items[a.items.length-1].text=a.items[a.items.length-1].text.trimEnd(),a.raw=a.raw.trimEnd();for(let u=0;ud.type==="space"),f=h.length>0&&h.some(d=>/\n.*\n/.test(d.raw));a.loose=f}if(a.loose)for(let u=0;u$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=r[3]?r[3].substring(1,r[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):r[3];return{type:"def",tag:n,raw:r[0],href:i,title:a}}}table(e){let r=this.rules.block.table.exec(e);if(!r||!/[:|]/.test(r[2]))return;let n=LY(r[1]),i=r[2].replace(/^\||\| *$/g,"").split("|"),a=r[3]&&r[3].trim()?r[3].replace(/\n[ \t]*$/,"").split(` +`):[],o={type:"table",raw:r[0],header:[],align:[],rows:[]};if(n.length===i.length){for(let l of i)/^ *-+: *$/.test(l)?o.align.push("right"):/^ *:-+: *$/.test(l)?o.align.push("center"):/^ *:-+ *$/.test(l)?o.align.push("left"):o.align.push(null);for(let l=0;l({text:u,tokens:this.lexer.inline(u),header:!1,align:o.align[h]})));return o}}lheading(e){let r=this.rules.block.lheading.exec(e);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(e){let r=this.rules.block.paragraph.exec(e);if(r){let n=r[1].charAt(r[1].length-1)===` +`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:Xs(r[1])}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&/^/i.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;let o=Ky(n.slice(0,-1),"\\");if((n.length-o.length)%2===0)return}else{let o=OTe(r[2],"()");if(o>-1){let u=(r[0].indexOf("!")===0?5:4)+r[1].length+o;r[2]=r[2].substring(0,o),r[0]=r[0].substring(0,u).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let o=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);o&&(i=o[1],a=o[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),/^$/.test(n)?i=i.slice(1):i=i.slice(1,-1)),DY(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(/\s+/g," "),a=r[i.toLowerCase()];if(!a){let o=n[0].charAt(0);return{type:"text",raw:o,text:o}}return DY(n,a,n[0],this.lexer)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!i||i[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(i[1]||i[2]||"")||!n||this.rules.inline.punctuation.exec(n)){let o=[...i[0]].length-1,l,u,h=o,f=0,d=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,r=r.slice(-1*e.length+o);(i=d.exec(r))!=null;){if(l=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!l)continue;if(u=[...l].length,i[3]||i[4]){h+=u;continue}else if((i[5]||i[6])&&o%3&&!((o+u)%3)){f+=u;continue}if(h-=u,h>0)continue;u=Math.min(u,u+h+f);let p=[...i[0]][0].length,m=e.slice(0,o+i.index+p+u);if(Math.min(o,u)%2){let y=m.slice(1,-1);return{type:"em",raw:m,text:y,tokens:this.lexer.inlineTokens(y)}}let g=m.slice(2,-2);return{type:"strong",raw:m,text:g,tokens:this.lexer.inlineTokens(g)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(/\n/g," "),i=/[^ ]/.test(n),a=/^ /.test(n)&&/ $/.test(n);return i&&a&&(n=n.substring(1,n.length-1)),n=Xs(n,!0),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=Xs(r[1]),i="mailto:"+n):(n=Xs(r[1]),i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=Xs(r[0]),i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=Xs(r[0]),r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n;return this.lexer.state.inRawBlock?n=r[0]:n=Xs(r[0]),{type:"text",raw:r[0],text:n}}}},BTe=/^(?: *(?:\n|$))+/,FTe=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,zTe=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ev=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,$Te=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,OY=/(?:[*+-]|\d{1,9}[.)])/,PY=en(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,OY).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),SA=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,GTe=/^[^\n]+/,_A=/(?!\s*\])(?:\\.|[^\[\]\\])+/,VTe=en(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",_A).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),UTe=en(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,OY).getRegex(),J3="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",AA=/|$))/,qTe=en("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",AA).replace("tag",J3).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),BY=en(SA).replace("hr",ev).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",J3).getRegex(),WTe=en(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",BY).getRegex(),LA={blockquote:WTe,code:FTe,def:VTe,fences:zTe,heading:$Te,hr:ev,html:qTe,lheading:PY,list:UTe,newline:BTe,paragraph:BY,table:Zy,text:GTe},RY=en("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ev).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",J3).getRegex(),HTe={...LA,table:RY,paragraph:en(SA).replace("hr",ev).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",RY).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",J3).getRegex()},YTe={...LA,html:en(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",AA).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Zy,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:en(SA).replace("hr",ev).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",PY).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},FY=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,XTe=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,zY=/^( {2,}|\\)\n(?!\s*$)/,jTe=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,ZTe=en(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,tv).getRegex(),JTe=en("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,tv).getRegex(),e7e=en("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,tv).getRegex(),t7e=en(/\\([punct])/,"gu").replace(/punct/g,tv).getRegex(),r7e=en(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),n7e=en(AA).replace("(?:-->|$)","-->").getRegex(),i7e=en("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",n7e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Z3=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,a7e=en(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Z3).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),$Y=en(/^!?\[(label)\]\[(ref)\]/).replace("label",Z3).replace("ref",_A).getRegex(),GY=en(/^!?\[(ref)\](?:\[\])?/).replace("ref",_A).getRegex(),s7e=en("reflink|nolink(?!\\()","g").replace("reflink",$Y).replace("nolink",GY).getRegex(),DA={_backpedal:Zy,anyPunctuation:t7e,autolink:r7e,blockSkip:QTe,br:zY,code:XTe,del:Zy,emStrongLDelim:ZTe,emStrongRDelimAst:JTe,emStrongRDelimUnd:e7e,escape:FY,link:a7e,nolink:GY,punctuation:KTe,reflink:$Y,reflinkSearch:s7e,tag:i7e,text:jTe,url:Zy},o7e={...DA,link:en(/^!?\[(label)\]\((.*?)\)/).replace("label",Z3).getRegex(),reflink:en(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Z3).getRegex()},TA={...DA,escape:en(FY).replace("])","~|])").getRegex(),url:en(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\u+" ".repeat(h.length));let i,a,o;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(l=>(i=l.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.raw.length===1&&r.length>0?r[r.length-1].raw+=` +`:r.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&(a.type==="paragraph"||a.type==="text")?(a.raw+=` +`+i.raw,a.text+=` +`+i.text,this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&(a.type==="paragraph"||a.type==="text")?(a.raw+=` +`+i.raw,a.text+=` +`+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=a.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),r.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startBlock){let l=1/0,u=e.slice(1),h;this.options.extensions.startBlock.forEach(f=>{h=f.call({lexer:this},u),typeof h=="number"&&h>=0&&(l=Math.min(l,h))}),l<1/0&&l>=0&&(o=e.substring(0,l+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){a=r[r.length-1],n&&a?.type==="paragraph"?(a.raw+=` +`+i.raw,a.text+=` +`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i),n=o.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&a.type==="text"?(a.raw+=` +`+i.raw,a.text+=` +`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i);continue}if(e){let l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n,i,a,o=e,l,u,h;if(this.tokens.links){let f=Object.keys(this.tokens.links);if(f.length>0)for(;(l=this.tokenizer.rules.inline.reflinkSearch.exec(o))!=null;)f.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(l=this.tokenizer.rules.inline.blockSkip.exec(o))!=null;)o=o.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(l=this.tokenizer.rules.inline.anyPunctuation.exec(o))!=null;)o=o.slice(0,l.index)+"++"+o.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(u||(h=""),u=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(f=>(n=f.call({lexer:this},e,r))?(e=e.substring(n.raw.length),r.push(n),!0):!1))){if(n=this.tokenizer.escape(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.tag(e)){e=e.substring(n.raw.length),i=r[r.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(n=this.tokenizer.link(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(n.raw.length),i=r[r.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(n=this.tokenizer.emStrong(e,o,h)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.codespan(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.br(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.del(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.autolink(e)){e=e.substring(n.raw.length),r.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(e))){e=e.substring(n.raw.length),r.push(n);continue}if(a=e,this.options.extensions&&this.options.extensions.startInline){let f=1/0,d=e.slice(1),p;this.options.extensions.startInline.forEach(m=>{p=m.call({lexer:this},d),typeof p=="number"&&p>=0&&(f=Math.min(f,p))}),f<1/0&&f>=0&&(a=e.substring(0,f+1))}if(n=this.tokenizer.inlineText(a)){e=e.substring(n.raw.length),n.raw.slice(-1)!=="_"&&(h=n.raw.slice(-1)),u=!0,i=r[r.length-1],i&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(e){let f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}else throw new Error(f)}}return r}},Kp=class{static{s(this,"_Renderer")}options;parser;constructor(e){this.options=e||pd}space(e){return""}code({text:e,lang:r,escaped:n}){let i=(r||"").match(/^\S*/)?.[0],a=e.replace(/\n$/,"")+` +`;return i?'
'+(n?a:Xs(a,!0))+`
+`:"
"+(n?a:Xs(a,!0))+`
+`}blockquote({tokens:e}){return`
+${this.parser.parse(e)}
+`}html({text:e}){return e}heading({tokens:e,depth:r}){return`${this.parser.parseInline(e)} +`}hr(e){return`
+`}list(e){let r=e.ordered,n=e.start,i="";for(let l=0;l +`+i+" +`}listitem(e){let r="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&e.tokens[0].type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):r+=n+" "}return r+=this.parser.parse(e.tokens,!!e.loose),`
  • ${r}
  • +`}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    +`}table(e){let r="",n="";for(let a=0;a${i}`),` + +`+r+` +`+i+`
    +`}tablerow({text:e}){return` +${e} +`}tablecell(e){let r=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+r+` +`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${e}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=AY(e);if(a===null)return i;e=a;let o='
    ",o}image({href:e,title:r,text:n}){let i=AY(e);if(i===null)return n;e=i;let a=`${n}{let l=a[o].flat(1/0);n=n.concat(this.walkTokens(l,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let o=r.renderers[a.name];o?r.renderers[a.name]=function(...l){let u=a.renderer.apply(this,l);return u===!1&&(u=o.apply(this,l)),u}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let o=r[a.level];o?o.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new Kp(this.defaults);for(let o in n.renderer){if(!(o in a))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;let l=o,u=n.renderer[l];n.useNewRenderer||(u=this.#t(u,l,a));let h=a[l];a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new jp(this.defaults);for(let o in n.tokenizer){if(!(o in a))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;let l=o,u=n.tokenizer[l],h=a[l];a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new Xp;for(let o in n.hooks){if(!(o in a))throw new Error(`hook '${o}' does not exist`);if(o==="options")continue;let l=o,u=n.hooks[l],h=a[l];Xp.passThroughHooks.has(o)?a[l]=f=>{if(this.defaults.async)return Promise.resolve(u.call(a,f)).then(p=>h.call(a,p));let d=u.call(a,f);return h.call(a,d)}:a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,o=n.walkTokens;i.walkTokens=function(l){let u=[];return u.push(o.call(this,l)),a&&(u=u.concat(a.call(this,l))),u}}this.defaults={...this.defaults,...i}}),this}#t(e,r,n){switch(r){case"heading":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,n.parser.parseInline(i.tokens),i.depth,ITe(n.parser.parseInline(i.tokens,n.parser.textRenderer)))};case"code":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text,i.lang,!!i.escaped)};case"table":return function(i){if(!i.type||i.type!==r)return e.apply(this,arguments);let a="",o="";for(let u=0;u0&&f.tokens[0].type==="paragraph"?(f.tokens[0].text=g+" "+f.tokens[0].text,f.tokens[0].tokens&&f.tokens[0].tokens.length>0&&f.tokens[0].tokens[0].type==="text"&&(f.tokens[0].tokens[0].text=g+" "+f.tokens[0].tokens[0].text)):f.tokens.unshift({type:"text",text:g+" "}):m+=g+" "}m+=this.parser.parse(f.tokens,l),u+=this.listitem({type:"list_item",raw:m,text:m,task:p,checked:!!d,loose:l,tokens:f.tokens})}return e.call(this,u,a,o)};case"html":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text,i.block)};case"paragraph":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"escape":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text)};case"link":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.href,i.title,this.parser.parseInline(i.tokens))};case"image":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.href,i.title,i.text)};case"strong":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"em":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"codespan":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text)};case"del":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"text":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text)}}return e}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return yu.lex(e,r??this.defaults)}parser(e,r){return vu.parse(e,r??this.defaults)}#e(e,r){return(n,i)=>{let a={...i},o={...this.defaults,...a};this.defaults.async===!0&&a.async===!1&&(o.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),o.async=!0);let l=this.#r(!!o.silent,!!o.async);if(typeof n>"u"||n===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(o.hooks&&(o.hooks.options=o),o.async)return Promise.resolve(o.hooks?o.hooks.preprocess(n):n).then(u=>e(u,o)).then(u=>o.hooks?o.hooks.processAllTokens(u):u).then(u=>o.walkTokens?Promise.all(this.walkTokens(u,o.walkTokens)).then(()=>u):u).then(u=>r(u,o)).then(u=>o.hooks?o.hooks.postprocess(u):u).catch(l);try{o.hooks&&(n=o.hooks.preprocess(n));let u=e(n,o);o.hooks&&(u=o.hooks.processAllTokens(u)),o.walkTokens&&this.walkTokens(u,o.walkTokens);let h=r(u,o);return o.hooks&&(h=o.hooks.postprocess(h)),h}catch(u){return l(u)}}}#r(e,r){return n=>{if(n.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+Xs(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},dd=new EA;s(qr,"marked");qr.options=qr.setOptions=function(t){return dd.setOptions(t),qr.defaults=dd.defaults,MY(qr.defaults),qr};qr.getDefaults=CA;qr.defaults=pd;qr.use=function(...t){return dd.use(...t),qr.defaults=dd.defaults,MY(qr.defaults),qr};qr.walkTokens=function(t,e){return dd.walkTokens(t,e)};qr.parseInline=dd.parseInline;qr.Parser=vu;qr.parser=vu.parse;qr.Renderer=Kp;qr.TextRenderer=Jy;qr.Lexer=yu;qr.lexer=yu.lex;qr.Tokenizer=jp;qr.Hooks=Xp;qr.parse=qr;b3t=qr.options,k3t=qr.setOptions,w3t=qr.use,T3t=qr.walkTokens,E3t=qr.parseInline,C3t=vu.parse,S3t=yu.lex});function c7e(t,{markdownAutoWrap:e}){let n=t.replace(//g,` +`).replace(/\n{2,}/g,` +`),i=lb(n);return e===!1?i.replace(/ /g," "):i}function UY(t,e={}){let r=c7e(t,e),n=qr.lexer(r),i=[[]],a=0;function o(l,u="normal"){l.type==="text"?l.text.split(` +`).forEach((f,d)=>{d!==0&&(a++,i.push([])),f.split(" ").forEach(p=>{p&&i[a].push({content:p,type:u})})}):l.type==="strong"||l.type==="em"?l.tokens.forEach(h=>{o(h,l.type)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}return s(o,"processNode"),n.forEach(l=>{l.type==="paragraph"?l.tokens?.forEach(u=>{o(u)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}),i}function qY(t,{markdownAutoWrap:e}={}){let r=qr.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:`Unsupported markdown: ${i.type}`}return s(n,"output"),r.map(n).join("")}var WY=_(()=>{"use strict";VY();Y7();s(c7e,"preprocessMarkdown");s(UY,"markdownToLines");s(qY,"markdownToHTML")});function u7e(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}function h7e(t,e){let r=u7e(e.content);return HY(t,[],r,e.type)}function HY(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];let[i,...a]=r,o=[...e,i];return t([{content:o.join(""),type:n}])?HY(t,o,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function YY(t,e){if(t.some(({content:r})=>r.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return RA(t,e)}function RA(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},o=[...n];if(i!==""&&o.push({content:i,type:"normal"}),o.push(a),e(o))return RA(t,e,r,o);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){let[l,u]=h7e(e,a);r.push([l]),u.content&&t.unshift(u)}return RA(t,e,r)}var XY=_(()=>{"use strict";s(u7e,"splitTextToChars");s(h7e,"splitWordToFitWidth");s(HY,"splitWordToFitWidthRecursion");s(YY,"splitLineToFitWidth");s(RA,"splitLineToFitWidthRecursion")});function jY(t,e){e&&t.attr("style",e)}async function f7e(t,e,r,n,i=!1){let a=t.append("foreignObject"),o=a.append("xhtml:div"),l=e.label;e.label&&Ei(e.label)&&(l=await hh(e.label.replace($e.lineBreakRegex,` +`),le()));let u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),jY(h,e.labelStyle),h.attr("class",`${u} ${n}`),jY(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),o.style("max-width",r+"px"),o.style("text-align","center"),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let f=o.node().getBoundingClientRect();return f.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),f=o.node().getBoundingClientRect()),a.node()}function MA(t,e,r){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em")}function d7e(t,e,r){let n=t.append("text"),i=MA(n,1,e);IA(i,r);let a=i.node().getComputedTextLength();return n.remove(),a}function KY(t,e,r){let n=t.append("text"),i=MA(n,1,e);IA(i,[{content:r,type:"normal"}]);let a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function p7e(t,e,r,n=!1){let a=e.append("g"),o=a.insert("rect").attr("class","background").attr("style","stroke: none"),l=a.append("text").attr("y","-10.1"),u=0;for(let h of r){let f=s(p=>d7e(a,1.1,p)<=t,"checkWidth"),d=f(h)?[h]:YY(h,f);for(let p of d){let m=MA(l,u,1.1);IA(m,p),u++}}if(n){let h=l.node().getBBox(),f=2;return o.attr("x",-f).attr("y",-f).attr("width",h.width+2*f).attr("height",h.height+2*f),a.node()}else return l.node()}function IA(t,e){t.text(""),e.forEach((r,n)=>{let i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(r.content):i.text(" "+r.content)})}function NA(t){return t.replace(/fa[bklrs]?:fa-[\w-]+/g,e=>``)}var vs,ic=_(()=>{"use strict";gt();Qt();Xt();it();WY();pr();XY();s(jY,"applyStyle");s(f7e,"addHtmlSpan");s(MA,"createTspan");s(d7e,"computeWidthOfText");s(KY,"computeDimensionOfText");s(p7e,"createFormattedText");s(IA,"updateTextContentAndStyles");s(NA,"replaceIconSubstring");vs=s(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(V.info("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){let f=qY(e,h),d=NA(Ys(f)),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Ei(e)?p:d,labelStyle:r.replace("fill:","color:")};return await f7e(t,m,l,i,u)}else{let f=e.replace(//g,"
    "),d=UY(f.replace("
    ","
    "),h),p=p7e(l,t,d,e?u:!1);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Me(p).attr("style",m)}else{let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");Me(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Me(p).select("text").attr("style",g)}return p}},"createText")});function QY(t,e){e&&t.attr("style",e)}function m7e(t){let e=Me(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=t.label,i=t.isNode?"nodeLabel":"edgeLabel",a=r.append("span");return a.html(n),QY(a,t.labelStyle),a.attr("class",i),QY(r,t.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var g7e,Hi,rv=_(()=>{"use strict";Xt();it();gt();Qt();pr();ic();s(QY,"applyStyle");s(m7e,"addHtmlLabel");g7e=s((t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),hr(le().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),V.debug("vertexText"+i);let a={isNode:n,label:NA(Ys(i)),labelStyle:e.replace("fill:","color:")};return m7e(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let o=[];typeof i=="string"?o=i.split(/\\n|\n|/gi):Array.isArray(i)?o=i:o=[];for(let l of o){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),Hi=g7e});function y7e(t,e){return t.intersect(e)}var ZY,JY=_(()=>{"use strict";s(y7e,"intersectNode");ZY=y7e});function v7e(t,e,r,n){var i=t.x,a=t.y,o=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*o*o),h=Math.abs(e*r*o/u);n.x{"use strict";s(v7e,"intersectEllipse");e5=v7e});function x7e(t,e,r){return e5(t,e,e,r)}var eX,tX=_(()=>{"use strict";OA();s(x7e,"intersectCircle");eX=x7e});function b7e(t,e,r,n){var i,a,o,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,o=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+o*r.y+u,m=i*n.x+o*n.y+u,!(p!==0&&m!==0&&rX(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&rX(f,d))&&(g=i*l-a*o,g!==0)))return y=Math.abs(g/2),v=o*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function rX(t,e){return t*e>0}var nX,iX=_(()=>{"use strict";s(b7e,"intersectLine");s(rX,"sameSign");nX=b7e});function k7e(t,e,r){var n=t.x,i=t.y,a=[],o=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(g){o=Math.min(o,g.x),l=Math.min(l,g.y)}):(o=Math.min(o,e.x),l=Math.min(l,e.y));for(var u=n-t.width/2-o,h=i-t.height/2-l,f=0;f1&&a.sort(function(g,y){var v=g.x-r.x,x=g.y-r.y,b=Math.sqrt(v*v+x*x),k=y.x-r.x,A=y.y-r.y,w=Math.sqrt(k*k+A*A);return b{"use strict";iX();aX=k7e;s(k7e,"intersectPolygon")});var w7e,md,PA=_(()=>{"use strict";w7e=s((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,o=t.width/2,l=t.height/2,u,h;return Math.abs(a)*o>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(o=-o),u=o,h=i===0?0:o*a/i),{x:r+u,y:n+h}},"intersectRect"),md=w7e});var pn,BA=_(()=>{"use strict";JY();tX();OA();sX();PA();pn={node:ZY,circle:eX,ellipse:e5,polygon:aX,rect:md}});function dl(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var di,mn,t5=_(()=>{"use strict";rv();ic();gt();Xt();Qt();pr();di=s(async(t,e,r,n)=>{let i=le(),a,o=e.useHtmlLabels||hr(i.flowchart.htmlLabels);r?a=r:a="node default";let l=t.insert("g").attr("class",a).attr("id",e.domId||e.id),u=l.insert("g").attr("class","label").attr("style",e.labelStyle),h;e.labelText===void 0?h="":h=typeof e.labelText=="string"?e.labelText:e.labelText[0];let f=u.node(),d;e.labelType==="markdown"?d=vs(u,$r(Ys(h),i),{useHtmlLabels:o,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):d=f.appendChild(Hi($r(Ys(h),i),e.labelStyle,!1,n));let p=d.getBBox(),m=e.padding/2;if(hr(i.flowchart.htmlLabels)){let g=d.children[0],y=Me(d),v=g.getElementsByTagName("img");if(v){let x=h.replace(/]*>/g,"").trim()==="";await Promise.all([...v].map(b=>new Promise(k=>{function A(){if(b.style.display="flex",b.style.flexDirection="column",x){let w=i.fontSize?i.fontSize:window.getComputedStyle(document.body).fontSize,C=parseInt(w,10)*5+"px";b.style.minWidth=C,b.style.maxWidth=C}else b.style.width="100%";k(b)}s(A,"setupImage"),setTimeout(()=>{b.complete&&A()}),b.addEventListener("error",A),b.addEventListener("load",A)})))}p=g.getBoundingClientRect(),y.attr("width",p.width),y.attr("height",p.height)}return o?u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"):u.attr("transform","translate(0, "+-p.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:l,bbox:p,halfPadding:m,label:u}},"labelHelper"),mn=s((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");s(dl,"insertPolygonShape")});var T7e,oX,lX=_(()=>{"use strict";t5();it();gt();BA();T7e=s(async(t,e)=>{e.useHtmlLabels||le().flowchart.htmlLabels||(e.centerLabel=!0);let{shapeSvg:n,bbox:i,halfPadding:a}=await di(t,e,"node "+e.classes,!0);V.info("Classes = ",e.classes);let o=n.insert("rect",":first-child");return o.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),mn(e,o),e.intersect=function(l){return pn.rect(e,l)},n},"note"),oX=T7e});function FA(t,e,r,n){let i=[],a=s(l=>{i.push(l,0)},"addBorder"),o=s(l=>{i.push(0,l)},"skipBorder");e.includes("t")?(V.debug("add top border"),a(r)):o(r),e.includes("r")?(V.debug("add right border"),a(n)):o(n),e.includes("b")?(V.debug("add bottom border"),a(r)):o(r),e.includes("l")?(V.debug("add left border"),a(n)):o(n),t.attr("stroke-dasharray",i.join(" "))}var cX,js,uX,E7e,C7e,S7e,_7e,A7e,L7e,D7e,R7e,M7e,I7e,N7e,O7e,P7e,B7e,F7e,z7e,$7e,G7e,V7e,hX,U7e,q7e,fX,Qp,Zp,dX,pX,nv,r5=_(()=>{"use strict";Xt();gt();Qt();it();SY();rv();BA();lX();t5();cX=s(t=>t?" "+t:"","formatClass"),js=s((t,e)=>`${e||"node default"}${cX(t.classes)} ${cX(t.class)}`,"getClassesFromNode"),uX=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=i+a,l=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}];V.info("Question main (Circle)");let u=dl(r,o,o,l);return u.attr("style",e.style),mn(e,u),e.intersect=function(h){return V.warn("Intersect called"),pn.polygon(e,l,h)},r},"question"),E7e=s((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(o){return o.x+","+o.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(o){return pn.circle(e,14,o)},r},"choice"),C7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=4,a=n.height+e.padding,o=a/i,l=n.width+2*o+e.padding,u=[{x:o,y:0},{x:l-o,y:0},{x:l,y:-a/2},{x:l-o,y:-a},{x:o,y:-a},{x:0,y:-a/2}],h=dl(r,l,a,u);return h.attr("style",e.style),mn(e,h),e.intersect=function(f){return pn.polygon(e,u,f)},r},"hexagon"),S7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,void 0,!0),i=2,a=n.height+2*e.padding,o=a/i,l=n.width+2*o+e.padding,u=CY(e.directions,n,e),h=dl(r,l,a,u);return h.attr("style",e.style),mn(e,h),e.intersect=function(f){return pn.polygon(e,u,f)},r},"block_arrow"),_7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return dl(r,i,a,o).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(u){return pn.polygon(e,o,u)},r},"rect_left_inv_arrow"),A7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],l=dl(r,i,a,o);return l.attr("style",e.style),mn(e,l),e.intersect=function(u){return pn.polygon(e,o,u)},r},"lean_right"),L7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],l=dl(r,i,a,o);return l.attr("style",e.style),mn(e,l),e.intersect=function(u){return pn.polygon(e,o,u)},r},"lean_left"),D7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],l=dl(r,i,a,o);return l.attr("style",e.style),mn(e,l),e.intersect=function(u){return pn.polygon(e,o,u)},r},"trapezoid"),R7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],l=dl(r,i,a,o);return l.attr("style",e.style),mn(e,l),e.intersect=function(u){return pn.polygon(e,o,u)},r},"inv_trapezoid"),M7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],l=dl(r,i,a,o);return l.attr("style",e.style),mn(e,l),e.intersect=function(u){return pn.polygon(e,o,u)},r},"rect_right_inv_arrow"),I7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=i/2,o=a/(2.5+i/50),l=n.height+o+e.padding,u="M 0,"+o+" a "+a+","+o+" 0,0,0 "+i+" 0 a "+a+","+o+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+a+","+o+" 0,0,0 "+i+" 0 l 0,"+-l,h=r.attr("label-offset-y",o).insert("path",":first-child").attr("style",e.style).attr("d",u).attr("transform","translate("+-i/2+","+-(l/2+o)+")");return mn(e,h),e.intersect=function(f){let d=pn.rect(e,f),p=d.x-e.x;if(a!=0&&(Math.abs(p)e.height/2-o)){let m=o*o*(1-p*p/(a*a));m!=0&&(m=Math.sqrt(m)),m=o-m,f.y-e.y>0&&(m=-m),d.y+=m}return d},r},"cylinder"),N7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await di(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),o=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-o/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",o).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(FA(a,e.props.borders,o,l),f.delete("borders")),f.forEach(d=>{V.warn(`Unknown node property ${d}`)})}return mn(e,a),e.intersect=function(f){return pn.rect(e,f)},r},"rect"),O7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await di(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),o=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-o/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",o).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(FA(a,e.props.borders,o,l),f.delete("borders")),f.forEach(d=>{V.warn(`Unknown node property ${d}`)})}return mn(e,a),e.intersect=function(f){return pn.rect(e,f)},r},"composite"),P7e=s(async(t,e)=>{let{shapeSvg:r}=await di(t,e,"label",!0);V.trace("Classes = ",e.class);let n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){let o=new Set(Object.keys(e.props));e.props.borders&&(FA(n,e.props.borders,i,a),o.delete("borders")),o.forEach(l=>{V.warn(`Unknown node property ${l}`)})}return mn(e,n),e.intersect=function(o){return pn.rect(e,o)},r},"labelRect");s(FA,"applyNodePropertyBorders");B7e=s((t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";let n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),o=n.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText,u="";typeof l=="object"?u=l[0]:u=l,V.info("Label text abc79",u,l,typeof l=="object");let h=o.node().appendChild(Hi(u,e.labelStyle,!0,!0)),f={width:0,height:0};if(hr(le().flowchart.htmlLabels)){let y=h.children[0],v=Me(h);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}V.info("Text 2",l);let d=l.slice(1,l.length),p=h.getBBox(),m=o.node().appendChild(Hi(d.join?d.join("
    "):d,e.labelStyle,!0,!0));if(hr(le().flowchart.htmlLabels)){let y=m.children[0],v=Me(m);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}let g=e.padding/2;return Me(m).attr("transform","translate( "+(f.width>p.width?0:(p.width-f.width)/2)+", "+(p.height+g+5)+")"),Me(h).attr("transform","translate( "+(f.width{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,o=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return mn(e,o),e.intersect=function(l){return pn.rect(e,l)},r},"stadium"),z7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await di(t,e,js(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),V.info("Circle main"),mn(e,a),e.intersect=function(o){return V.info("Circle intersect",e,n.width/2+i,o),pn.circle(e,n.width/2+i,o)},r},"circle"),$7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await di(t,e,js(e,void 0),!0),a=5,o=r.insert("g",":first-child"),l=o.insert("circle"),u=o.insert("circle");return o.attr("class",e.class),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),u.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),V.info("DoubleCircle main"),mn(e,l),e.intersect=function(h){return V.info("DoubleCircle intersect",e,n.width/2+i+a,h),pn.circle(e,n.width/2+i+a,h)},r},"doublecircle"),G7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],l=dl(r,i,a,o);return l.attr("style",e.style),mn(e,l),e.intersect=function(u){return pn.polygon(e,o,u)},r},"subroutine"),V7e=s((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),mn(e,n),e.intersect=function(i){return pn.circle(e,7,i)},r},"start"),hX=s((t,e,r)=>{let n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;r==="LR"&&(i=10,a=70);let o=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return mn(e,o),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(l){return pn.rect(e,l)},n},"forkJoin"),U7e=s((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),mn(e,i),e.intersect=function(a){return pn.circle(e,7,a)},r},"end"),q7e=s((t,e)=>{let r=e.padding/2,n=4,i=8,a;e.classes?a="node "+e.classes:a="node default";let o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("rect",":first-child"),u=o.insert("line"),h=o.insert("line"),f=0,d=n,p=o.insert("g").attr("class","label"),m=0,g=e.classData.annotations?.[0],y=e.classData.annotations[0]?"\xAB"+e.classData.annotations[0]+"\xBB":"",v=p.node().appendChild(Hi(y,e.labelStyle,!0,!0)),x=v.getBBox();if(hr(le().flowchart.htmlLabels)){let E=v.children[0],S=Me(v);x=E.getBoundingClientRect(),S.attr("width",x.width),S.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,f+=x.width);let b=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(le().flowchart.htmlLabels?b+="<"+e.classData.type+">":b+="<"+e.classData.type+">");let k=p.node().appendChild(Hi(b,e.labelStyle,!0,!0));Me(k).attr("class","classTitle");let A=k.getBBox();if(hr(le().flowchart.htmlLabels)){let E=k.children[0],S=Me(k);A=E.getBoundingClientRect(),S.attr("width",A.width),S.attr("height",A.height)}d+=A.height+n,A.width>f&&(f=A.width);let w=[];e.classData.members.forEach(E=>{let S=E.getDisplayDetails(),R=S.displayText;le().flowchart.htmlLabels&&(R=R.replace(//g,">"));let D=p.node().appendChild(Hi(R,S.cssStyle?S.cssStyle:e.labelStyle,!0,!0)),L=D.getBBox();if(hr(le().flowchart.htmlLabels)){let P=D.children[0],M=Me(D);L=P.getBoundingClientRect(),M.attr("width",L.width),M.attr("height",L.height)}L.width>f&&(f=L.width),d+=L.height+n,w.push(D)}),d+=i;let T=[];if(e.classData.methods.forEach(E=>{let S=E.getDisplayDetails(),R=S.displayText;le().flowchart.htmlLabels&&(R=R.replace(//g,">"));let D=p.node().appendChild(Hi(R,S.cssStyle?S.cssStyle:e.labelStyle,!0,!0)),L=D.getBBox();if(hr(le().flowchart.htmlLabels)){let P=D.children[0],M=Me(D);L=P.getBoundingClientRect(),M.attr("width",L.width),M.attr("height",L.height)}L.width>f&&(f=L.width),d+=L.height+n,T.push(D)}),d+=i,g){let E=(f-x.width)/2;Me(v).attr("transform","translate( "+(-1*f/2+E)+", "+-1*d/2+")"),m=x.height+n}let C=(f-A.width)/2;return Me(k).attr("transform","translate( "+(-1*f/2+C)+", "+(-1*d/2+m)+")"),m+=A.height+n,u.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,w.forEach(E=>{Me(E).attr("transform","translate( "+-f/2+", "+(-1*d/2+m+i/2)+")");let S=E?.getBBox();m+=(S?.height??0)+n}),m+=i,h.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,T.forEach(E=>{Me(E).attr("transform","translate( "+-f/2+", "+(-1*d/2+m)+")");let S=E?.getBBox();m+=(S?.height??0)+n}),l.attr("style",e.style).attr("class","outer title-state").attr("x",-f/2-r).attr("y",-(d/2)-r).attr("width",f+e.padding).attr("height",d+e.padding),mn(e,l),e.intersect=function(E){return pn.rect(e,E)},o},"class_box"),fX={rhombus:uX,composite:O7e,question:uX,rect:N7e,labelRect:P7e,rectWithTitle:B7e,choice:E7e,circle:z7e,doublecircle:$7e,stadium:F7e,hexagon:C7e,block_arrow:S7e,rect_left_inv_arrow:_7e,lean_right:A7e,lean_left:L7e,trapezoid:D7e,inv_trapezoid:R7e,rect_right_inv_arrow:M7e,cylinder:I7e,start:V7e,end:U7e,note:oX,subroutine:G7e,fork:hX,join:hX,class_box:q7e},Qp={},Zp=s(async(t,e,r)=>{let n,i;if(e.link){let a;le().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await fX[e.shape](n,e,r)}else i=await fX[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),Qp[e.id]=n,e.haveCallback&&Qp[e.id].attr("class",Qp[e.id].attr("class")+" clickable"),n},"insertNode"),dX=s((t,e)=>{Qp[e.id]=t},"setNodeElem"),pX=s(()=>{Qp={}},"clear"),nv=s(t=>{let e=Qp[t.id];V.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});var n5,zA=_(()=>{"use strict";Xt();r5();n5=s((t,e)=>{let r;return e==="sandbox"&&(r=Me("#i"+t)),(e==="sandbox"?Me(r.nodes()[0].contentDocument.body):Me("body")).select(`[id="${t}"]`)},"getDiagramElement")});var Ks,gd=_(()=>{"use strict";Ks=s(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins")});function $A(t,e,r){if(t&&t.length){let[n,i]=e,a=Math.PI/180*r,o=Math.cos(a),l=Math.sin(a);for(let u of t){let[h,f]=u;u[0]=(h-n)*o-(f-i)*l+n,u[1]=(h-n)*l+(f-i)*o+i}}}function W7e(t,e){return t[0]===e[0]&&t[1]===e[1]}function H7e(t,e,r,n=1){let i=r,a=Math.max(e,.1),o=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,l=[0,0];if(i)for(let h of o)$A(h,l,i);let u=function(h,f,d){let p=[];for(let b of h){let k=[...b];W7e(k[0],k[k.length-1])||k.push([k[0][0],k[0][1]]),k.length>2&&p.push(k)}let m=[];f=Math.max(f,.1);let g=[];for(let b of p)for(let k=0;kb.ymink.ymin?1:b.xk.x?1:b.ymax===k.ymax?0:(b.ymax-k.ymax)/Math.abs(b.ymax-k.ymax)),!g.length)return m;let y=[],v=g[0].ymin,x=0;for(;y.length||g.length;){if(g.length){let b=-1;for(let k=0;kv);k++)b=k;g.splice(0,b+1).forEach(k=>{y.push({s:v,edge:k})})}if(y=y.filter(b=>!(b.edge.ymax<=v)),y.sort((b,k)=>b.edge.x===k.edge.x?0:(b.edge.x-k.edge.x)/Math.abs(b.edge.x-k.edge.x)),(d!==1||x%f==0)&&y.length>1)for(let b=0;b=y.length)break;let A=y[b].edge,w=y[k].edge;m.push([[Math.round(A.x),v],[Math.round(w.x),v]])}v+=d,y.forEach(b=>{b.edge.x=b.edge.x+d*b.edge.islope}),x++}return m}(o,a,n);if(i){for(let h of o)$A(h,l,-i);(function(h,f,d){let p=[];h.forEach(m=>p.push(...m)),$A(p,f,d)})(u,l,-i)}return u}function ov(t,e){var r;let n=e.hachureAngle+90,i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),H7e(t,i,n,a||1)}function f5(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function VA(t,e){return t.type===e}function r9(t){let e=[],r=function(o){let l=new Array;for(;o!=="";)if(o.match(/^([ \t\r\n,]+)/))o=o.substr(RegExp.$1.length);else if(o.match(/^([aAcChHlLmMqQsStTvVzZ])/))l[l.length]={type:Y7e,text:RegExp.$1},o=o.substr(RegExp.$1.length);else{if(!o.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];l[l.length]={type:GA,text:`${parseFloat(RegExp.$1)}`},o=o.substr(RegExp.$1.length)}return l[l.length]={type:mX,text:""},l}(t),n="BOD",i=0,a=r[i];for(;!VA(a,mX);){let o=0,l=[];if(n==="BOD"){if(a.text!=="M"&&a.text!=="m")return r9("M0,0"+t);i++,o=i5[a.text],n=a.text}else VA(a,GA)?o=i5[n]:(i++,o=i5[a.text],n=a.text);if(!(i+of%2?h+r:h+e);a.push({key:"C",data:u}),e=u[4],r=u[5];break}case"Q":a.push({key:"Q",data:[...l]}),e=l[2],r=l[3];break;case"q":{let u=l.map((h,f)=>f%2?h+r:h+e);a.push({key:"Q",data:u}),e=u[2],r=u[3];break}case"A":a.push({key:"A",data:[...l]}),e=l[5],r=l[6];break;case"a":e+=l[5],r+=l[6],a.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],e,r]});break;case"H":a.push({key:"H",data:[...l]}),e=l[0];break;case"h":e+=l[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...l]}),r=l[0];break;case"v":r+=l[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...l]}),e=l[2],r=l[3];break;case"s":{let u=l.map((h,f)=>f%2?h+r:h+e);a.push({key:"S",data:u}),e=u[2],r=u[3];break}case"T":a.push({key:"T",data:[...l]}),e=l[0],r=l[1];break;case"t":e+=l[0],r+=l[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function EX(t){let e=[],r="",n=0,i=0,a=0,o=0,l=0,u=0;for(let{key:h,data:f}of t){switch(h){case"M":e.push({key:"M",data:[...f]}),[n,i]=f,[a,o]=f;break;case"C":e.push({key:"C",data:[...f]}),n=f[4],i=f[5],l=f[2],u=f[3];break;case"L":e.push({key:"L",data:[...f]}),[n,i]=f;break;case"H":n=f[0],e.push({key:"L",data:[n,i]});break;case"V":i=f[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,p=0;r==="C"||r==="S"?(d=n+(n-l),p=i+(i-u)):(d=n,p=i),e.push({key:"C",data:[d,p,...f]}),l=f[0],u=f[1],n=f[2],i=f[3];break}case"T":{let[d,p]=f,m=0,g=0;r==="Q"||r==="T"?(m=n+(n-l),g=i+(i-u)):(m=n,g=i);let y=n+2*(m-n)/3,v=i+2*(g-i)/3,x=d+2*(m-d)/3,b=p+2*(g-p)/3;e.push({key:"C",data:[y,v,x,b,d,p]}),l=m,u=g,n=d,i=p;break}case"Q":{let[d,p,m,g]=f,y=n+2*(d-n)/3,v=i+2*(p-i)/3,x=m+2*(d-m)/3,b=g+2*(p-g)/3;e.push({key:"C",data:[y,v,x,b,m,g]}),l=d,u=p,n=m,i=g;break}case"A":{let d=Math.abs(f[0]),p=Math.abs(f[1]),m=f[2],g=f[3],y=f[4],v=f[5],x=f[6];d===0||p===0?(e.push({key:"C",data:[n,i,v,x,v,x]}),n=v,i=x):(n!==v||i!==x)&&(CX(n,i,v,x,d,p,m,g,y).forEach(function(b){e.push({key:"C",data:b})}),n=v,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=o}r=h}return e}function iv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function CX(t,e,r,n,i,a,o,l,u,h){let f=(d=o,Math.PI*d/180);var d;let p=[],m=0,g=0,y=0,v=0;if(h)[m,g,y,v]=h;else{[t,e]=iv(t,e,-f),[r,n]=iv(r,n,-f);let P=(t-r)/2,M=(e-n)/2,F=P*P/(i*i)+M*M/(a*a);F>1&&(F=Math.sqrt(F),i*=F,a*=F);let I=i*i,O=a*a,z=I*O-I*M*M-O*P*P,N=I*M*M+O*P*P,U=(l===u?-1:1)*Math.sqrt(Math.abs(z/N));y=U*i*M/a+(t+r)/2,v=U*-a*P/i+(e+n)/2,m=Math.asin(parseFloat(((e-v)/a).toFixed(9))),g=Math.asin(parseFloat(((n-v)/a).toFixed(9))),tg&&(m-=2*Math.PI),!u&&g>m&&(g-=2*Math.PI)}let x=g-m;if(Math.abs(x)>120*Math.PI/180){let P=g,M=r,F=n;g=u&&g>m?m+120*Math.PI/180*1:m+120*Math.PI/180*-1,p=CX(r=y+i*Math.cos(g),n=v+a*Math.sin(g),M,F,i,a,o,0,u,[g,P,y,v])}x=g-m;let b=Math.cos(m),k=Math.sin(m),A=Math.cos(g),w=Math.sin(g),T=Math.tan(x/4),C=4/3*i*T,E=4/3*a*T,S=[t,e],R=[t+C*k,e-E*b],D=[r+C*w,n-E*A],L=[r,n];if(R[0]=2*S[0]-R[0],R[1]=2*S[1]-R[1],h)return[R,D,L].concat(p);{p=[R,D,L].concat(p);let P=[];for(let M=0;M2){let i=[];for(let a=0;a2*Math.PI&&(m=0,g=2*Math.PI);let y=2*Math.PI/u.curveStepCount,v=Math.min(y/2,(g-m)/2),x=kX(v,h,f,d,p,m,g,1,u);if(!u.disableMultiStroke){let b=kX(v,h,f,d,p,m,g,1.5,u);x.push(...b)}return o&&(l?x.push(...Ph(h,f,h+d*Math.cos(m),f+p*Math.sin(m),u),...Ph(h,f,h+d*Math.cos(g),f+p*Math.sin(g),u)):x.push({op:"lineTo",data:[h,f]},{op:"lineTo",data:[h+d*Math.cos(m),f+p*Math.sin(m)]})),{type:"path",ops:x}}function vX(t,e){let r=EX(TX(r9(t))),n=[],i=[0,0],a=[0,0];for(let{key:o,data:l}of r)switch(o){case"M":a=[l[0],l[1]],i=[l[0],l[1]];break;case"L":n.push(...Ph(a[0],a[1],l[0],l[1],e)),a=[l[0],l[1]];break;case"C":{let[u,h,f,d,p,m]=l;n.push(...K7e(u,h,f,d,p,m,a,e)),a=[p,m];break}case"Z":n.push(...Ph(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function UA(t,e){let r=[];for(let n of t)if(n.length){let i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Ot(i,e),n[0][1]+Ot(i,e)]});for(let o=1;o500?.4:-.0016668*u+1.233334;let f=i.maxRandomnessOffset||0;f*f*100>l&&(f=u/10);let d=f/2,p=.2+.2*AX(i),m=i.bowing*i.maxRandomnessOffset*(n-e)/200,g=i.bowing*i.maxRandomnessOffset*(t-r)/200;m=Ot(m,i,h),g=Ot(g,i,h);let y=[],v=s(()=>Ot(d,i,h),"M"),x=s(()=>Ot(f,i,h),"k"),b=i.preserveVertices;return a&&(o?y.push({op:"move",data:[t+(b?0:v()),e+(b?0:v())]}):y.push({op:"move",data:[t+(b?0:Ot(f,i,h)),e+(b?0:Ot(f,i,h))]})),o?y.push({op:"bcurveTo",data:[m+t+(r-t)*p+v(),g+e+(n-e)*p+v(),m+t+2*(r-t)*p+v(),g+e+2*(n-e)*p+v(),r+(b?0:v()),n+(b?0:v())]}):y.push({op:"bcurveTo",data:[m+t+(r-t)*p+x(),g+e+(n-e)*p+x(),m+t+2*(r-t)*p+x(),g+e+2*(n-e)*p+x(),r+(b?0:x()),n+(b?0:x())]}),y}function a5(t,e,r){if(!t.length)return[];let n=[];n.push([t[0][0]+Ot(e,r),t[0][1]+Ot(e,r)]),n.push([t[0][0]+Ot(e,r),t[0][1]+Ot(e,r)]);for(let i=1;i3){let a=[],o=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let l=1;l+21&&i.push(l)):i.push(l),i.push(t[e+3])}else{let u=t[e+0],h=t[e+1],f=t[e+2],d=t[e+3],p=yd(u,h,.5),m=yd(h,f,.5),g=yd(f,d,.5),y=yd(p,m,.5),v=yd(m,g,.5),x=yd(y,v,.5);JA([u,p,y,x],0,r,i),JA([x,v,g,d],0,r,i)}var a,o;return i}function Z7e(t,e){return h5(t,0,t.length,e)}function h5(t,e,r,n,i){let a=i||[],o=t[e],l=t[r-1],u=0,h=1;for(let f=e+1;fu&&(u=d,h=f)}return Math.sqrt(u)>n?(h5(t,e,h+1,n,a),h5(t,h,r,n,a)):(a.length||a.push(o),a.push(l)),a}function qA(t,e=.15,r){let n=[],i=(t.length-1)/3;for(let a=0;a0?h5(n,0,n.length,r):n}var sv,WA,HA,YA,XA,jA,xs,KA,Y7e,GA,mX,i5,X7e,Qs,em,e9,s5,t9,Ht,Yn=_(()=>{"use strict";s($A,"t");s(W7e,"e");s(H7e,"s");s(ov,"n");sv=class{static{s(this,"o")}constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){let n=ov(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){let n=[];for(let i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}};s(f5,"a");WA=class extends sv{static{s(this,"h")}fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);let i=ov(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,o=[],l=.5*n*Math.cos(a),u=.5*n*Math.sin(a);for(let[h,f]of i)f5([h,f])&&o.push([[h[0]-l,h[1]+u],[...f]],[[h[0]+l,h[1]-u],[...f]]);return{type:"fillSketch",ops:this.renderLines(o,r)}}},HA=class extends sv{static{s(this,"r")}fillPolygons(e,r){let n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}},YA=class{static{s(this,"i")}constructor(e){this.helper=e}fillPolygons(e,r){let n=ov(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){let n=[],i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);let o=i/4;for(let l of e){let u=f5(l),h=u/i,f=Math.ceil(h)-1,d=u-f*i,p=(l[0][0]+l[1][0])/2-i/4,m=Math.min(l[0][1],l[1][1]);for(let g=0;g{let l=f5(o),u=Math.floor(l/(n+i)),h=(l+i-u*(n+i))/2,f=o[0],d=o[1];f[0]>d[0]&&(f=o[1],d=o[0]);let p=Math.atan((d[1]-f[1])/(d[0]-f[0]));for(let m=0;m{let o=f5(a),l=Math.round(o/(2*r)),u=a[0],h=a[1];u[0]>h[0]&&(u=a[1],h=a[0]);let f=Math.atan((h[1]-u[1])/(h[0]-u[0]));for(let d=0;d2*Math.PI&&(C=0,E=2*Math.PI);let S=(E-C)/b.curveStepCount,R=[];for(let D=C;D<=E;D+=S)R.push([k+w*Math.cos(D),A+T*Math.sin(D)]);return R.push([k+w*Math.cos(E),A+T*Math.sin(E)]),R.push([k,A]),Jp([R],b)}(e,r,n,i,a,o,h));return h.stroke!==Qs&&f.push(d),this._d("arc",f,h)}curve(e,r){let n=this._o(r),i=[],a=gX(e,n);if(n.fill&&n.fill!==Qs)if(n.fillStyle==="solid"){let o=gX(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(o.ops)})}else{let o=[],l=e;if(l.length){let u=typeof l[0][0]=="number"?[l]:l;for(let h of u)h.length<3?o.push(...h):h.length===3?o.push(...qA(wX([h[0],h[0],h[1],h[2]]),10,(1+n.roughness)/2)):o.push(...qA(wX(h),10,(1+n.roughness)/2))}o.length&&i.push(Jp([o],n))}return n.stroke!==Qs&&i.push(a),this._d("curve",i,n)}polygon(e,r){let n=this._o(r),i=[],a=o5(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(UA([e],n)):i.push(Jp([e],n))),n.stroke!==Qs&&i.push(a),this._d("polygon",i,n)}path(e,r){let n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let a=n.fill&&n.fill!=="transparent"&&n.fill!==Qs,o=n.stroke!==Qs,l=!!(n.simplification&&n.simplification<1),u=function(f,d,p){let m=EX(TX(r9(f))),g=[],y=[],v=[0,0],x=[],b=s(()=>{x.length>=4&&y.push(...qA(x,d)),x=[]},"i"),k=s(()=>{b(),y.length&&(g.push(y),y=[])},"c");for(let{key:w,data:T}of m)switch(w){case"M":k(),v=[T[0],T[1]],y.push(v);break;case"L":b(),y.push([T[0],T[1]]);break;case"C":if(!x.length){let C=y.length?y[y.length-1]:v;x.push([C[0],C[1]])}x.push([T[0],T[1]]),x.push([T[2],T[3]]),x.push([T[4],T[5]]);break;case"Z":b(),y.push([v[0],v[1]])}if(k(),!p)return g;let A=[];for(let w of g){let T=Z7e(w,p);T.length&&A.push(T)}return A}(e,1,l?4-4*(n.simplification||1):(1+n.roughness)/2),h=vX(e,n);if(a)if(n.fillStyle==="solid")if(u.length===1){let f=vX(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(f.ops)})}else i.push(UA(u,n));else i.push(Jp(u,n));return o&&(l?u.forEach(f=>{i.push(o5(f,!1,n))}):i.push(h)),this._d("path",i,n)}opsToPath(e,r){let n="";for(let i of e.ops){let a=typeof r=="number"&&r>=0?i.data.map(o=>+o.toFixed(r)):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){let r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(let a of r){let o=null;switch(a.type){case"path":o={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:Qs};break;case"fillPath":o={d:this.opsToPath(a),stroke:Qs,strokeWidth:0,fill:n.fill||Qs};break;case"fillSketch":o=this.fillSketch(a,n)}o&&i.push(o)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||Qs,strokeWidth:n,fill:Qs}}_mergedShape(e){return e.filter((r,n)=>n===0||r.op!=="move")}},e9=class{static{s(this,"st")}constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new em(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(let o of r)switch(o.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,o,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";let l=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,o,a,l),i.restore();break}case"fillSketch":this.fillSketch(i,o,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(let a of r.ops){let o=typeof n=="number"&&n>=0?a.data.map(l=>+l.toFixed(n)):a.data;switch(a.op){case"move":e.moveTo(o[0],o[1]);break;case"bcurveTo":e.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5]);break;case"lineTo":e.lineTo(o[0],o[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){let o=this.gen.line(e,r,n,i,a);return this.draw(o),o}rectangle(e,r,n,i,a){let o=this.gen.rectangle(e,r,n,i,a);return this.draw(o),o}ellipse(e,r,n,i,a){let o=this.gen.ellipse(e,r,n,i,a);return this.draw(o),o}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,o,l=!1,u){let h=this.gen.arc(e,r,n,i,a,o,l,u);return this.draw(h),h}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){let n=this.gen.path(e,r);return this.draw(n),n}},s5="http://www.w3.org/2000/svg",t9=class{static{s(this,"ot")}constructor(e,r){this.svg=e,this.gen=new em(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(s5,"g"),o=e.options.fixedDecimalPlaceDigits;for(let l of r){let u=null;switch(l.type){case"path":u=i.createElementNS(s5,"path"),u.setAttribute("d",this.opsToPath(l,o)),u.setAttribute("stroke",n.stroke),u.setAttribute("stroke-width",n.strokeWidth+""),u.setAttribute("fill","none"),n.strokeLineDash&&u.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&u.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":u=i.createElementNS(s5,"path"),u.setAttribute("d",this.opsToPath(l,o)),u.setAttribute("stroke","none"),u.setAttribute("stroke-width","0"),u.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||u.setAttribute("fill-rule","evenodd");break;case"fillSketch":u=this.fillSketch(i,l,n)}u&&a.appendChild(u)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=e.createElementNS(s5,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){let o=this.gen.line(e,r,n,i,a);return this.draw(o)}rectangle(e,r,n,i,a){let o=this.gen.rectangle(e,r,n,i,a);return this.draw(o)}ellipse(e,r,n,i,a){let o=this.gen.ellipse(e,r,n,i,a);return this.draw(o)}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,o,l=!1,u){let h=this.gen.arc(e,r,n,i,a,o,l,u);return this.draw(h)}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n)}path(e,r){let n=this.gen.path(e,r);return this.draw(n)}},Ht={canvas:s((t,e)=>new e9(t,e),"canvas"),svg:s((t,e)=>new t9(t,e),"svg"),generator:s(t=>new em(t),"generator"),newSeed:s(()=>em.newSeed(),"newSeed")}});var J7e,vd,n9=_(()=>{"use strict";J7e=s((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,o=t.width/2,l=t.height/2,u,h;return Math.abs(a)*o>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(o=-o),u=o,h=i===0?0:o*a/i),{x:r+u,y:n+h}},"intersectRect"),vd=J7e});function eEe(t,e){e&&t.attr("style",e)}async function tEe(t){let e=Me(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=t.label;t.label&&Ei(t.label)&&(n=await hh(t.label.replace($e.lineBreakRegex,` +`),le()));let i=t.isNode?"nodeLabel":"edgeLabel";return r.html('"+n+""),eEe(r,t.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var rEe,ac,d5=_(()=>{"use strict";Xt();it();gt();Qt();pr();s(eEe,"applyStyle");s(tEe,"addHtmlLabel");rEe=s(async(t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),hr(le().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),V.info("vertexText"+i);let a={isNode:n,label:Ys(i).replace(/fa[blrs]?:fa-[\w-]+/g,l=>``),labelStyle:e&&e.replace("fill:","color:")};return await tEe(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let o=[];typeof i=="string"?o=i.split(/\\n|\n|/gi):Array.isArray(i)?o=i:o=[];for(let l of o){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),ac=rEe});var xu,lv=_(()=>{"use strict";xu=s((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD")});var bu,LX,nEe,Dr,Rr,pi=_(()=>{"use strict";gt();bu=s(t=>{let{handDrawnSeed:e}=le();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),LX=s(t=>{let e=nEe([...t.cssCompiledStyles||[],...t.cssStyles||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),nEe=s(t=>{let e=new Map;return t.forEach(r=>{let[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),Dr=s(t=>{let{stylesArray:e}=LX(t),r=[],n=[],i=[],a=[];return e.forEach(o=>{let l=o[0];l==="color"||l==="font-size"||l==="font-family"||l==="font-weight"||l==="font-style"||l==="text-decoration"||l==="text-align"||l==="text-transform"||l==="line-height"||l==="letter-spacing"||l==="word-spacing"||l==="text-shadow"||l==="text-overflow"||l==="white-space"||l==="word-wrap"||l==="word-break"||l==="overflow-wrap"||l==="hyphens"?r.push(o.join(":")+" !important"):(n.push(o.join(":")+" !important"),l.includes("stroke")&&i.push(o.join(":")+" !important"),l==="fill"&&a.push(o.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),Rr=s((t,e)=>{let{themeVariables:r,handDrawnSeed:n}=le(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:o}=LX(t);return Object.assign({roughness:.7,fill:o.get("fill")||a,fillStyle:"hachure",fillWeight:4,stroke:o.get("stroke")||i,seed:n,strokeWidth:1.3},e)},"userNodeOverrides")});var DX,iEe,aEe,sEe,oEe,lEe,RX,p5,MX,i9=_(()=>{"use strict";gt();Qt();it();gd();Xt();Yn();ic();n9();d5();lv();pi();DX=s(async(t,e)=>{V.info("Creating subgraph rect for ",e.id,e);let r=le(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:o}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=Dr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=hr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await vs(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0}),y=g.getBBox();if(hr(r.flowchart.htmlLabels)){let C=g.children[0],E=Me(g);y=C.getBoundingClientRect(),E.attr("width",y.width),E.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,k=e.y-x/2;V.trace("Data ",e,JSON.stringify(e));let A;if(e.look==="handDrawn"){let C=Ht.svg(d),E=Rr(e,{roughness:.7,fill:a,stroke:o,fillWeight:3,seed:i}),S=C.path(xu(b,k,v,x,0),E);A=d.insert(()=>(V.debug("Rough node insert CXC",S),S),":first-child"),A.select("path:nth-child(2)").attr("style",h.join(";")),A.select("path").attr("style",f.join(";").replace("fill","stroke"))}else A=d.insert("rect",":first-child"),A.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",k).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Ks(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let C=m.select("span");C&&C.attr("style",l)}let T=A.node().getBBox();return e.offsetX=0,e.width=T.width,e.height=T.height,e.offsetY=y.height-e.padding/2,e.intersect=function(C){return vd(e,C)},{cluster:d,labelBBox:y}},"rect"),iEe=s((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let o=n.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(l){return vd(e,l)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),aEe=s(async(t,e)=>{let r=le(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:o,compositeTitleBackground:l,nodeBorder:u}=n,h=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),f=h.insert("g",":first-child"),d=h.insert("g").attr("class","cluster-label"),p=h.append("rect"),m=d.node().appendChild(await ac(e.label,e.labelStyle,void 0,!0)),g=m.getBBox();if(hr(r.flowchart.htmlLabels)){let S=m.children[0],R=Me(m);g=S.getBoundingClientRect(),R.attr("width",g.width),R.attr("height",g.height)}let y=0*e.padding,v=y/2,x=(e.width<=g.width+e.padding?g.width+e.padding:e.width)+y;e.width<=g.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;let b=e.height+y,k=e.height+y-g.height-6,A=e.x-x/2,w=e.y-b/2;e.width=x;let T=e.y-e.height/2-v+g.height+2,C;if(e.look==="handDrawn"){let S=e.cssClasses.includes("statediagram-cluster-alt"),R=Ht.svg(h),D=e.rx||e.ry?R.path(xu(A,w,x,b,10),{roughness:.7,fill:l,fillStyle:"solid",stroke:u,seed:i}):R.rectangle(A,w,x,b,{seed:i});C=h.insert(()=>D,":first-child");let L=R.rectangle(A,T,x,k,{fill:S?a:o,fillStyle:S?"hachure":"solid",stroke:u,seed:i});C=h.insert(()=>D,":first-child"),p=h.insert(()=>L)}else C=f.insert("rect",":first-child"),C.attr("class","outer").attr("x",A).attr("y",w).attr("width",x).attr("height",b).attr("data-look",e.look),p.attr("class","inner").attr("x",A).attr("y",T).attr("width",x).attr("height",k);d.attr("transform",`translate(${e.x-g.width/2}, ${w+1-(hr(r.flowchart.htmlLabels)?0:3)})`);let E=C.node().getBBox();return e.height=E.height,e.offsetX=0,e.offsetY=g.height-e.padding/2,e.labelBBox=g,e.intersect=function(S){return vd(e,S)},{cluster:h,labelBBox:g}},"roundedWithTitle"),sEe=s((t,e)=>{let r=le(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,o=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=o.insert("g",":first-child"),u=0*e.padding,h=e.width+u;e.diff=-e.padding;let f=e.height+u,d=e.x-h/2,p=e.y-f/2;e.width=h;let m;if(e.look==="handDrawn"){let v=Ht.svg(o).rectangle(d,p,h,f,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});m=o.insert(()=>v,":first-child")}else m=l.insert("rect",":first-child"),m.attr("class","divider").attr("x",d).attr("y",p).attr("width",h).attr("height",f).attr("data-look",e.look);let g=m.node().getBBox();return e.height=g.height,e.offsetX=0,e.offsetY=0,e.intersect=function(y){return vd(e,y)},{cluster:o,labelBBox:{}}},"divider"),oEe=DX,lEe={rect:DX,squareRect:oEe,roundedWithTitle:aEe,noteGroup:iEe,divider:sEe},RX=new Map,p5=s(async(t,e)=>{let r=e.shape||"rect",n=await lEe[r](t,e);return RX.set(e.id,n),n},"insertCluster"),MX=s(()=>{RX=new Map},"clear")});function m5(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=g5(t),e=g5(e);let[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],o=i-r,l=a-n;return{angle:Math.atan(l/o),deltaX:o,deltaY:l}}var Bh,g5,y5,a9=_(()=>{"use strict";Bh={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:4};s(m5,"calculateDeltaAndAngle");g5=s(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),y5=s(t=>({x:s(function(e,r,n){let i=0;if(r===0&&Object.hasOwn(Bh,t.arrowTypeStart)){let{angle:a,deltaX:o}=m5(n[0],n[1]);i=Bh[t.arrowTypeStart]*Math.cos(a)*(o>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Bh,t.arrowTypeEnd)){let{angle:a,deltaX:o}=m5(n[n.length-1],n[n.length-2]);i=Bh[t.arrowTypeEnd]*Math.cos(a)*(o>=0?1:-1)}return g5(e).x+i},"x"),y:s(function(e,r,n){let i=0;if(r===0&&Object.hasOwn(Bh,t.arrowTypeStart)){let{angle:a,deltaY:o}=m5(n[0],n[1]);i=Bh[t.arrowTypeStart]*Math.abs(Math.sin(a))*(o>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Bh,t.arrowTypeEnd)){let{angle:a,deltaY:o}=m5(n[n.length-1],n[n.length-2]);i=Bh[t.arrowTypeEnd]*Math.abs(Math.sin(a))*(o>=0?1:-1)}return g5(e).y+i},"y")}),"getLineFunctionsWithOffset")});var NX,cEe,IX,OX=_(()=>{"use strict";it();NX=s((t,e,r,n,i)=>{e.arrowTypeStart&&IX(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&IX(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),cEe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},IX=s((t,e,r,n,i,a)=>{let o=cEe[r];if(!o){V.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${o}${l})`)},"addEdgeMarker")});function v5(t,e){le().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}function fEe(t){let e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===o.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-o.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}var x5,ia,FX,cv,b5,k5,uEe,hEe,PX,BX,dEe,w5,s9=_(()=>{"use strict";gt();Qt();it();ic();pr();a9();gd();Xt();Yn();d5();OX();x5=new Map,ia=new Map,FX=s(()=>{x5.clear(),ia.clear()},"clear"),cv=s(t=>t?t.reduce((r,n)=>r+";"+n,""):"","getLabelStyles"),b5=s(async(t,e)=>{let r=hr(le().flowchart.htmlLabels),n=await vs(t,e.label,{style:cv(e.labelStyle),useHtmlLabels:r,addSvgBackground:!0,isNode:!1});V.info("abc82",e,e.labelType);let i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label");a.node().appendChild(n);let o=n.getBBox();if(r){let u=n.children[0],h=Me(n);o=u.getBoundingClientRect(),h.attr("width",o.width),h.attr("height",o.height)}a.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),x5.set(e.id,i),e.width=o.width,e.height=o.height;let l;if(e.startLabelLeft){let u=await ac(e.startLabelLeft,cv(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),ia.get(e.id)||ia.set(e.id,{}),ia.get(e.id).startLeft=h,v5(l,e.startLabelLeft)}if(e.startLabelRight){let u=await ac(e.startLabelRight,cv(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=h.node().appendChild(u),f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),ia.get(e.id)||ia.set(e.id,{}),ia.get(e.id).startRight=h,v5(l,e.startLabelRight)}if(e.endLabelLeft){let u=await ac(e.endLabelLeft,cv(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),h.node().appendChild(u),ia.get(e.id)||ia.set(e.id,{}),ia.get(e.id).endLeft=h,v5(l,e.endLabelLeft)}if(e.endLabelRight){let u=await ac(e.endLabelRight,cv(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),h.node().appendChild(u),ia.get(e.id)||ia.set(e.id,{}),ia.get(e.id).endRight=h,v5(l,e.endLabelRight)}return n},"insertEdgeLabel");s(v5,"setTerminalWidth");k5=s((t,e)=>{V.debug("Moving label abc88 ",t.id,t.label,x5.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=le(),{subGraphTitleTotalMargin:i}=Ks(n);if(t.label){let a=x5.get(t.id),o=t.x,l=t.y;if(r){let u=dt.calcLabelPosition(r);V.debug("Moving label "+t.label+" from (",o,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(o=u.x,l=u.y)}a.attr("transform",`translate(${o}, ${l+i/2})`)}if(t.startLabelLeft){let a=ia.get(t.id).startLeft,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}if(t.startLabelRight){let a=ia.get(t.id).startRight,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}if(t.endLabelLeft){let a=ia.get(t.id).endLeft,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}if(t.endLabelRight){let a=ia.get(t.id).endRight,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}},"positionEdgeLabel"),uEe=s((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),o=t.width/2,l=t.height/2;return i>=o||a>=l},"outsideNode"),hEe=s((t,e,r)=>{V.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),o=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{V.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(V.info("abc88 checking point",a,e),!uEe(e,a)&&!i){let o=hEe(e,n,a);V.debug("abc88 inside",a,n,o),V.debug("abc88 intersection",o,e);let l=!1;r.forEach(u=>{l=l||u.x===o.x&&u.y===o.y}),r.some(u=>u.x===o.x&&u.y===o.y)?V.warn("abc88 no intersect",o,r):r.push(o),i=!0}else V.warn("abc88 outside",a,n),n=a,i||r.push(a)}),V.debug("returning points",r),r},"cutPathAtIntersect");s(fEe,"extractCornerPoints");BX=s(function(t,e,r){let n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),o=r/a;return{x:e.x-o*n,y:e.y-o*i}},"findAdjacentPoint"),dEe=s(function(t){let{cornerPointPositions:e}=fEe(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){V.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));let m=5;o.x===l.x?p={x:h<0?l.x-m+d:l.x+m-d,y:f<0?l.y-d:l.y+d}:p={x:h<0?l.x-d:l.x+d,y:f<0?l.y-m+d:l.y+m-d}}else V.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(p,u)}else r.push(t[n]);return r},"fixCorners"),w5=s(function(t,e,r,n,i,a,o){let{handDrawnSeed:l}=le(),u=e.points,h=!1,f=i;var d=a;d.intersect&&f.intersect&&(u=u.slice(1,e.points.length-1),u.unshift(f.intersect(u[0])),V.debug("Last point APA12",e.start,"-->",e.end,u[u.length-1],d,d.intersect(u[u.length-1])),u.push(d.intersect(u[u.length-1]))),e.toCluster&&(V.info("to cluster abc88",r.get(e.toCluster)),u=PX(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(V.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=PX(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let p=u.filter(E=>!Number.isNaN(E.y));p=dEe(p);let m=p[p.length-1];if(p.length>1){m=p[p.length-1];let E=p[p.length-2],S=(m.x-E.x)/2,R=(m.y-E.y)/2,D={x:E.x+S,y:E.y+R};p.splice(-1,0,D)}let g=hs;e.curve&&(g=e.curve);let{x:y,y:v}=y5(e),x=ra().x(y).y(v).curve(g),b;switch(e.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-invisible";break;default:b="edge-thickness-normal"}switch(e.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break;default:b+=" edge-pattern-solid"}let k,A=x(p),w=Array.isArray(e.style)?e.style:[e.style];if(e.look==="handDrawn"){let E=Ht.svg(t);Object.assign([],p);let S=E.path(A,{roughness:.3,seed:l});b+=" transition",k=Me(S).select("path").attr("id",e.id).attr("class"," "+b+(e.classes?" "+e.classes:"")).attr("style",w?w.reduce((D,L)=>D+";"+L,""):"");let R=k.attr("d");k.attr("d",R),t.node().appendChild(k.node())}else k=t.append("path").attr("d",A).attr("id",e.id).attr("class"," "+b+(e.classes?" "+e.classes:"")).attr("style",w?w.reduce((E,S)=>E+";"+S,""):"");let T="";(le().flowchart.arrowMarkerAbsolute||le().state.arrowMarkerAbsolute)&&(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,T=T.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),V.info("arrowTypeStart",e.arrowTypeStart),V.info("arrowTypeEnd",e.arrowTypeEnd),NX(k,e,T,o,n);let C={};return h&&(C.updatedPath=u),C.originalPath=e.points,C},"insertEdge")});var pEe,mEe,gEe,yEe,vEe,xEe,bEe,kEe,wEe,TEe,EEe,T5,o9=_(()=>{"use strict";it();pEe=s((t,e,r,n)=>{e.forEach(i=>{EEe[i](t,r,n)})},"insertMarkers"),mEe=s((t,e,r)=>{V.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),gEe=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),yEe=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),vEe=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),xEe=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),bEe=s((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),kEe=s((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),wEe=s((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),TEe=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),EEe={extension:mEe,composition:gEe,aggregation:yEe,dependency:vEe,lollipop:xEe,point:bEe,circle:kEe,cross:wEe,barb:TEe},T5=pEe});var Mr,er,gn,Xn=_(()=>{"use strict";ic();gt();Xt();Qt();pr();Mr=s(async(t,e,r)=>{let n,i=e.useHtmlLabels||hr(le().flowchart.htmlLabels);r?n=r:n="node default";let a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),o=a.insert("g").attr("class","label").attr("style",e.labelStyle),l;e.label===void 0?l="":l=typeof e.label=="string"?e.label:e.label[0];let u;u=await vs(o,$r(Ys(l),le()),{useHtmlLabels:i,width:e.width||le().flowchart.wrappingWidth,cssClasses:"markdown-node-label",style:e.labelStyle});let h=u.getBBox(),f=e.padding/2;if(hr(le().flowchart.htmlLabels)){let d=u.children[0],p=Me(u),m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=le().fontSize?le().fontSize:window.getComputedStyle(document.body).fontSize,A=parseInt(b,10)*5+"px";y.style.minWidth=A,y.style.maxWidth=A}else y.style.width="100%";v(y)}s(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}return i?o.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"):o.attr("transform","translate(0, "+-h.height/2+")"),e.centerLabel&&o.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),o.insert("rect",":first-child"),{shapeSvg:a,bbox:h,halfPadding:f,label:o}},"labelHelper"),er=s((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),gn=s((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses")});function CEe(t,e){return t.intersect(e)}var zX,$X=_(()=>{"use strict";s(CEe,"intersectNode");zX=CEe});function SEe(t,e,r,n){var i=t.x,a=t.y,o=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*o*o),h=Math.abs(e*r*o/u);n.x{"use strict";s(SEe,"intersectEllipse");E5=SEe});function _Ee(t,e,r){return E5(t,e,e,r)}var GX,VX=_(()=>{"use strict";l9();s(_Ee,"intersectCircle");GX=_Ee});function AEe(t,e,r,n){var i,a,o,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,o=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+o*r.y+u,m=i*n.x+o*n.y+u,!(p!==0&&m!==0&&UX(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&UX(f,d))&&(g=i*l-a*o,g!==0)))return y=Math.abs(g/2),v=o*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function UX(t,e){return t*e>0}var qX,WX=_(()=>{"use strict";s(AEe,"intersectLine");s(UX,"sameSign");qX=AEe});function LEe(t,e,r){let n=t.x,i=t.y,a=[],o=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(f){o=Math.min(o,f.x),l=Math.min(l,f.y)}):(o=Math.min(o,e.x),l=Math.min(l,e.y));let u=n-t.width/2-o,h=i-t.height/2-l;for(let f=0;f1&&a.sort(function(f,d){let p=f.x-r.x,m=f.y-r.y,g=Math.sqrt(p*p+m*m),y=d.x-r.x,v=d.y-r.y,x=Math.sqrt(y*y+v*v);return g{"use strict";WX();s(LEe,"intersectPolygon");HX=LEe});var tr,ii=_(()=>{"use strict";$X();VX();l9();YX();n9();tr={node:zX,circle:GX,ellipse:E5,polygon:HX,rect:vd}});var xd,uv=_(()=>{"use strict";Xn();ii();lv();pi();Yn();xd=s(async(t,e,r)=>{let{labelStyles:n,nodeStyles:i}=Dr(e);e.labelStyle=n;let{shapeSvg:a,bbox:o}=await Mr(t,e,gn(e)),l=Math.max(o.width+r.labelPaddingX*2,e?.width||0),u=Math.max(o.height+r.labelPaddingY*2,e?.height||0),h=-l/2,f=-u/2,d,{rx:p,ry:m}=e,{cssStyles:g}=e;if(r?.rx&&r.ry&&(p=r.rx,m=r.ry),e.look==="handDrawn"){let y=Ht.svg(a),v=Rr(e,{}),x=p||m?y.path(xu(h,f,l,u,p||0),v):y.rectangle(h,f,l,u,v);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",g)}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",p).attr("data-id","abc").attr("data-et","node").attr("ry",m).attr("x",h).attr("y",f).attr("width",l).attr("height",u);return er(e,d),e.intersect=function(y){return tr.rect(e,y)},a},"drawRect")});var XX,jX=_(()=>{"use strict";uv();XX=s(async(t,e)=>xd(t,e,{rx:5,ry:5,classes:"flowchart-node"}),"state")});var KX,QX=_(()=>{"use strict";uv();KX=s(async(t,e)=>{let r={rx:5,ry:5,classes:"",labelPaddingX:(e?.padding||0)*1,labelPaddingY:(e?.padding||0)*1};return xd(t,e,r)},"roundedRect")});var ZX,JX=_(()=>{"use strict";uv();ZX=s(async(t,e)=>{let r={rx:0,ry:0,classes:"",labelPaddingX:(e?.padding||0)*2,labelPaddingY:(e?.padding||0)*1};return xd(t,e,r)},"squareRect")});var ej,tj=_(()=>{"use strict";Xn();ii();Yn();pi();gt();ej=s((t,e)=>{let{themeVariables:r}=le(),{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a;if(e.look==="handDrawn"){let l=Ht.svg(i).circle(0,0,14,bu(n));a=i.insert(()=>l)}else a=i.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),er(e,a),e.intersect=function(o){return tr.circle(e,7,o)},i},"stateStart")});var rj,nj=_(()=>{"use strict";Xn();ii();Yn();pi();gt();rj=s((t,e)=>{let{themeVariables:r}=le(),{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a,o;if(e.look==="handDrawn"){let l=Ht.svg(i),u=l.circle(0,0,14,{...bu(n),roughness:.5}),h=l.circle(0,0,5,{...bu(n),fillStyle:"solid"});a=i.insert(()=>u),o=i.insert(()=>h)}else o=i.insert("circle",":first-child"),a=i.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),o.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10);return er(e,a),e.intersect=function(l){return tr.circle(e,7,l)},i},"stateEnd")});var c9,ij=_(()=>{"use strict";Xn();ii();Yn();pi();gt();c9=s((t,e,r)=>{let{themeVariables:n}=le(),{lineColor:i}=n,a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),o=70,l=10;r==="LR"&&(o=10,l=70);let u=-1*o/2,h=-1*l/2,f;if(e.look==="handDrawn"){let y=Ht.svg(a).rectangle(u,h,o,l,bu(i));f=a.insert(()=>y)}else f=a.append("rect").attr("x",u).attr("y",h).attr("width",o).attr("height",l).attr("class","fork-join");er(e,f);let d=0,p=0,m=10;return e.height&&(d=e.height),e.width&&(p=e.width),e.padding&&(m=e.padding),e.height=d+m/2,e.width=p+m/2,e.intersect=function(g){return tr.rect(e,g)},a},"forkJoin")});var aj,sj=_(()=>{"use strict";ii();Yn();pi();gt();aj=s((t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{themeVariables:i}=le(),{lineColor:a}=i,o=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),l=28,u=[{x:0,y:l/2},{x:l/2,y:0},{x:0,y:-l/2},{x:-l/2,y:0}],h;if(e.look==="handDrawn"){let f=Ht.svg(o),d=u.map(function(m){return[m.x,m.y]}),p=f.polygon(d,bu(a));h=o.insert(()=>p)}else h=o.insert("polygon",":first-child").attr("points",u.map(function(f){return f.x+","+f.y}).join(" "));return h.attr("class","state-start").attr("r",7).attr("width",28).attr("height",28).attr("style",n),e.width=28,e.height=28,e.intersect=function(f){return tr.circle(e,14,f)},o},"choice")});var oj,lj=_(()=>{"use strict";it();Xn();ii();gt();Yn();oj=s(async(t,e)=>{let{themeVariables:r,handDrawnSeed:n}=le(),{noteBorderColor:i,noteBkgColor:a}=r;e.useHtmlLabels||(e.centerLabel=!0);let{shapeSvg:l,bbox:u}=await Mr(t,e,"node "+e.cssClasses);V.info("Classes = ",e.cssClasses);let{cssStyles:h}=e,f,d=u.width+e.padding,p=u.height+e.padding,m=-d/2,g=-p/2;if(e.look==="handDrawn"){let v=Ht.svg(l).rectangle(m,g,d,p,{roughness:.7,fill:a,fillWeight:3,seed:n,stroke:i});f=l.insert(()=>v,":first-child"),f.attr("class","basic label-container").attr("style",h)}else f=l.insert("rect",":first-child"),f.attr("rx",e.rx).attr("ry",e.ry).attr("x",m).attr("y",g).attr("width",d).attr("height",p);return er(e,f),e.intersect=function(y){return tr.rect(e,y)},l},"note")});var cj,uj=_(()=>{"use strict";Xn();ii();pi();Yn();lv();cj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.height+e.padding,l=a.width+o/4+e.padding,u,{cssStyles:h}=e;if(e.look==="handDrawn"){let f=Ht.svg(i),d=Rr(e,{}),p=xu(-l/2,-o/2,l,o,o/2),m=f.path(p,d);u=i.insert(()=>m,":first-child"),u.attr("class","basic label-container").attr("style",h)}else u=i.insert("rect",":first-child"),u.attr("class","basic label-container").attr("style",n).attr("rx",o/2).attr("ry",o/2).attr("x",-l/2).attr("y",-o/2).attr("width",l).attr("height",o);return er(e,u),e.intersect=function(f){return tr.rect(e,f)},i},"stadium")});var hj,fj=_(()=>{"use strict";Xt();Qt();Xn();d5();ii();pi();Yn();gt();lv();it();hj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),o=a.insert("g"),l=a.insert("g").attr("class","label").attr("style",n),u=e.description,h=e.label,f=l.node().appendChild(await ac(h,e.labelStyle,!0,!0)),d={width:0,height:0};if(hr(le()?.flowchart?.htmlLabels)){let E=f.children[0],S=Me(f);d=E.getBoundingClientRect(),S.attr("width",d.width),S.attr("height",d.height)}V.info("Text 2",u);let p=u||[],m=f.getBBox(),g=l.node().appendChild(await ac(p.join?p.join("
    "):p,e.labelStyle,!0,!0)),y=g.children[0],v=Me(g);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height);let x=(e.padding||0)/2;Me(g).attr("transform","translate( "+(d.width>m.width?0:(m.width-d.width)/2)+", "+(m.height+x+5)+")"),Me(f).attr("transform","translate( "+(d.width(V.debug("Rough node insert CXC",R),D),":first-child"),T=a.insert(()=>(V.debug("Rough node insert CXC",R),R),":first-child")}else T=o.insert("rect",":first-child"),C=o.insert("line"),T.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),C.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+m.height+x).attr("y2",-d.height/2-x+m.height+x);return er(e,T),e.intersect=function(E){return tr.rect(e,E)},a},"rectWithTitle")});function Ea(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var ku=_(()=>{"use strict";s(Ea,"insertPolygonShape")});var dj,pj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();dj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=(e?.padding||0)/2,l=a.width+e.padding,u=a.height+e.padding,h=-a.width/2-o,f=-a.height/2-o,d=[{x:0,y:0},{x:l,y:0},{x:l,y:-u},{x:0,y:-u},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-u},{x:-8,y:-u},{x:-8,y:0}];if(e.look==="handDrawn"){let p=Ht.svg(i),m=Rr(e,{}),g=p.rectangle(h-8,f,l+16,u,m),y=p.line(h,f,h,f+u,m),v=p.line(h+l,f,h+l,f+u,m);i.insert(()=>y,":first-child"),i.insert(()=>v,":first-child");let x=i.insert(()=>g,":first-child"),{cssStyles:b}=e;x.attr("class","basic label-container").attr("style",b),er(e,x)}else{let p=Ea(i,l,u,d);n&&p.attr("style",n),er(e,p)}return e.intersect=function(p){return tr.polygon(e,d,p)},i},"subroutine")});var DEe,REe,MEe,mj,gj=_(()=>{"use strict";Xn();ii();pi();Yn();DEe=s((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),REe=s((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),MEe=s((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),mj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=o/2,u=l/(2.5+o/50),h=a.height+u+e.padding,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Ht.svg(i),m=REe(0,0,o,h,l,u),g=MEe(0,u,o,h,l,u),y=p.path(m,Rr(e,{})),v=p.path(g,Rr(e,{fill:"none"}));f=i.insert(()=>v,":first-child"),f=i.insert(()=>y,":first-child"),f.attr("class","basic label-container"),d&&f.attr("style",d)}else{let p=DEe(0,0,o,h,l,u);f=i.insert("path",":first-child").attr("d",p).attr("class","basic label-container").attr("style",d).attr("style",n)}return f.attr("label-offset-y",u),f.attr("transform",`translate(${-o/2}, ${-(h/2+u)})`),er(e,f),e.intersect=function(p){let m=tr.rect(e,p),g=m.x-(e.x??0);if(l!=0&&(Math.abs(g)<(e.width??0)/2||Math.abs(g)==(e.width??0)/2&&Math.abs(m.y-(e.y??0))>(e.height??0)/2-u)){let y=u*u*(1-g*g/(l*l));y>0&&(y=Math.sqrt(y)),y=u-y,p.y-(e.y??0)>0&&(y=-y),m.y+=y}return m},i},"cylinder")});var yj,vj=_(()=>{"use strict";it();Xn();ii();pi();Yn();yj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:o}=await Mr(t,e,gn(e)),l=a.width/2+o,u,{cssStyles:h}=e;if(e.look==="handDrawn"){let f=Ht.svg(i),d=Rr(e,{}),p=f.circle(0,0,l*2,d);u=i.insert(()=>p,":first-child"),u.attr("class","basic label-container").attr("style",h)}else u=i.insert("circle",":first-child").attr("class","basic label-container").attr("style",n).attr("r",l).attr("cx",0).attr("cy",0);return er(e,u),e.intersect=function(f){return V.info("Circle intersect",e,l,f),tr.circle(e,l,f)},i},"circle")});var xj,bj=_(()=>{"use strict";it();Xn();ii();pi();Yn();xj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:o}=await Mr(t,e,gn(e)),u=a.width/2+o+5,h=a.width/2+o,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Ht.svg(i),m=Rr(e,{roughness:.2,strokeWidth:2.5}),g=Rr(e,{roughness:.2,strokeWidth:1.5}),y=p.circle(0,0,u*2,m),v=p.circle(0,0,h*2,g);f=i.insert("g",":first-child"),f.attr("class",e.cssClasses).attr("style",d),f.node()?.appendChild(y),f.node()?.appendChild(v)}else{f=i.insert("g",":first-child");let p=f.insert("circle",":first-child"),m=f.insert("circle");f.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return er(e,f),e.intersect=function(p){return V.info("DoubleCircle intersect",e,u,p),tr.circle(e,u,p)},i},"doublecircle")});var IEe,kj,wj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();IEe=s((t,e,r,n)=>[`M${t-n/2},${e}`,`L${t+r},${e}`,`L${t+r},${e-n}`,`L${t-n/2},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createPolygonPathD"),kj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:-l/2,y:0},{x:o,y:0},{x:o,y:-l},{x:-l/2,y:-l},{x:0,y:-l/2}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=IEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o+l,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"rect_left_inv_arrow")});var NEe,Tj,Ej=_(()=>{"use strict";it();Xn();ii();pi();Yn();ku();NEe=s((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD"),Tj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=o+l,h=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Ht.svg(i),m=Rr(e,{}),g=NEe(0,0,u),y=p.path(g,m);f=i.insert(()=>y,":first-child").attr("transform",`translate(${-u/2}, ${u/2})`),d&&f.attr("style",d)}else f=Ea(i,u,u,h);return n&&f.attr("style",n),er(e,f),e.intersect=function(p){return V.debug(`APA12 Intersect called SPLIT +point:`,p,` +node: +`,e,` +res:`,tr.polygon(e,h,p)),tr.polygon(e,h,p)},i},"question")});var OEe,Cj,Sj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();OEe=s((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD"),Cj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=4,l=a.height+e.padding,u=l/o,h=a.width+2*u+e.padding,f=[{x:u,y:0},{x:h-u,y:0},{x:h,y:-l/2},{x:h-u,y:-l},{x:u,y:-l},{x:0,y:-l/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Ht.svg(i),g=Rr(e,{}),y=OEe(0,0,h,l,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${l/2})`),p&&d.attr("style",p)}else d=Ea(i,h,l,f);return n&&d.attr("style",n),e.width=h,e.height=l,er(e,d),e.intersect=function(m){return tr.polygon(e,f,m)},i},"hexagon")});var PEe,_j,Aj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();PEe=s((t,e,r,n)=>[`M${t-2*n/6},${e}`,`L${t+r-n/6},${e}`,`L${t+r+2*n/6},${e-n}`,`L${t+n/6},${e-n}`,"Z"].join(" "),"createLeanRightPathD"),_j=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:-2*l/6,y:0},{x:o-l/6,y:0},{x:o+2*l/6,y:-l},{x:l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=PEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"lean_right")});var BEe,Lj,Dj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();BEe=s((t,e,r,n)=>[`M${t+2*n/6},${e}`,`L${t+r+n/6},${e}`,`L${t+r-2*n/6},${e-n}`,`L${t-n/6},${e-n}`,"Z"].join(" "),"createLeanLeftPathD"),Lj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:2*l/6,y:0},{x:o+l/6,y:0},{x:o-2*l/6,y:-l},{x:-l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=BEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"lean_left")});var FEe,Rj,Mj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();FEe=s((t,e,r,n)=>[`M${t-2*n/6},${e}`,`L${t+r+2*n/6},${e}`,`L${t+r-n/6},${e-n}`,`L${t+n/6},${e-n}`,"Z"].join(" "),"createTrapezoidPathD"),Rj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:-2*l/6,y:0},{x:o+2*l/6,y:0},{x:o-l/6,y:-l},{x:l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=FEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"trapezoid")});var zEe,Ij,Nj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();zEe=s((t,e,r,n)=>[`M${t+n/6},${e}`,`L${t+r-n/6},${e}`,`L${t+r+2*n/6},${e-n}`,`L${t-2*n/6},${e-n}`,"Z"].join(" "),"createInvertedTrapezoidPathD"),Ij=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:l/6,y:0},{x:o-l/6,y:0},{x:o+2*l/6,y:-l},{x:-2*l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=zEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"inv_trapezoid")});var Oj,Pj=_(()=>{"use strict";uv();Xn();ii();Oj=s(async(t,e)=>{let{shapeSvg:r}=await Mr(t,e,"label"),n=r.insert("rect",":first-child");return n.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),er(e,n),e.intersect=function(o){return tr.rect(e,o)},r},"labelRect")});var Bj,tm,C5,Fj,zj,u9,h9=_(()=>{"use strict";it();jX();QX();JX();tj();nj();ij();sj();lj();uj();fj();gt();pj();gj();vj();bj();wj();Ej();Sj();Aj();Dj();Mj();Nj();Pj();Bj={state:XX,stateStart:ej,stateEnd:rj,fork:c9,join:c9,choice:aj,note:oj,roundedRect:KX,rectWithTitle:hj,squareRect:ZX,stadium:cj,subroutine:dj,cylinder:mj,circle:yj,doublecircle:xj,odd:kj,diamond:Tj,hexagon:Cj,lean_right:_j,lean_left:Lj,trapezoid:Rj,inv_trapezoid:Ij,labelRect:Oj},tm=new Map,C5=s(async(t,e,r)=>{let n,i;if(e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect"),e.link){let a;le().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await Bj[e.shape](n,e,r)}else i=await Bj[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),tm.set(e.id,n),e.haveCallback&&tm.get(e.id).attr("class",tm.get(e.id).attr("class")+" clickable"),n},"insertNode"),Fj=s((t,e)=>{tm.set(e.id,t)},"setNodeElem"),zj=s(()=>{tm.clear()},"clear"),u9=s(t=>{let e=tm.get(t.id);V.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});var $j,Gj=_(()=>{"use strict";zs();Qt();it();i9();s9();o9();h9();Xn();pr();$j={common:$e,getConfig:_r,insertCluster:p5,insertEdge:w5,insertEdgeLabel:b5,insertMarkers:T5,insertNode:C5,interpolateToCurve:Wp,labelHelper:Mr,log:V,positionEdgeLabel:k5}});function GEe(t){return typeof t=="symbol"||Fn(t)&&na(t)==$Ee}var $Ee,Zs,bd=_(()=>{"use strict";fu();ko();$Ee="[object Symbol]";s(GEe,"isSymbol");Zs=GEe});function VEe(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r{"use strict";s(VEe,"arrayMap");bs=VEe});function qj(t){if(typeof t=="string")return t;if(ct(t))return bs(t,qj)+"";if(Zs(t))return Uj?Uj.call(t):"";var e=t+"";return e=="0"&&1/t==-UEe?"-0":e}var UEe,Vj,Uj,Wj,Hj=_(()=>{"use strict";sd();kd();Dn();bd();UEe=1/0,Vj=qi?qi.prototype:void 0,Uj=Vj?Vj.toString:void 0;s(qj,"baseToString");Wj=qj});function WEe(t){for(var e=t.length;e--&&qEe.test(t.charAt(e)););return e}var qEe,Yj,Xj=_(()=>{"use strict";qEe=/\s/;s(WEe,"trimmedEndIndex");Yj=WEe});function YEe(t){return t&&t.slice(0,Yj(t)+1).replace(HEe,"")}var HEe,jj,Kj=_(()=>{"use strict";Xj();HEe=/^\s+/;s(YEe,"baseTrim");jj=YEe});function ZEe(t){if(typeof t=="number")return t;if(Zs(t))return Qj;if(on(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=on(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=jj(t);var r=jEe.test(t);return r||KEe.test(t)?QEe(t.slice(2),r?2:8):XEe.test(t)?Qj:+t}var Qj,XEe,jEe,KEe,QEe,Zj,Jj=_(()=>{"use strict";Kj();Ws();bd();Qj=NaN,XEe=/^[-+]0x[0-9a-f]+$/i,jEe=/^0b[01]+$/i,KEe=/^0o[0-7]+$/i,QEe=parseInt;s(ZEe,"toNumber");Zj=ZEe});function eCe(t){if(!t)return t===0?t:0;if(t=Zj(t),t===eK||t===-eK){var e=t<0?-1:1;return e*JEe}return t===t?t:0}var eK,JEe,rm,f9=_(()=>{"use strict";Jj();eK=1/0,JEe=17976931348623157e292;s(eCe,"toFinite");rm=eCe});function tCe(t){var e=rm(t),r=e%1;return e===e?r?e-r:e:0}var sc,nm=_(()=>{"use strict";f9();s(tCe,"toInteger");sc=tCe});var rCe,S5,tK=_(()=>{"use strict";Sh();xo();rCe=fs(Wn,"WeakMap"),S5=rCe});function nCe(){}var zn,d9=_(()=>{"use strict";s(nCe,"noop");zn=nCe});function iCe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";s(iCe,"arrayEach");_5=iCe});function aCe(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a{"use strict";s(aCe,"baseFindIndex");A5=aCe});function sCe(t){return t!==t}var rK,nK=_(()=>{"use strict";s(sCe,"baseIsNaN");rK=sCe});function oCe(t,e,r){for(var n=r-1,i=t.length;++n{"use strict";s(oCe,"strictIndexOf");iK=oCe});function lCe(t,e,r){return e===e?iK(t,e,r):A5(t,rK,r)}var im,L5=_(()=>{"use strict";m9();nK();aK();s(lCe,"baseIndexOf");im=lCe});function cCe(t,e){var r=t==null?0:t.length;return!!r&&im(t,e,0)>-1}var D5,g9=_(()=>{"use strict";L5();s(cCe,"arrayIncludes");D5=cCe});var uCe,sK,oK=_(()=>{"use strict";X_();uCe=L3(Object.keys,Object),sK=uCe});function dCe(t){if(!ec(t))return sK(t);var e=[];for(var r in Object(t))fCe.call(t,r)&&r!="constructor"&&e.push(r);return e}var hCe,fCe,am,R5=_(()=>{"use strict";zp();oK();hCe=Object.prototype,fCe=hCe.hasOwnProperty;s(dCe,"baseKeys");am=dCe});function pCe(t){return Hn(t)?N3(t):am(t)}var kr,oc=_(()=>{"use strict";J_();R5();wo();s(pCe,"keys");kr=pCe});var mCe,gCe,yCe,aa,lK=_(()=>{"use strict";Up();hd();nA();wo();zp();oc();mCe=Object.prototype,gCe=mCe.hasOwnProperty,yCe=B3(function(t,e){if(ec(e)||Hn(e)){Co(e,kr(e),t);return}for(var r in e)gCe.call(e,r)&&tc(t,r,e[r])}),aa=yCe});function bCe(t,e){if(ct(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Zs(t)?!0:xCe.test(t)||!vCe.test(t)||e!=null&&t in Object(e)}var vCe,xCe,sm,M5=_(()=>{"use strict";Dn();bd();vCe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xCe=/^\w*$/;s(bCe,"isKey");sm=bCe});function wCe(t){var e=Rp(t,function(n){return r.size===kCe&&r.clear(),n}),r=e.cache;return e}var kCe,cK,uK=_(()=>{"use strict";G_();kCe=500;s(wCe,"memoizeCapped");cK=wCe});var TCe,ECe,CCe,hK,fK=_(()=>{"use strict";uK();TCe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ECe=/\\(\\)?/g,CCe=cK(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(TCe,function(r,n,i,a){e.push(i?a.replace(ECe,"$1"):n||r)}),e}),hK=CCe});function SCe(t){return t==null?"":Wj(t)}var I5,y9=_(()=>{"use strict";Hj();s(SCe,"toString");I5=SCe});function _Ce(t,e){return ct(t)?t:sm(t,e)?[t]:hK(I5(t))}var Fh,hv=_(()=>{"use strict";Dn();M5();fK();y9();s(_Ce,"castPath");Fh=_Ce});function LCe(t){if(typeof t=="string"||Zs(t))return t;var e=t+"";return e=="0"&&1/t==-ACe?"-0":e}var ACe,lc,om=_(()=>{"use strict";bd();ACe=1/0;s(LCe,"toKey");lc=LCe});function DCe(t,e){e=Fh(e,t);for(var r=0,n=e.length;t!=null&&r{"use strict";hv();om();s(DCe,"baseGet");zh=DCe});function RCe(t,e,r){var n=t==null?void 0:zh(t,e);return n===void 0?r:n}var dK,pK=_(()=>{"use strict";fv();s(RCe,"get");dK=RCe});function MCe(t,e){for(var r=-1,n=e.length,i=t.length;++r{"use strict";s(MCe,"arrayPush");lm=MCe});function ICe(t){return ct(t)||cl(t)||!!(mK&&t&&t[mK])}var mK,gK,yK=_(()=>{"use strict";sd();$p();Dn();mK=qi?qi.isConcatSpreadable:void 0;s(ICe,"isFlattenable");gK=ICe});function vK(t,e,r,n,i){var a=-1,o=t.length;for(r||(r=gK),i||(i=[]);++a0&&r(l)?e>1?vK(l,e-1,r,n,i):lm(i,l):n||(i[i.length]=l)}return i}var cc,cm=_(()=>{"use strict";N5();yK();s(vK,"baseFlatten");cc=vK});function NCe(t){var e=t==null?0:t.length;return e?cc(t,1):[]}var Ir,O5=_(()=>{"use strict";cm();s(NCe,"flatten");Ir=NCe});function OCe(t){return P3(O3(t,void 0,Ir),t+"")}var xK,bK=_(()=>{"use strict";O5();eA();rA();s(OCe,"flatRest");xK=OCe});function PCe(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n{"use strict";s(PCe,"baseSlice");P5=PCe});function WCe(t){return qCe.test(t)}var BCe,FCe,zCe,$Ce,GCe,VCe,UCe,qCe,kK,wK=_(()=>{"use strict";BCe="\\ud800-\\udfff",FCe="\\u0300-\\u036f",zCe="\\ufe20-\\ufe2f",$Ce="\\u20d0-\\u20ff",GCe=FCe+zCe+$Ce,VCe="\\ufe0e\\ufe0f",UCe="\\u200d",qCe=RegExp("["+UCe+BCe+GCe+VCe+"]");s(WCe,"hasUnicode");kK=WCe});function HCe(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i{"use strict";s(HCe,"arrayReduce");TK=HCe});function YCe(t,e){return t&&Co(e,kr(e),t)}var CK,SK=_(()=>{"use strict";hd();oc();s(YCe,"baseAssign");CK=YCe});function XCe(t,e){return t&&Co(e,ds(e),t)}var _K,AK=_(()=>{"use strict";hd();Ih();s(XCe,"baseAssignIn");_K=XCe});function jCe(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r{"use strict";s(jCe,"arrayFilter");um=jCe});function KCe(){return[]}var F5,x9=_(()=>{"use strict";s(KCe,"stubArray");F5=KCe});var QCe,ZCe,LK,JCe,hm,z5=_(()=>{"use strict";B5();x9();QCe=Object.prototype,ZCe=QCe.propertyIsEnumerable,LK=Object.getOwnPropertySymbols,JCe=LK?function(t){return t==null?[]:(t=Object(t),um(LK(t),function(e){return ZCe.call(t,e)}))}:F5,hm=JCe});function eSe(t,e){return Co(t,hm(t),e)}var DK,RK=_(()=>{"use strict";hd();z5();s(eSe,"copySymbols");DK=eSe});var tSe,rSe,$5,b9=_(()=>{"use strict";N5();D3();z5();x9();tSe=Object.getOwnPropertySymbols,rSe=tSe?function(t){for(var e=[];t;)lm(e,hm(t)),t=Fp(t);return e}:F5,$5=rSe});function nSe(t,e){return Co(t,$5(t),e)}var MK,IK=_(()=>{"use strict";hd();b9();s(nSe,"copySymbolsIn");MK=nSe});function iSe(t,e,r){var n=e(t);return ct(t)?n:lm(n,r(t))}var G5,k9=_(()=>{"use strict";N5();Dn();s(iSe,"baseGetAllKeys");G5=iSe});function aSe(t){return G5(t,kr,hm)}var dv,w9=_(()=>{"use strict";k9();z5();oc();s(aSe,"getAllKeys");dv=aSe});function sSe(t){return G5(t,ds,$5)}var V5,T9=_(()=>{"use strict";k9();b9();Ih();s(sSe,"getAllKeysIn");V5=sSe});var oSe,U5,NK=_(()=>{"use strict";Sh();xo();oSe=fs(Wn,"DataView"),U5=oSe});var lSe,q5,OK=_(()=>{"use strict";Sh();xo();lSe=fs(Wn,"Promise"),q5=lSe});var cSe,$h,E9=_(()=>{"use strict";Sh();xo();cSe=fs(Wn,"Set"),$h=cSe});var PK,uSe,BK,FK,zK,$K,hSe,fSe,dSe,pSe,mSe,wd,Js,Td=_(()=>{"use strict";NK();w3();OK();E9();tK();fu();F_();PK="[object Map]",uSe="[object Object]",BK="[object Promise]",FK="[object Set]",zK="[object WeakMap]",$K="[object DataView]",hSe=du(U5),fSe=du(Lh),dSe=du(q5),pSe=du($h),mSe=du(S5),wd=na;(U5&&wd(new U5(new ArrayBuffer(1)))!=$K||Lh&&wd(new Lh)!=PK||q5&&wd(q5.resolve())!=BK||$h&&wd(new $h)!=FK||S5&&wd(new S5)!=zK)&&(wd=s(function(t){var e=na(t),r=e==uSe?t.constructor:void 0,n=r?du(r):"";if(n)switch(n){case hSe:return $K;case fSe:return PK;case dSe:return BK;case pSe:return FK;case mSe:return zK}return e},"getTag"));Js=wd});function vSe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&ySe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var gSe,ySe,GK,VK=_(()=>{"use strict";gSe=Object.prototype,ySe=gSe.hasOwnProperty;s(vSe,"initCloneArray");GK=vSe});function xSe(t,e){var r=e?Bp(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var UK,qK=_(()=>{"use strict";S3();s(xSe,"cloneDataView");UK=xSe});function kSe(t){var e=new t.constructor(t.source,bSe.exec(t));return e.lastIndex=t.lastIndex,e}var bSe,WK,HK=_(()=>{"use strict";bSe=/\w*$/;s(kSe,"cloneRegExp");WK=kSe});function wSe(t){return XK?Object(XK.call(t)):{}}var YK,XK,jK,KK=_(()=>{"use strict";sd();YK=qi?qi.prototype:void 0,XK=YK?YK.valueOf:void 0;s(wSe,"cloneSymbol");jK=wSe});function VSe(t,e,r){var n=t.constructor;switch(e){case RSe:return Bp(t);case TSe:case ESe:return new n(+t);case MSe:return UK(t,r);case ISe:case NSe:case OSe:case PSe:case BSe:case FSe:case zSe:case $Se:case GSe:return _3(t,r);case CSe:return new n;case SSe:case LSe:return new n(t);case _Se:return WK(t);case ASe:return new n;case DSe:return jK(t)}}var TSe,ESe,CSe,SSe,_Se,ASe,LSe,DSe,RSe,MSe,ISe,NSe,OSe,PSe,BSe,FSe,zSe,$Se,GSe,QK,ZK=_(()=>{"use strict";S3();qK();HK();KK();H_();TSe="[object Boolean]",ESe="[object Date]",CSe="[object Map]",SSe="[object Number]",_Se="[object RegExp]",ASe="[object Set]",LSe="[object String]",DSe="[object Symbol]",RSe="[object ArrayBuffer]",MSe="[object DataView]",ISe="[object Float32Array]",NSe="[object Float64Array]",OSe="[object Int8Array]",PSe="[object Int16Array]",BSe="[object Int32Array]",FSe="[object Uint8Array]",zSe="[object Uint8ClampedArray]",$Se="[object Uint16Array]",GSe="[object Uint32Array]";s(VSe,"initCloneByTag");QK=VSe});function qSe(t){return Fn(t)&&Js(t)==USe}var USe,JK,eQ=_(()=>{"use strict";Td();ko();USe="[object Map]";s(qSe,"baseIsMap");JK=qSe});var tQ,WSe,rQ,nQ=_(()=>{"use strict";eQ();ud();Uy();tQ=Eo&&Eo.isMap,WSe=tQ?To(tQ):JK,rQ=WSe});function YSe(t){return Fn(t)&&Js(t)==HSe}var HSe,iQ,aQ=_(()=>{"use strict";Td();ko();HSe="[object Set]";s(YSe,"baseIsSet");iQ=YSe});var sQ,XSe,oQ,lQ=_(()=>{"use strict";aQ();ud();Uy();sQ=Eo&&Eo.isSet,XSe=sQ?To(sQ):iQ,oQ=XSe});function W5(t,e,r,n,i,a){var o,l=e&jSe,u=e&KSe,h=e&QSe;if(r&&(o=i?r(t,n,i,a):r(t)),o!==void 0)return o;if(!on(t))return t;var f=ct(t);if(f){if(o=GK(t),!l)return A3(t,o)}else{var d=Js(t),p=d==uQ||d==r8e;if(ul(t))return C3(t,l);if(d==hQ||d==cQ||p&&!i){if(o=u||p?{}:R3(t),!l)return u?MK(t,_K(o,t)):DK(t,CK(o,t))}else{if(!yn[d])return i?t:{};o=QK(t,d,l)}}a||(a=new Zl);var m=a.get(t);if(m)return m;a.set(t,o),oQ(t)?t.forEach(function(v){o.add(W5(v,e,r,v,t,a))}):rQ(t)&&t.forEach(function(v,x){o.set(x,W5(v,e,r,x,t,a))});var g=h?u?V5:dv:u?ds:kr,y=f?void 0:g(t);return _5(y||t,function(v,x){y&&(x=v,v=t[x]),tc(o,x,W5(v,e,r,x,t,a))}),o}var jSe,KSe,QSe,cQ,ZSe,JSe,e8e,t8e,uQ,r8e,n8e,i8e,hQ,a8e,s8e,o8e,l8e,c8e,u8e,h8e,f8e,d8e,p8e,m8e,g8e,y8e,v8e,x8e,b8e,yn,H5,C9=_(()=>{"use strict";$y();p9();Up();SK();AK();q_();Y_();RK();IK();w9();T9();Td();VK();ZK();j_();Dn();Vp();nQ();Ws();lQ();oc();Ih();jSe=1,KSe=2,QSe=4,cQ="[object Arguments]",ZSe="[object Array]",JSe="[object Boolean]",e8e="[object Date]",t8e="[object Error]",uQ="[object Function]",r8e="[object GeneratorFunction]",n8e="[object Map]",i8e="[object Number]",hQ="[object Object]",a8e="[object RegExp]",s8e="[object Set]",o8e="[object String]",l8e="[object Symbol]",c8e="[object WeakMap]",u8e="[object ArrayBuffer]",h8e="[object DataView]",f8e="[object Float32Array]",d8e="[object Float64Array]",p8e="[object Int8Array]",m8e="[object Int16Array]",g8e="[object Int32Array]",y8e="[object Uint8Array]",v8e="[object Uint8ClampedArray]",x8e="[object Uint16Array]",b8e="[object Uint32Array]",yn={};yn[cQ]=yn[ZSe]=yn[u8e]=yn[h8e]=yn[JSe]=yn[e8e]=yn[f8e]=yn[d8e]=yn[p8e]=yn[m8e]=yn[g8e]=yn[n8e]=yn[i8e]=yn[hQ]=yn[a8e]=yn[s8e]=yn[o8e]=yn[l8e]=yn[y8e]=yn[v8e]=yn[x8e]=yn[b8e]=!0;yn[t8e]=yn[uQ]=yn[c8e]=!1;s(W5,"baseClone");H5=W5});function w8e(t){return H5(t,k8e)}var k8e,Hr,S9=_(()=>{"use strict";C9();k8e=4;s(w8e,"clone");Hr=w8e});function C8e(t){return H5(t,T8e|E8e)}var T8e,E8e,_9,fQ=_(()=>{"use strict";C9();T8e=1,E8e=4;s(C8e,"cloneDeep");_9=C8e});function S8e(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e{"use strict";s(S8e,"compact");uc=S8e});function A8e(t){return this.__data__.set(t,_8e),this}var _8e,pQ,mQ=_(()=>{"use strict";_8e="__lodash_hash_undefined__";s(A8e,"setCacheAdd");pQ=A8e});function L8e(t){return this.__data__.has(t)}var gQ,yQ=_(()=>{"use strict";s(L8e,"setCacheHas");gQ=L8e});function Y5(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new ld;++e{"use strict";T3();mQ();yQ();s(Y5,"SetCache");Y5.prototype.add=Y5.prototype.push=pQ;Y5.prototype.has=gQ;fm=Y5});function D8e(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";s(D8e,"arraySome");j5=D8e});function R8e(t,e){return t.has(e)}var dm,K5=_(()=>{"use strict";s(R8e,"cacheHas");dm=R8e});function N8e(t,e,r,n,i,a){var o=r&M8e,l=t.length,u=e.length;if(l!=u&&!(o&&u>l))return!1;var h=a.get(t),f=a.get(e);if(h&&f)return h==e&&f==t;var d=-1,p=!0,m=r&I8e?new fm:void 0;for(a.set(t,e),a.set(e,t);++d{"use strict";X5();A9();K5();M8e=1,I8e=2;s(N8e,"equalArrays");Q5=N8e});function O8e(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var vQ,xQ=_(()=>{"use strict";s(O8e,"mapToArray");vQ=O8e});function P8e(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var pm,Z5=_(()=>{"use strict";s(P8e,"setToArray");pm=P8e});function K8e(t,e,r,n,i,a,o){switch(r){case j8e:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case X8e:return!(t.byteLength!=e.byteLength||!a(new Pp(t),new Pp(e)));case z8e:case $8e:case U8e:return bo(+t,+e);case G8e:return t.name==e.name&&t.message==e.message;case q8e:case H8e:return t==e+"";case V8e:var l=vQ;case W8e:var u=n&B8e;if(l||(l=pm),t.size!=e.size&&!u)return!1;var h=o.get(t);if(h)return h==e;n|=F8e,o.set(t,e);var f=Q5(l(t),l(e),n,i,a,o);return o.delete(t),f;case Y8e:if(D9)return D9.call(t)==D9.call(e)}return!1}var B8e,F8e,z8e,$8e,G8e,V8e,U8e,q8e,W8e,H8e,Y8e,X8e,j8e,bQ,D9,kQ,wQ=_(()=>{"use strict";sd();W_();od();L9();xQ();Z5();B8e=1,F8e=2,z8e="[object Boolean]",$8e="[object Date]",G8e="[object Error]",V8e="[object Map]",U8e="[object Number]",q8e="[object RegExp]",W8e="[object Set]",H8e="[object String]",Y8e="[object Symbol]",X8e="[object ArrayBuffer]",j8e="[object DataView]",bQ=qi?qi.prototype:void 0,D9=bQ?bQ.valueOf:void 0;s(K8e,"equalByTag");kQ=K8e});function e_e(t,e,r,n,i,a){var o=r&Q8e,l=dv(t),u=l.length,h=dv(e),f=h.length;if(u!=f&&!o)return!1;for(var d=u;d--;){var p=l[d];if(!(o?p in e:J8e.call(e,p)))return!1}var m=a.get(t),g=a.get(e);if(m&&g)return m==e&&g==t;var y=!0;a.set(t,e),a.set(e,t);for(var v=o;++d{"use strict";w9();Q8e=1,Z8e=Object.prototype,J8e=Z8e.hasOwnProperty;s(e_e,"equalObjects");TQ=e_e});function n_e(t,e,r,n,i,a){var o=ct(t),l=ct(e),u=o?SQ:Js(t),h=l?SQ:Js(e);u=u==CQ?J5:u,h=h==CQ?J5:h;var f=u==J5,d=h==J5,p=u==h;if(p&&ul(t)){if(!ul(e))return!1;o=!0,f=!1}if(p&&!f)return a||(a=new Zl),o||Rh(t)?Q5(t,e,r,n,i,a):kQ(t,e,u,r,n,i,a);if(!(r&t_e)){var m=f&&_Q.call(t,"__wrapped__"),g=d&&_Q.call(e,"__wrapped__");if(m||g){var y=m?t.value():t,v=g?e.value():e;return a||(a=new Zl),i(y,v,r,n,a)}}return p?(a||(a=new Zl),TQ(t,e,r,n,i,a)):!1}var t_e,CQ,SQ,J5,r_e,_Q,AQ,LQ=_(()=>{"use strict";$y();L9();wQ();EQ();Td();Dn();Vp();qy();t_e=1,CQ="[object Arguments]",SQ="[object Array]",J5="[object Object]",r_e=Object.prototype,_Q=r_e.hasOwnProperty;s(n_e,"baseIsEqualDeep");AQ=n_e});function DQ(t,e,r,n,i){return t===e?!0:t==null||e==null||!Fn(t)&&!Fn(e)?t!==t&&e!==e:AQ(t,e,r,n,DQ,i)}var ek,R9=_(()=>{"use strict";LQ();ko();s(DQ,"baseIsEqual");ek=DQ});function s_e(t,e,r,n){var i=r.length,a=i,o=!n;if(t==null)return!a;for(t=Object(t);i--;){var l=r[i];if(o&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i{"use strict";$y();R9();i_e=1,a_e=2;s(s_e,"baseIsMatch");RQ=s_e});function o_e(t){return t===t&&!on(t)}var tk,M9=_(()=>{"use strict";Ws();s(o_e,"isStrictComparable");tk=o_e});function l_e(t){for(var e=kr(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,tk(i)]}return e}var IQ,NQ=_(()=>{"use strict";M9();oc();s(l_e,"getMatchData");IQ=l_e});function c_e(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var rk,I9=_(()=>{"use strict";s(c_e,"matchesStrictComparable");rk=c_e});function u_e(t){var e=IQ(t);return e.length==1&&e[0][2]?rk(e[0][0],e[0][1]):function(r){return r===t||RQ(r,t,e)}}var OQ,PQ=_(()=>{"use strict";MQ();NQ();I9();s(u_e,"baseMatches");OQ=u_e});function h_e(t,e){return t!=null&&e in Object(t)}var BQ,FQ=_(()=>{"use strict";s(h_e,"baseHasIn");BQ=h_e});function f_e(t,e,r){e=Fh(e,t);for(var n=-1,i=e.length,a=!1;++n{"use strict";hv();$p();Dn();Hy();M3();om();s(f_e,"hasPath");nk=f_e});function d_e(t,e){return t!=null&&nk(t,e,BQ)}var ik,O9=_(()=>{"use strict";FQ();N9();s(d_e,"hasIn");ik=d_e});function g_e(t,e){return sm(t)&&tk(e)?rk(lc(t),e):function(r){var n=dK(r,t);return n===void 0&&n===e?ik(r,t):ek(e,n,p_e|m_e)}}var p_e,m_e,zQ,$Q=_(()=>{"use strict";R9();pK();O9();M5();M9();I9();om();p_e=1,m_e=2;s(g_e,"baseMatchesProperty");zQ=g_e});function y_e(t){return function(e){return e?.[t]}}var ak,P9=_(()=>{"use strict";s(y_e,"baseProperty");ak=y_e});function v_e(t){return function(e){return zh(e,t)}}var GQ,VQ=_(()=>{"use strict";fv();s(v_e,"basePropertyDeep");GQ=v_e});function x_e(t){return sm(t)?ak(lc(t)):GQ(t)}var UQ,qQ=_(()=>{"use strict";P9();VQ();M5();om();s(x_e,"property");UQ=x_e});function b_e(t){return typeof t=="function"?t:t==null?Wi:typeof t=="object"?ct(t)?zQ(t[0],t[1]):OQ(t):UQ(t)}var tn,Ua=_(()=>{"use strict";PQ();$Q();mu();Dn();qQ();s(b_e,"baseIteratee");tn=b_e});function k_e(t,e,r,n){for(var i=-1,a=t==null?0:t.length;++i{"use strict";s(k_e,"arrayAggregator");WQ=k_e});function w_e(t,e){return t&&Op(t,e,kr)}var mm,sk=_(()=>{"use strict";E3();oc();s(w_e,"baseForOwn");mm=w_e});function T_e(t,e){return function(r,n){if(r==null)return r;if(!Hn(r))return t(r,n);for(var i=r.length,a=e?i:-1,o=Object(r);(e?a--:++a{"use strict";wo();s(T_e,"createBaseEach");YQ=T_e});var E_e,ks,Gh=_(()=>{"use strict";sk();XQ();E_e=YQ(mm),ks=E_e});function C_e(t,e,r,n){return ks(t,function(i,a,o){e(n,i,r(i),o)}),n}var jQ,KQ=_(()=>{"use strict";Gh();s(C_e,"baseAggregator");jQ=C_e});function S_e(t,e){return function(r,n){var i=ct(r)?WQ:jQ,a=e?e():{};return i(r,t,tn(n,2),a)}}var QQ,ZQ=_(()=>{"use strict";HQ();KQ();Ua();Dn();s(S_e,"createAggregator");QQ=S_e});var __e,ok,JQ=_(()=>{"use strict";xo();__e=s(function(){return Wn.Date.now()},"now"),ok=__e});var eZ,A_e,L_e,Vh,tZ=_(()=>{"use strict";qp();od();fd();Ih();eZ=Object.prototype,A_e=eZ.hasOwnProperty,L_e=rc(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&Hs(e[0],e[1],i)&&(n=1);++r{"use strict";s(D_e,"arrayIncludesWith");lk=D_e});function M_e(t,e,r,n){var i=-1,a=D5,o=!0,l=t.length,u=[],h=e.length;if(!l)return u;r&&(e=bs(e,To(r))),n?(a=lk,o=!1):e.length>=R_e&&(a=dm,o=!1,e=new fm(e));e:for(;++i{"use strict";X5();g9();B9();kd();ud();K5();R_e=200;s(M_e,"baseDifference");rZ=M_e});var I_e,Uh,iZ=_(()=>{"use strict";nZ();cm();qp();I3();I_e=rc(function(t,e){return cd(t)?rZ(t,cc(e,1,cd,!0)):[]}),Uh=I_e});function N_e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var sa,aZ=_(()=>{"use strict";s(N_e,"last");sa=N_e});function O_e(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:sc(e),P5(t,e<0?0:e,n)):[]}var ai,sZ=_(()=>{"use strict";v9();nm();s(O_e,"drop");ai=O_e});function P_e(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:sc(e),e=n-e,P5(t,0,e<0?0:e)):[]}var wu,oZ=_(()=>{"use strict";v9();nm();s(P_e,"dropRight");wu=P_e});function B_e(t){return typeof t=="function"?t:Wi}var gm,ck=_(()=>{"use strict";mu();s(B_e,"castFunction");gm=B_e});function F_e(t,e){var r=ct(t)?_5:ks;return r(t,gm(e))}var be,uk=_(()=>{"use strict";p9();Gh();ck();Dn();s(F_e,"forEach");be=F_e});var lZ=_(()=>{"use strict";uk()});function z_e(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";s(z_e,"arrayEvery");cZ=z_e});function $_e(t,e){var r=!0;return ks(t,function(n,i,a){return r=!!e(n,i,a),r}),r}var hZ,fZ=_(()=>{"use strict";Gh();s($_e,"baseEvery");hZ=$_e});function G_e(t,e,r){var n=ct(t)?cZ:hZ;return r&&Hs(t,e,r)&&(e=void 0),n(t,tn(e,3))}var Ca,dZ=_(()=>{"use strict";uZ();fZ();Ua();Dn();fd();s(G_e,"every");Ca=G_e});function V_e(t,e){var r=[];return ks(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}var hk,F9=_(()=>{"use strict";Gh();s(V_e,"baseFilter");hk=V_e});function U_e(t,e){var r=ct(t)?um:hk;return r(t,tn(e,3))}var Nr,z9=_(()=>{"use strict";B5();F9();Ua();Dn();s(U_e,"filter");Nr=U_e});function q_e(t){return function(e,r,n){var i=Object(e);if(!Hn(e)){var a=tn(r,3);e=kr(e),r=s(function(l){return a(i[l],l,i)},"predicate")}var o=t(e,r,n);return o>-1?i[a?e[o]:o]:void 0}}var pZ,mZ=_(()=>{"use strict";Ua();wo();oc();s(q_e,"createFind");pZ=q_e});function H_e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:sc(r);return i<0&&(i=W_e(n+i,0)),A5(t,tn(e,3),i)}var W_e,gZ,yZ=_(()=>{"use strict";m9();Ua();nm();W_e=Math.max;s(H_e,"findIndex");gZ=H_e});var Y_e,qa,vZ=_(()=>{"use strict";mZ();yZ();Y_e=pZ(gZ),qa=Y_e});function X_e(t){return t&&t.length?t[0]:void 0}var Yi,xZ=_(()=>{"use strict";s(X_e,"head");Yi=X_e});var bZ=_(()=>{"use strict";xZ()});function j_e(t,e){var r=-1,n=Hn(t)?Array(t.length):[];return ks(t,function(i,a,o){n[++r]=e(i,a,o)}),n}var fk,$9=_(()=>{"use strict";Gh();wo();s(j_e,"baseMap");fk=j_e});function K_e(t,e){var r=ct(t)?bs:fk;return r(t,tn(e,3))}var Ge,ym=_(()=>{"use strict";kd();Ua();$9();Dn();s(K_e,"map");Ge=K_e});function Q_e(t,e){return cc(Ge(t,e),1)}var oa,G9=_(()=>{"use strict";cm();ym();s(Q_e,"flatMap");oa=Q_e});function Z_e(t,e){return t==null?t:Op(t,gm(e),ds)}var V9,kZ=_(()=>{"use strict";E3();ck();Ih();s(Z_e,"forIn");V9=Z_e});function J_e(t,e){return t&&mm(t,gm(e))}var U9,wZ=_(()=>{"use strict";sk();ck();s(J_e,"forOwn");U9=J_e});var eAe,tAe,rAe,q9,TZ=_(()=>{"use strict";Np();ZQ();eAe=Object.prototype,tAe=eAe.hasOwnProperty,rAe=QQ(function(t,e,r){tAe.call(t,r)?t[r].push(e):Jl(t,r,[e])}),q9=rAe});function nAe(t,e){return t>e}var EZ,CZ=_(()=>{"use strict";s(nAe,"baseGt");EZ=nAe});function sAe(t,e){return t!=null&&aAe.call(t,e)}var iAe,aAe,SZ,_Z=_(()=>{"use strict";iAe=Object.prototype,aAe=iAe.hasOwnProperty;s(sAe,"baseHas");SZ=sAe});function oAe(t,e){return t!=null&&nk(t,e,SZ)}var Ve,AZ=_(()=>{"use strict";_Z();N9();s(oAe,"has");Ve=oAe});function cAe(t){return typeof t=="string"||!ct(t)&&Fn(t)&&na(t)==lAe}var lAe,si,dk=_(()=>{"use strict";fu();Dn();ko();lAe="[object String]";s(cAe,"isString");si=cAe});function uAe(t,e){return bs(e,function(r){return t[r]})}var LZ,DZ=_(()=>{"use strict";kd();s(uAe,"baseValues");LZ=uAe});function hAe(t){return t==null?[]:LZ(t,kr(t))}var nr,W9=_(()=>{"use strict";DZ();oc();s(hAe,"values");nr=hAe});function dAe(t,e,r,n){t=Hn(t)?t:nr(t),r=r&&!n?sc(r):0;var i=t.length;return r<0&&(r=fAe(i+r,0)),si(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&im(t,e,r)>-1}var fAe,Rn,RZ=_(()=>{"use strict";L5();wo();dk();nm();W9();fAe=Math.max;s(dAe,"includes");Rn=dAe});function mAe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:sc(r);return i<0&&(i=pAe(n+i,0)),im(t,e,i)}var pAe,pk,MZ=_(()=>{"use strict";L5();nm();pAe=Math.max;s(mAe,"indexOf");pk=mAe});function bAe(t){if(t==null)return!0;if(Hn(t)&&(ct(t)||typeof t=="string"||typeof t.splice=="function"||ul(t)||Rh(t)||cl(t)))return!t.length;var e=Js(t);if(e==gAe||e==yAe)return!t.size;if(ec(t))return!am(t).length;for(var r in t)if(xAe.call(t,r))return!1;return!0}var gAe,yAe,vAe,xAe,Vt,mk=_(()=>{"use strict";R5();Td();$p();Dn();wo();Vp();zp();qy();gAe="[object Map]",yAe="[object Set]",vAe=Object.prototype,xAe=vAe.hasOwnProperty;s(bAe,"isEmpty");Vt=bAe});function wAe(t){return Fn(t)&&na(t)==kAe}var kAe,IZ,NZ=_(()=>{"use strict";fu();ko();kAe="[object RegExp]";s(wAe,"baseIsRegExp");IZ=wAe});var OZ,TAe,_o,PZ=_(()=>{"use strict";NZ();ud();Uy();OZ=Eo&&Eo.isRegExp,TAe=OZ?To(OZ):IZ,_o=TAe});function EAe(t){return t===void 0}var jt,BZ=_(()=>{"use strict";s(EAe,"isUndefined");jt=EAe});function CAe(t,e){return t{"use strict";s(CAe,"baseLt");gk=CAe});function SAe(t,e){var r={};return e=tn(e,3),mm(t,function(n,i,a){Jl(r,i,e(n,i,a))}),r}var Ed,FZ=_(()=>{"use strict";Np();sk();Ua();s(SAe,"mapValues");Ed=SAe});function _Ae(t,e,r){for(var n=-1,i=t.length;++n{"use strict";bd();s(_Ae,"baseExtremum");vm=_Ae});function AAe(t){return t&&t.length?vm(t,Wi,EZ):void 0}var ws,zZ=_(()=>{"use strict";yk();CZ();mu();s(AAe,"max");ws=AAe});function LAe(t){return t&&t.length?vm(t,Wi,gk):void 0}var pl,Y9=_(()=>{"use strict";yk();H9();mu();s(LAe,"min");pl=LAe});function DAe(t,e){return t&&t.length?vm(t,tn(e,2),gk):void 0}var Cd,$Z=_(()=>{"use strict";yk();Ua();H9();s(DAe,"minBy");Cd=DAe});function MAe(t){if(typeof t!="function")throw new TypeError(RAe);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var RAe,GZ,VZ=_(()=>{"use strict";RAe="Expected a function";s(MAe,"negate");GZ=MAe});function IAe(t,e,r,n){if(!on(t))return t;e=Fh(e,t);for(var i=-1,a=e.length,o=a-1,l=t;l!=null&&++i{"use strict";Up();hv();Hy();Ws();om();s(IAe,"baseSet");UZ=IAe});function NAe(t,e,r){for(var n=-1,i=e.length,a={};++n{"use strict";fv();qZ();hv();s(NAe,"basePickBy");vk=NAe});function OAe(t,e){if(t==null)return{};var r=bs(V5(t),function(n){return[n]});return e=tn(e),vk(t,r,function(n,i){return e(n,i[0])})}var Ts,WZ=_(()=>{"use strict";kd();Ua();X9();T9();s(OAe,"pickBy");Ts=OAe});function PAe(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}var HZ,YZ=_(()=>{"use strict";s(PAe,"baseSortBy");HZ=PAe});function BAe(t,e){if(t!==e){var r=t!==void 0,n=t===null,i=t===t,a=Zs(t),o=e!==void 0,l=e===null,u=e===e,h=Zs(e);if(!l&&!h&&!a&&t>e||a&&o&&u&&!l&&!h||n&&o&&u||!r&&u||!i)return 1;if(!n&&!a&&!h&&t{"use strict";bd();s(BAe,"compareAscending");XZ=BAe});function FAe(t,e,r){for(var n=-1,i=t.criteria,a=e.criteria,o=i.length,l=r.length;++n=l)return u;var h=r[n];return u*(h=="desc"?-1:1)}}return t.index-e.index}var KZ,QZ=_(()=>{"use strict";jZ();s(FAe,"compareMultiple");KZ=FAe});function zAe(t,e,r){e.length?e=bs(e,function(a){return ct(a)?function(o){return zh(o,a.length===1?a[0]:a)}:a}):e=[Wi];var n=-1;e=bs(e,To(tn));var i=fk(t,function(a,o,l){var u=bs(e,function(h){return h(a)});return{criteria:u,index:++n,value:a}});return HZ(i,function(a,o){return KZ(a,o,r)})}var ZZ,JZ=_(()=>{"use strict";kd();fv();Ua();$9();YZ();ud();QZ();mu();Dn();s(zAe,"baseOrderBy");ZZ=zAe});var $Ae,eJ,tJ=_(()=>{"use strict";P9();$Ae=ak("length"),eJ=$Ae});function ZAe(t){for(var e=rJ.lastIndex=0;rJ.test(t);)++e;return e}var nJ,GAe,VAe,UAe,qAe,WAe,HAe,j9,K9,YAe,iJ,aJ,sJ,XAe,oJ,lJ,jAe,KAe,QAe,rJ,cJ,uJ=_(()=>{"use strict";nJ="\\ud800-\\udfff",GAe="\\u0300-\\u036f",VAe="\\ufe20-\\ufe2f",UAe="\\u20d0-\\u20ff",qAe=GAe+VAe+UAe,WAe="\\ufe0e\\ufe0f",HAe="["+nJ+"]",j9="["+qAe+"]",K9="\\ud83c[\\udffb-\\udfff]",YAe="(?:"+j9+"|"+K9+")",iJ="[^"+nJ+"]",aJ="(?:\\ud83c[\\udde6-\\uddff]){2}",sJ="[\\ud800-\\udbff][\\udc00-\\udfff]",XAe="\\u200d",oJ=YAe+"?",lJ="["+WAe+"]?",jAe="(?:"+XAe+"(?:"+[iJ,aJ,sJ].join("|")+")"+lJ+oJ+")*",KAe=lJ+oJ+jAe,QAe="(?:"+[iJ+j9+"?",j9,aJ,sJ,HAe].join("|")+")",rJ=RegExp(K9+"(?="+K9+")|"+QAe+KAe,"g");s(ZAe,"unicodeSize");cJ=ZAe});function JAe(t){return kK(t)?cJ(t):eJ(t)}var hJ,fJ=_(()=>{"use strict";tJ();wK();uJ();s(JAe,"stringSize");hJ=JAe});function e9e(t,e){return vk(t,e,function(r,n){return ik(t,n)})}var dJ,pJ=_(()=>{"use strict";X9();O9();s(e9e,"basePick");dJ=e9e});var t9e,Sd,mJ=_(()=>{"use strict";pJ();bK();t9e=xK(function(t,e){return t==null?{}:dJ(t,e)}),Sd=t9e});function i9e(t,e,r,n){for(var i=-1,a=n9e(r9e((e-t)/(r||1)),0),o=Array(a);a--;)o[n?a:++i]=t,t+=r;return o}var r9e,n9e,gJ,yJ=_(()=>{"use strict";r9e=Math.ceil,n9e=Math.max;s(i9e,"baseRange");gJ=i9e});function a9e(t){return function(e,r,n){return n&&typeof n!="number"&&Hs(e,r,n)&&(r=n=void 0),e=rm(e),r===void 0?(r=e,e=0):r=rm(r),n=n===void 0?e{"use strict";yJ();fd();f9();s(a9e,"createRange");vJ=a9e});var s9e,Ao,bJ=_(()=>{"use strict";xJ();s9e=vJ(),Ao=s9e});function o9e(t,e,r,n,i){return i(t,function(a,o,l){r=n?(n=!1,a):e(r,a,o,l)}),r}var kJ,wJ=_(()=>{"use strict";s(o9e,"baseReduce");kJ=o9e});function l9e(t,e,r){var n=ct(t)?TK:kJ,i=arguments.length<3;return n(t,tn(e,4),r,i,ks)}var Or,Q9=_(()=>{"use strict";EK();Gh();Ua();wJ();Dn();s(l9e,"reduce");Or=l9e});function c9e(t,e){var r=ct(t)?um:hk;return r(t,GZ(tn(e,3)))}var qh,TJ=_(()=>{"use strict";B5();F9();Ua();Dn();VZ();s(c9e,"reject");qh=c9e});function f9e(t){if(t==null)return 0;if(Hn(t))return si(t)?hJ(t):t.length;var e=Js(t);return e==u9e||e==h9e?t.size:am(t).length}var u9e,h9e,Z9,EJ=_(()=>{"use strict";R5();Td();wo();dk();fJ();u9e="[object Map]",h9e="[object Set]";s(f9e,"size");Z9=f9e});function d9e(t,e){var r;return ks(t,function(n,i,a){return r=e(n,i,a),!r}),!!r}var CJ,SJ=_(()=>{"use strict";Gh();s(d9e,"baseSome");CJ=d9e});function p9e(t,e,r){var n=ct(t)?j5:CJ;return r&&Hs(t,e,r)&&(e=void 0),n(t,tn(e,3))}var pv,_J=_(()=>{"use strict";A9();Ua();SJ();Dn();fd();s(p9e,"some");pv=p9e});var m9e,hc,AJ=_(()=>{"use strict";cm();JZ();qp();fd();m9e=rc(function(t,e){if(t==null)return[];var r=e.length;return r>1&&Hs(t,e[0],e[1])?e=[]:r>2&&Hs(e[0],e[1],e[2])&&(e=[e[0]]),ZZ(t,cc(e,1),[])}),hc=m9e});var g9e,y9e,LJ,DJ=_(()=>{"use strict";E9();d9();Z5();g9e=1/0,y9e=$h&&1/pm(new $h([,-0]))[1]==g9e?function(t){return new $h(t)}:zn,LJ=y9e});function x9e(t,e,r){var n=-1,i=D5,a=t.length,o=!0,l=[],u=l;if(r)o=!1,i=lk;else if(a>=v9e){var h=e?null:LJ(t);if(h)return pm(h);o=!1,i=dm,u=new fm}else u=e?[]:l;e:for(;++n{"use strict";X5();g9();B9();K5();DJ();Z5();v9e=200;s(x9e,"baseUniq");xm=x9e});var b9e,J9,RJ=_(()=>{"use strict";cm();qp();xk();I3();b9e=rc(function(t){return xm(cc(t,1,cd,!0))}),J9=b9e});function k9e(t){return t&&t.length?xm(t):[]}var bm,MJ=_(()=>{"use strict";xk();s(k9e,"uniq");bm=k9e});function w9e(t,e){return t&&t.length?xm(t,tn(e,2)):[]}var IJ,NJ=_(()=>{"use strict";Ua();xk();s(w9e,"uniqBy");IJ=w9e});function E9e(t){var e=++T9e;return I5(t)+e}var T9e,_d,OJ=_(()=>{"use strict";y9();T9e=0;s(E9e,"uniqueId");_d=E9e});function C9e(t,e,r){for(var n=-1,i=t.length,a=e.length,o={};++n{"use strict";s(C9e,"baseZipObject");PJ=C9e});function S9e(t,e){return PJ(t||[],e||[],tc)}var bk,FJ=_(()=>{"use strict";Up();BJ();s(S9e,"zipObject");bk=S9e});var Tt=_(()=>{"use strict";lK();S9();fQ();dQ();tA();tZ();iZ();sZ();oZ();lZ();dZ();z9();vZ();bZ();G9();O5();uk();kZ();wZ();TZ();AZ();mu();RZ();MZ();Dn();mk();Oy();Ws();PZ();dk();BZ();oc();aZ();ym();FZ();zZ();iA();Y9();$Z();d9();JQ();mJ();WZ();bJ();Q9();TJ();EJ();_J();AJ();RJ();MJ();OJ();W9();FJ();});function $J(t,e){t[e]?t[e]++:t[e]=1}function GJ(t,e){--t[e]||delete t[e]}function mv(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var o=i;i=a,a=o}return i+zJ+a+zJ+(jt(n)?_9e:n)}function A9e(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var o=i;i=a,a=o}var l={v:i,w:a};return n&&(l.name=n),l}function eL(t,e){return mv(t,e.v,e.w,e.name)}var _9e,Ad,zJ,ir,kk=_(()=>{"use strict";Tt();_9e="\0",Ad="\0",zJ="",ir=class{static{s(this,"Graph")}constructor(e={}){this._isDirected=Ve(e,"directed")?e.directed:!0,this._isMultigraph=Ve(e,"multigraph")?e.multigraph:!1,this._isCompound=Ve(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=ps(void 0),this._defaultEdgeLabelFn=ps(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[Ad]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return fi(e)||(e=ps(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return kr(this._nodes)}sources(){var e=this;return Nr(this.nodes(),function(r){return Vt(e._in[r])})}sinks(){var e=this;return Nr(this.nodes(),function(r){return Vt(e._out[r])})}setNodes(e,r){var n=arguments,i=this;return be(e,function(a){n.length>1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Ve(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=Ad,this._children[e]={},this._children[Ad][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Ve(this._nodes,e)}removeNode(e){var r=this;if(Ve(this._nodes,e)){var n=s(function(i){r.removeEdge(r._edgeObjs[i])},"removeEdge");delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],be(this.children(e),function(i){r.setParent(i)}),delete this._children[e]),be(kr(this._in[e]),n),delete this._in[e],delete this._preds[e],be(kr(this._out[e]),n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(jt(r))r=Ad;else{r+="";for(var n=r;!jt(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==Ad)return r}}children(e){if(jt(e)&&(e=Ad),this._isCompound){var r=this._children[e];if(r)return kr(r)}else{if(e===Ad)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return kr(r)}successors(e){var r=this._sucs[e];if(r)return kr(r)}neighbors(e){var r=this.predecessors(e);if(r)return J9(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;be(this._nodes,function(o,l){e(l)&&r.setNode(l,o)}),be(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,n.edge(o))});var i={};function a(o){var l=n.parent(o);return l===void 0||r.hasNode(l)?(i[o]=l,l):l in i?i[l]:a(l)}return s(a,"findParent"),this._isCompound&&be(r.nodes(),function(o){r.setParent(o,a(o))}),r}setDefaultEdgeLabel(e){return fi(e)||(e=ps(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return nr(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return Or(e,function(a,o){return i.length>1?n.setEdge(a,o,r):n.setEdge(a,o),o}),this}setEdge(){var e,r,n,i,a=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(e=o.v,r=o.w,n=o.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=o,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,jt(n)||(n=""+n);var l=mv(this._isDirected,e,r,n);if(Ve(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!jt(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(e,r,n);var u=A9e(this._isDirected,e,r,n);return e=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,$J(this._preds[r],e),$J(this._sucs[e],r),this._in[r][l]=u,this._out[e][l]=u,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?eL(this._isDirected,arguments[0]):mv(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?eL(this._isDirected,arguments[0]):mv(this._isDirected,e,r,n);return Ve(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?eL(this._isDirected,arguments[0]):mv(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],GJ(this._preds[r],e),GJ(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=nr(n);return r?Nr(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=nr(n);return r?Nr(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}};ir.prototype._nodeCount=0;ir.prototype._edgeCount=0;s($J,"incrementOrInitEntry");s(GJ,"decrementOrRemoveEntry");s(mv,"edgeArgsToId");s(A9e,"edgeArgsToObj");s(eL,"edgeObjToId")});var la=_(()=>{"use strict";kk()});function VJ(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function L9e(t,e){if(t!=="_next"&&t!=="_prev")return e}var wk,UJ=_(()=>{"use strict";wk=class{static{s(this,"List")}constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return VJ(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&VJ(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,L9e)),n=n._prev;return"["+e.join(", ")+"]"}};s(VJ,"unlink");s(L9e,"filterOutLinks")});function qJ(t,e){if(t.nodeCount()<=1)return[];var r=M9e(t,e||D9e),n=R9e(r.graph,r.buckets,r.zeroIdx);return Ir(Ge(n,function(i){return t.outEdges(i.v,i.w)}))}function R9e(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],o;t.nodeCount();){for(;o=a.dequeue();)tL(t,e,r,o);for(;o=i.dequeue();)tL(t,e,r,o);if(t.nodeCount()){for(var l=e.length-2;l>0;--l)if(o=e[l].dequeue(),o){n=n.concat(tL(t,e,r,o,!0));break}}}return n}function tL(t,e,r,n,i){var a=i?[]:void 0;return be(t.inEdges(n.v),function(o){var l=t.edge(o),u=t.node(o.v);i&&a.push({v:o.v,w:o.w}),u.out-=l,rL(e,r,u)}),be(t.outEdges(n.v),function(o){var l=t.edge(o),u=o.w,h=t.node(u);h.in-=l,rL(e,r,h)}),t.removeNode(n.v),a}function M9e(t,e){var r=new ir,n=0,i=0;be(t.nodes(),function(l){r.setNode(l,{v:l,in:0,out:0})}),be(t.edges(),function(l){var u=r.edge(l.v,l.w)||0,h=e(l),f=u+h;r.setEdge(l.v,l.w,f),i=Math.max(i,r.node(l.v).out+=h),n=Math.max(n,r.node(l.w).in+=h)});var a=Ao(i+n+3).map(function(){return new wk}),o=n+1;return be(r.nodes(),function(l){rL(a,o,r.node(l))}),{graph:r,buckets:a,zeroIdx:o}}function rL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}var D9e,WJ=_(()=>{"use strict";Tt();la();UJ();D9e=ps(1);s(qJ,"greedyFAS");s(R9e,"doGreedyFAS");s(tL,"removeNode");s(M9e,"buildState");s(rL,"assignBucket")});function HJ(t){var e=t.graph().acyclicer==="greedy"?qJ(t,r(t)):I9e(t);be(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,_d("rev"))});function r(n){return function(i){return n.edge(i).weight}}s(r,"weightFn")}function I9e(t){var e=[],r={},n={};function i(a){Ve(n,a)||(n[a]=!0,r[a]=!0,be(t.outEdges(a),function(o){Ve(r,o.w)?e.push(o):i(o.w)}),delete r[a])}return s(i,"dfs"),be(t.nodes(),i),e}function YJ(t){be(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}var nL=_(()=>{"use strict";Tt();WJ();s(HJ,"run");s(I9e,"dfsFAS");s(YJ,"undo")});function fc(t,e,r,n){var i;do i=_d(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function jJ(t){var e=new ir().setGraph(t.graph());return be(t.nodes(),function(r){e.setNode(r,t.node(r))}),be(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Tk(t){var e=new ir({multigraph:t.isMultigraph()}).setGraph(t.graph());return be(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),be(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function iL(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,o=t.width/2,l=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,h;return Math.abs(a)*o>Math.abs(i)*l?(a<0&&(l=-l),u=l*i/a,h=l):(i<0&&(o=-o),u=o,h=o*a/i),{x:r+u,y:n+h}}function Wh(t){var e=Ge(Ao(sL(t)+1),function(){return[]});return be(t.nodes(),function(r){var n=t.node(r),i=n.rank;jt(i)||(e[i][n.order]=r)}),e}function KJ(t){var e=pl(Ge(t.nodes(),function(r){return t.node(r).rank}));be(t.nodes(),function(r){var n=t.node(r);Ve(n,"rank")&&(n.rank-=e)})}function QJ(t){var e=pl(Ge(t.nodes(),function(a){return t.node(a).rank})),r=[];be(t.nodes(),function(a){var o=t.node(a).rank-e;r[o]||(r[o]=[]),r[o].push(a)});var n=0,i=t.graph().nodeRankFactor;be(r,function(a,o){jt(a)&&o%i!==0?--n:n&&be(a,function(l){t.node(l).rank+=n})})}function aL(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),fc(t,"border",i,e)}function sL(t){return ws(Ge(t.nodes(),function(e){var r=t.node(e).rank;if(!jt(r))return r}))}function ZJ(t,e){var r={lhs:[],rhs:[]};return be(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function JJ(t,e){var r=ok();try{return e()}finally{console.log(t+" time: "+(ok()-r)+"ms")}}function eee(t,e){return e()}var dc=_(()=>{"use strict";Tt();la();s(fc,"addDummyNode");s(jJ,"simplify");s(Tk,"asNonCompoundGraph");s(iL,"intersectRect");s(Wh,"buildLayerMatrix");s(KJ,"normalizeRanks");s(QJ,"removeEmptyRanks");s(aL,"addBorderNode");s(sL,"maxRank");s(ZJ,"partition");s(JJ,"time");s(eee,"notime")});function ree(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&be(n,e),Ve(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;a{"use strict";Tt();dc();s(ree,"addBorderSegments");s(tee,"addBorderNode")});function aee(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&oee(t)}function see(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&N9e(t),(e==="lr"||e==="rl")&&(O9e(t),oee(t))}function oee(t){be(t.nodes(),function(e){iee(t.node(e))}),be(t.edges(),function(e){iee(t.edge(e))})}function iee(t){var e=t.width;t.width=t.height,t.height=e}function N9e(t){be(t.nodes(),function(e){oL(t.node(e))}),be(t.edges(),function(e){var r=t.edge(e);be(r.points,oL),Ve(r,"y")&&oL(r)})}function oL(t){t.y=-t.y}function O9e(t){be(t.nodes(),function(e){lL(t.node(e))}),be(t.edges(),function(e){var r=t.edge(e);be(r.points,lL),Ve(r,"x")&&lL(r)})}function lL(t){var e=t.x;t.x=t.y,t.y=e}var lee=_(()=>{"use strict";Tt();s(aee,"adjust");s(see,"undo");s(oee,"swapWidthHeight");s(iee,"swapWidthHeightOne");s(N9e,"reverseY");s(oL,"reverseYOne");s(O9e,"swapXY");s(lL,"swapXYOne")});function cee(t){t.graph().dummyChains=[],be(t.edges(),function(e){B9e(t,e)})}function B9e(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,o=e.name,l=t.edge(e),u=l.labelRank;if(a!==n+1){t.removeEdge(e);var h,f,d;for(d=0,++n;n{"use strict";Tt();dc();s(cee,"run");s(B9e,"normalizeEdge");s(uee,"undo")});function gv(t){var e={};function r(n){var i=t.node(n);if(Ve(e,n))return i.rank;e[n]=!0;var a=pl(Ge(t.outEdges(n),function(o){return r(o.w)-t.edge(o).minlen}));return(a===Number.POSITIVE_INFINITY||a===void 0||a===null)&&(a=0),i.rank=a}s(r,"dfs"),be(t.sources(),r)}function Ld(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var Ek=_(()=>{"use strict";Tt();s(gv,"longestPath");s(Ld,"slack")});function Ck(t){var e=new ir({directed:!1}),r=t.nodes()[0],n=t.nodeCount();e.setNode(r,{});for(var i,a;F9e(e,t){"use strict";Tt();la();Ek();s(Ck,"feasibleTree");s(F9e,"tightTree");s(z9e,"findMinSlackEdge");s($9e,"shiftRanks")});var fee=_(()=>{"use strict"});var hL=_(()=>{"use strict"});var sPt,fL=_(()=>{"use strict";Tt();hL();sPt=ps(1)});var dee=_(()=>{"use strict";fL()});var dL=_(()=>{"use strict"});var pee=_(()=>{"use strict";dL()});var yPt,mee=_(()=>{"use strict";Tt();yPt=ps(1)});function pL(t){var e={},r={},n=[];function i(a){if(Ve(r,a))throw new yv;Ve(e,a)||(r[a]=!0,e[a]=!0,be(t.predecessors(a),i),delete r[a],n.push(a))}if(s(i,"visit"),be(t.sinks(),i),Z9(e)!==t.nodeCount())throw new yv;return n}function yv(){}var mL=_(()=>{"use strict";Tt();pL.CycleException=yv;s(pL,"topsort");s(yv,"CycleException");yv.prototype=new Error});var gee=_(()=>{"use strict";mL()});function Sk(t,e,r){ct(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],a={};return be(e,function(o){if(!t.hasNode(o))throw new Error("Graph does not have node: "+o);yee(t,o,r==="post",a,n,i)}),i}function yee(t,e,r,n,i,a){Ve(n,e)||(n[e]=!0,r||a.push(e),be(i(e),function(o){yee(t,o,r,n,i,a)}),r&&a.push(e))}var gL=_(()=>{"use strict";Tt();s(Sk,"dfs");s(yee,"doDfs")});function yL(t,e){return Sk(t,e,"post")}var vee=_(()=>{"use strict";gL();s(yL,"postorder")});function vL(t,e){return Sk(t,e,"pre")}var xee=_(()=>{"use strict";gL();s(vL,"preorder")});var bee=_(()=>{"use strict";hL();kk()});var kee=_(()=>{"use strict";fee();fL();dee();pee();mee();gee();vee();xee();bee();dL();mL()});function Yh(t){t=jJ(t),gv(t);var e=Ck(t);bL(e),xL(e,t);for(var r,n;r=Cee(e);)n=See(e,t,r),_ee(e,t,r,n)}function xL(t,e){var r=yL(t,t.nodes());r=r.slice(0,r.length-1),be(r,function(n){W9e(t,e,n)})}function W9e(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=Tee(t,e,r)}function Tee(t,e,r){var n=t.node(r),i=n.parent,a=!0,o=e.edge(r,i),l=0;return o||(a=!1,o=e.edge(i,r)),l=o.weight,be(e.nodeEdges(r),function(u){var h=u.v===r,f=h?u.w:u.v;if(f!==i){var d=h===a,p=e.edge(u).weight;if(l+=d?p:-p,Y9e(t,r,f)){var m=t.edge(r,f).cutvalue;l+=d?-m:m}}}),l}function bL(t,e){arguments.length<2&&(e=t.nodes()[0]),Eee(t,{},1,e)}function Eee(t,e,r,n,i){var a=r,o=t.node(n);return e[n]=!0,be(t.neighbors(n),function(l){Ve(e,l)||(r=Eee(t,e,r,l,n))}),o.low=a,o.lim=r++,i?o.parent=i:delete o.parent,r}function Cee(t){return qa(t.edges(),function(e){return t.edge(e).cutvalue<0})}function See(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var a=t.node(n),o=t.node(i),l=a,u=!1;a.lim>o.lim&&(l=o,u=!0);var h=Nr(e.edges(),function(f){return u===wee(t,t.node(f.v),l)&&u!==wee(t,t.node(f.w),l)});return Cd(h,function(f){return Ld(e,f)})}function _ee(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),bL(t),xL(t,e),H9e(t,e)}function H9e(t,e){var r=qa(t.nodes(),function(i){return!e.node(i).parent}),n=vL(t,r);n=n.slice(1),be(n,function(i){var a=t.node(i).parent,o=e.edge(i,a),l=!1;o||(o=e.edge(a,i),l=!0),e.node(i).rank=e.node(a).rank+(l?o.minlen:-o.minlen)})}function Y9e(t,e,r){return t.hasEdge(e,r)}function wee(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var Aee=_(()=>{"use strict";Tt();kee();dc();uL();Ek();Yh.initLowLimValues=bL;Yh.initCutValues=xL;Yh.calcCutValue=Tee;Yh.leaveEdge=Cee;Yh.enterEdge=See;Yh.exchangeEdges=_ee;s(Yh,"networkSimplex");s(xL,"initCutValues");s(W9e,"assignCutValue");s(Tee,"calcCutValue");s(bL,"initLowLimValues");s(Eee,"dfsAssignLowLim");s(Cee,"leaveEdge");s(See,"enterEdge");s(_ee,"exchangeEdges");s(H9e,"updateRanks");s(Y9e,"isTreeEdge");s(wee,"isDescendant")});function kL(t){switch(t.graph().ranker){case"network-simplex":Lee(t);break;case"tight-tree":j9e(t);break;case"longest-path":X9e(t);break;default:Lee(t)}}function j9e(t){gv(t),Ck(t)}function Lee(t){Yh(t)}var X9e,wL=_(()=>{"use strict";uL();Aee();Ek();s(kL,"rank");X9e=gv;s(j9e,"tightTreeRanker");s(Lee,"networkSimplexRanker")});function Dee(t){var e=fc(t,"root",{},"_root"),r=K9e(t),n=ws(nr(r))-1,i=2*n+1;t.graph().nestingRoot=e,be(t.edges(),function(o){t.edge(o).minlen*=i});var a=Q9e(t)+1;be(t.children(),function(o){Ree(t,e,i,a,n,r,o)}),t.graph().nodeRankFactor=i}function Ree(t,e,r,n,i,a,o){var l=t.children(o);if(!l.length){o!==e&&t.setEdge(e,o,{weight:0,minlen:r});return}var u=aL(t,"_bt"),h=aL(t,"_bb"),f=t.node(o);t.setParent(u,o),f.borderTop=u,t.setParent(h,o),f.borderBottom=h,be(l,function(d){Ree(t,e,r,n,i,a,d);var p=t.node(d),m=p.borderTop?p.borderTop:d,g=p.borderBottom?p.borderBottom:d,y=p.borderTop?n:2*n,v=m!==g?1:i-a[o]+1;t.setEdge(u,m,{weight:y,minlen:v,nestingEdge:!0}),t.setEdge(g,h,{weight:y,minlen:v,nestingEdge:!0})}),t.parent(o)||t.setEdge(e,u,{weight:0,minlen:i+a[o]})}function K9e(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&be(a,function(o){r(o,i+1)}),e[n]=i}return s(r,"dfs"),be(t.children(),function(n){r(n,1)}),e}function Q9e(t){return Or(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function Mee(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,be(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}var Iee=_(()=>{"use strict";Tt();dc();s(Dee,"run");s(Ree,"dfs");s(K9e,"treeDepths");s(Q9e,"sumWeights");s(Mee,"cleanup")});function Nee(t,e,r){var n={},i;be(r,function(a){for(var o=t.parent(a),l,u;o;){if(l=t.parent(o),l?(u=n[l],n[l]=o):(u=i,i=o),u&&u!==o){e.setEdge(u,o);return}o=l}})}var Oee=_(()=>{"use strict";Tt();s(Nee,"addSubgraphConstraints")});function Pee(t,e,r){var n=J9e(t),i=new ir({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return be(t.nodes(),function(a){var o=t.node(a),l=t.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(i.setNode(a),i.setParent(a,l||n),be(t[r](a),function(u){var h=u.v===a?u.w:u.v,f=i.edge(h,a),d=jt(f)?0:f.weight;i.setEdge(h,a,{weight:t.edge(u).weight+d})}),Ve(o,"minRank")&&i.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),i}function J9e(t){for(var e;t.hasNode(e=_d("_root")););return e}var Bee=_(()=>{"use strict";Tt();la();s(Pee,"buildLayerGraph");s(J9e,"createRootNode")});function Fee(t,e){for(var r=0,n=1;n0;)f%2&&(d+=l[f+1]),f=f-1>>1,l[f]+=h.weight;u+=h.weight*d})),u}var zee=_(()=>{"use strict";Tt();s(Fee,"crossCount");s(eLe,"twoLayerCrossCount")});function $ee(t){var e={},r=Nr(t.nodes(),function(l){return!t.children(l).length}),n=ws(Ge(r,function(l){return t.node(l).rank})),i=Ge(Ao(n+1),function(){return[]});function a(l){if(!Ve(e,l)){e[l]=!0;var u=t.node(l);i[u.rank].push(l),be(t.successors(l),a)}}s(a,"dfs");var o=hc(r,function(l){return t.node(l).rank});return be(o,a),i}var Gee=_(()=>{"use strict";Tt();s($ee,"initOrder")});function Vee(t,e){return Ge(e,function(r){var n=t.inEdges(r);if(n.length){var i=Or(n,function(a,o){var l=t.edge(o),u=t.node(o.v);return{sum:a.sum+l.weight*u.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}var Uee=_(()=>{"use strict";Tt();s(Vee,"barycenter")});function qee(t,e){var r={};be(t,function(i,a){var o=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};jt(i.barycenter)||(o.barycenter=i.barycenter,o.weight=i.weight)}),be(e.edges(),function(i){var a=r[i.v],o=r[i.w];!jt(a)&&!jt(o)&&(o.indegree++,a.out.push(r[i.w]))});var n=Nr(r,function(i){return!i.indegree});return tLe(n)}function tLe(t){var e=[];function r(a){return function(o){o.merged||(jt(o.barycenter)||jt(a.barycenter)||o.barycenter>=a.barycenter)&&rLe(a,o)}}s(r,"handleIn");function n(a){return function(o){o.in.push(a),--o.indegree===0&&t.push(o)}}for(s(n,"handleOut");t.length;){var i=t.pop();e.push(i),be(i.in.reverse(),r(i)),be(i.out,n(i))}return Ge(Nr(e,function(a){return!a.merged}),function(a){return Sd(a,["vs","i","barycenter","weight"])})}function rLe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}var Wee=_(()=>{"use strict";Tt();s(qee,"resolveConflicts");s(tLe,"doResolveConflicts");s(rLe,"mergeEntries")});function Yee(t,e){var r=ZJ(t,function(f){return Ve(f,"barycenter")}),n=r.lhs,i=hc(r.rhs,function(f){return-f.i}),a=[],o=0,l=0,u=0;n.sort(nLe(!!e)),u=Hee(a,i,u),be(n,function(f){u+=f.vs.length,a.push(f.vs),o+=f.barycenter*f.weight,l+=f.weight,u=Hee(a,i,u)});var h={vs:Ir(a)};return l&&(h.barycenter=o/l,h.weight=l),h}function Hee(t,e,r){for(var n;e.length&&(n=sa(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function nLe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var Xee=_(()=>{"use strict";Tt();dc();s(Yee,"sort");s(Hee,"consumeUnsortable");s(nLe,"compareWithBias")});function TL(t,e,r,n){var i=t.children(e),a=t.node(e),o=a?a.borderLeft:void 0,l=a?a.borderRight:void 0,u={};o&&(i=Nr(i,function(g){return g!==o&&g!==l}));var h=Vee(t,i);be(h,function(g){if(t.children(g.v).length){var y=TL(t,g.v,r,n);u[g.v]=y,Ve(y,"barycenter")&&aLe(g,y)}});var f=qee(h,r);iLe(f,u);var d=Yee(f,n);if(o&&(d.vs=Ir([o,d.vs,l]),t.predecessors(o).length)){var p=t.node(t.predecessors(o)[0]),m=t.node(t.predecessors(l)[0]);Ve(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function iLe(t,e){be(t,function(r){r.vs=Ir(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function aLe(t,e){jt(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var jee=_(()=>{"use strict";Tt();Uee();Wee();Xee();s(TL,"sortSubgraph");s(iLe,"expandSubgraphs");s(aLe,"mergeBarycenters")});function Zee(t){var e=sL(t),r=Kee(t,Ao(1,e+1),"inEdges"),n=Kee(t,Ao(e-1,-1,-1),"outEdges"),i=$ee(t);Qee(t,i);for(var a=Number.POSITIVE_INFINITY,o,l=0,u=0;u<4;++l,++u){sLe(l%2?r:n,l%4>=2),i=Wh(t);var h=Fee(t,i);h{"use strict";Tt();la();dc();Oee();Bee();zee();Gee();jee();s(Zee,"order");s(Kee,"buildLayerGraphs");s(sLe,"sweepLayerGraphs");s(Qee,"assignOrder")});function ete(t){var e=lLe(t);be(t.graph().dummyChains,function(r){for(var n=t.node(r),i=n.edgeObj,a=oLe(t,e,i.v,i.w),o=a.path,l=a.lca,u=0,h=o[u],f=!0;r!==i.w;){if(n=t.node(r),f){for(;(h=o[u])!==l&&t.node(h).maxRanko||l>e[u].lim));for(h=u,u=n;(u=t.parent(u))!==h;)a.push(u);return{path:i.concat(a.reverse()),lca:h}}function lLe(t){var e={},r=0;function n(i){var a=r;be(t.children(i),n),e[i]={low:a,lim:r++}}return s(n,"dfs"),be(t.children(),n),e}var tte=_(()=>{"use strict";Tt();s(ete,"parentDummyChains");s(oLe,"findPath");s(lLe,"postorder")});function cLe(t,e){var r={};function n(i,a){var o=0,l=0,u=i.length,h=sa(a);return be(a,function(f,d){var p=hLe(t,f),m=p?t.node(p).order:u;(p||f===h)&&(be(a.slice(l,d+1),function(g){be(t.predecessors(g),function(y){var v=t.node(y),x=v.order;(xh)&&rte(r,p,f)})})}s(n,"scan");function i(a,o){var l=-1,u,h=0;return be(o,function(f,d){if(t.node(f).dummy==="border"){var p=t.predecessors(f);p.length&&(u=t.node(p[0]).order,n(o,h,d,l,u),h=d,l=u)}n(o,h,o.length,u,a.length)}),o}return s(i,"visitLayer"),Or(e,i),r}function hLe(t,e){if(t.node(e).dummy)return qa(t.predecessors(e),function(r){return t.node(r).dummy})}function rte(t,e,r){if(e>r){var n=e;e=r,r=n}var i=t[e];i||(t[e]=i={}),i[r]=!0}function fLe(t,e,r){if(e>r){var n=e;e=r,r=n}return Ve(t[e],r)}function dLe(t,e,r,n){var i={},a={},o={};return be(e,function(l){be(l,function(u,h){i[u]=u,a[u]=u,o[u]=h})}),be(e,function(l){var u=-1;be(l,function(h){var f=n(h);if(f.length){f=hc(f,function(y){return o[y]});for(var d=(f.length-1)/2,p=Math.floor(d),m=Math.ceil(d);p<=m;++p){var g=f[p];a[h]===h&&u{"use strict";Tt();la();dc();s(cLe,"findType1Conflicts");s(uLe,"findType2Conflicts");s(hLe,"findOtherInnerSegmentNode");s(rte,"addConflict");s(fLe,"hasConflict");s(dLe,"verticalAlignment");s(pLe,"horizontalCompaction");s(mLe,"buildBlockGraph");s(gLe,"findSmallestWidthAlignment");s(yLe,"alignCoordinates");s(vLe,"balance");s(nte,"positionX");s(xLe,"sep");s(bLe,"width")});function ate(t){t=Tk(t),kLe(t),U9(nte(t),function(e,r){t.node(r).x=e})}function kLe(t){var e=Wh(t),r=t.graph().ranksep,n=0;be(e,function(i){var a=ws(Ge(i,function(o){return t.node(o).height}));be(i,function(o){t.node(o).y=n+a/2}),n+=a+r})}var ste=_(()=>{"use strict";Tt();dc();ite();s(ate,"position");s(kLe,"positionY")});function eo(t,e){var r=e&&e.debugTiming?JJ:eee;r("layout",function(){var n=r(" buildLayoutGraph",function(){return MLe(t)});r(" runLayout",function(){wLe(n,r)}),r(" updateInputGraph",function(){TLe(t,n)})})}function wLe(t,e){e(" makeSpaceForEdgeLabels",function(){ILe(t)}),e(" removeSelfEdges",function(){VLe(t)}),e(" acyclic",function(){HJ(t)}),e(" nestingGraph.run",function(){Dee(t)}),e(" rank",function(){kL(Tk(t))}),e(" injectEdgeLabelProxies",function(){NLe(t)}),e(" removeEmptyRanks",function(){QJ(t)}),e(" nestingGraph.cleanup",function(){Mee(t)}),e(" normalizeRanks",function(){KJ(t)}),e(" assignRankMinMax",function(){OLe(t)}),e(" removeEdgeLabelProxies",function(){PLe(t)}),e(" normalize.run",function(){cee(t)}),e(" parentDummyChains",function(){ete(t)}),e(" addBorderSegments",function(){ree(t)}),e(" order",function(){Zee(t)}),e(" insertSelfEdges",function(){ULe(t)}),e(" adjustCoordinateSystem",function(){aee(t)}),e(" position",function(){ate(t)}),e(" positionSelfEdges",function(){qLe(t)}),e(" removeBorderNodes",function(){GLe(t)}),e(" normalize.undo",function(){uee(t)}),e(" fixupEdgeLabelCoords",function(){zLe(t)}),e(" undoCoordinateSystem",function(){see(t)}),e(" translateGraph",function(){BLe(t)}),e(" assignNodeIntersects",function(){FLe(t)}),e(" reversePoints",function(){$Le(t)}),e(" acyclic.undo",function(){YJ(t)})}function TLe(t,e){be(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),be(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Ve(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function MLe(t){var e=new ir({multigraph:!0,compound:!0}),r=CL(t.graph());return e.setGraph(Nh({},CLe,EL(r,ELe),Sd(r,SLe))),be(t.nodes(),function(n){var i=CL(t.node(n));e.setNode(n,Vh(EL(i,_Le),ALe)),e.setParent(n,t.parent(n))}),be(t.edges(),function(n){var i=CL(t.edge(n));e.setEdge(n,Nh({},DLe,EL(i,LLe),Sd(i,RLe)))}),e}function ILe(t){var e=t.graph();e.ranksep/=2,be(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function NLe(t){be(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};fc(t,"edge-proxy",a,"_ep")}})}function OLe(t){var e=0;be(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=ws(e,n.maxRank))}),t.graph().maxRank=e}function PLe(t){be(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function BLe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),o=a.marginx||0,l=a.marginy||0;function u(h){var f=h.x,d=h.y,p=h.width,m=h.height;e=Math.min(e,f-p/2),r=Math.max(r,f+p/2),n=Math.min(n,d-m/2),i=Math.max(i,d+m/2)}s(u,"getExtremes"),be(t.nodes(),function(h){u(t.node(h))}),be(t.edges(),function(h){var f=t.edge(h);Ve(f,"x")&&u(f)}),e-=o,n-=l,be(t.nodes(),function(h){var f=t.node(h);f.x-=e,f.y-=n}),be(t.edges(),function(h){var f=t.edge(h);be(f.points,function(d){d.x-=e,d.y-=n}),Ve(f,"x")&&(f.x-=e),Ve(f,"y")&&(f.y-=n)}),a.width=r-e+o,a.height=i-n+l}function FLe(t){be(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,o;r.points?(a=r.points[0],o=r.points[r.points.length-1]):(r.points=[],a=i,o=n),r.points.unshift(iL(n,a)),r.points.push(iL(i,o))})}function zLe(t){be(t.edges(),function(e){var r=t.edge(e);if(Ve(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function $Le(t){be(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function GLe(t){be(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(sa(r.borderLeft)),o=t.node(sa(r.borderRight));r.width=Math.abs(o.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),be(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function VLe(t){be(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function ULe(t){var e=Wh(t);be(e,function(r){var n=0;be(r,function(i,a){var o=t.node(i);o.order=a+n,be(o.selfEdges,function(l){fc(t,"selfedge",{width:l.label.width,height:l.label.height,rank:o.rank,order:a+ ++n,e:l.e,label:l.label},"_se")}),delete o.selfEdges})})}function qLe(t){be(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,o=r.x-i,l=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*o/3,y:a-l},{x:i+5*o/6,y:a-l},{x:i+o,y:a},{x:i+5*o/6,y:a+l},{x:i+2*o/3,y:a+l}],r.label.x=r.x,r.label.y=r.y}})}function EL(t,e){return Ed(Sd(t,e),Number)}function CL(t){var e={};return be(t,function(r,n){e[n.toLowerCase()]=r}),e}var ELe,CLe,SLe,_Le,ALe,LLe,DLe,RLe,ote=_(()=>{"use strict";Tt();la();nee();lee();nL();cL();wL();Iee();Jee();tte();ste();dc();s(eo,"layout");s(wLe,"runLayout");s(TLe,"updateInputGraph");ELe=["nodesep","edgesep","ranksep","marginx","marginy"],CLe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},SLe=["acyclicer","ranker","rankdir","align"],_Le=["width","height"],ALe={width:0,height:0},LLe=["minlen","weight","width","height","labeloffset"],DLe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},RLe=["labelpos"];s(MLe,"buildLayoutGraph");s(ILe,"makeSpaceForEdgeLabels");s(NLe,"injectEdgeLabelProxies");s(OLe,"assignRankMinMax");s(PLe,"removeEdgeLabelProxies");s(BLe,"translateGraph");s(FLe,"assignNodeIntersects");s(zLe,"fixupEdgeLabelCoords");s($Le,"reversePointsForReversedEdges");s(GLe,"removeBorderNodes");s(VLe,"removeSelfEdges");s(ULe,"insertSelfEdges");s(qLe,"positionSelfEdges");s(EL,"selectNumberAttrs");s(CL,"canonicalize")});var Dd=_(()=>{"use strict";nL();ote();cL();wL()});function Mn(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:WLe(t),edges:HLe(t)};return jt(t.graph())||(e.value=Hr(t.graph())),e}function WLe(t){return Ge(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return jt(r)||(i.value=r),jt(n)||(i.parent=n),i})}function HLe(t){return Ge(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return jt(e.name)||(n.name=e.name),jt(r)||(n.value=r),n})}var vv=_(()=>{"use strict";Tt();kk();s(Mn,"write");s(WLe,"writeNodes");s(HLe,"writeEdges")});var Yt,Rd,lte,cte,Lk,YLe,ute,hte,XLe,km,Ak,fte,dte,pte,mte,gte=_(()=>{"use strict";it();la();vv();Yt=new Map,Rd=new Map,lte=new Map,cte=s(()=>{Rd.clear(),lte.clear(),Yt.clear()},"clear"),Lk=s((t,e)=>{let r=Rd.get(e)||[];return V.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),YLe=s((t,e)=>{let r=Rd.get(e)||[];return V.info("Descendants of ",e," is ",r),V.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||Lk(t.v,e)||Lk(t.w,e)||r.includes(t.w):(V.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),ute=s((t,e,r,n)=>{V.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),V.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)ute(a,e,r,n);else{let o=e.node(a);V.info("cp ",a," to ",n," with parent ",t),r.setNode(a,o),n!==e.parent(a)&&(V.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(V.debug("Setting parent",a,t),r.setParent(a,t)):(V.info("In copy ",t,"root",n,"data",e.node(t),n),V.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);V.debug("Copying Edges",l),l.forEach(u=>{V.info("Edge",u);let h=e.edge(u.v,u.w,u.name);V.info("Edge data",h,n);try{YLe(u,n)?(V.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),V.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):V.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){V.error(f)}})}V.debug("Removing node",a),e.removeNode(a)})},"copy"),hte=s((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)lte.set(i,t),n=[...n,...hte(i,e)];return n},"extractDescendants"),XLe=s((t,e,r)=>{let n=t.edges().filter(u=>u.v===e||u.w===e),i=t.edges().filter(u=>u.v===r||u.w===r),a=n.map(u=>({v:u.v===e?r:u.v,w:u.w===e?e:u.w})),o=i.map(u=>({v:u.v,w:u.w}));return a.filter(u=>o.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),km=s((t,e,r)=>{let n=e.children(t);if(V.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(let a of n){let o=km(a,e,r),l=XLe(e,r,o);if(o)if(l.length>0)i=o;else return o}return i},"findNonClusterChild"),Ak=s(t=>!Yt.has(t)||!Yt.get(t).externalConnections?t:Yt.has(t)?Yt.get(t).id:t,"getAnchorId"),fte=s((t,e)=>{if(!t||e>10){V.debug("Opting out, no graph ");return}else V.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(V.warn("Cluster identified",r," Replacement id in edges: ",km(r,t,r)),Rd.set(r,hte(r,t)),Yt.set(r,{id:km(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(V.debug("Cluster identified",r,Rd),i.forEach(a=>{let o=Lk(a.v,r),l=Lk(a.w,r);o^l&&(V.warn("Edge: ",a," leaves cluster ",r),V.warn("Descendants of XXX ",r,": ",Rd.get(r)),Yt.get(r).externalConnections=!0)})):V.debug("Not a cluster ",r,Rd)});for(let r of Yt.keys()){let n=Yt.get(r).id,i=t.parent(n);i!==r&&Yt.has(i)&&!Yt.get(i).externalConnections&&(Yt.get(r).id=i)}t.edges().forEach(function(r){let n=t.edge(r);V.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),V.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(V.warn("Fix XXX",Yt,"ids:",r.v,r.w,"Translating: ",Yt.get(r.v)," --- ",Yt.get(r.w)),Yt.get(r.v)&&Yt.get(r.w)&&Yt.get(r.v)===Yt.get(r.w)){V.warn("Fixing and trying link to self - removing XXX",r.v,r.w,r.name),V.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=Ak(r.v),a=Ak(r.w),t.removeEdge(r.v,r.w,r.name);let o=r.w+"---"+r.v+"---1",l=r.w+"---"+r.v+"---2";t.setNode(o,{domId:o,id:o,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),t.setNode(l,{domId:l,id:l,labelStyle:"",padding:0,shape:"labelRect",style:"",width:10,height:10});let u=structuredClone(n),h=structuredClone(n),f=structuredClone(n);u.label="",u.arrowTypeEnd="none",u.id=r.name+"-cyclic-special-1",h.arrowTypeEnd="none",h.id=r.name+"-cyclic-special-mid",f.label="",u.fromCluster=r.v,f.toCluster=r.v,f.id=r.name+"-cyclic-special-2",t.setEdge(i,o,u,r.name+"-cyclic-special-0"),t.setEdge(o,l,h,r.name+"-cyclic-special-1"),t.setEdge(l,a,f,r.name+"-cyclic-special-2")}else if(Yt.get(r.v)||Yt.get(r.w)){if(V.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=Ak(r.v),a=Ak(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let o=t.parent(i);Yt.get(o).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let o=t.parent(a);Yt.get(o).externalConnections=!0,n.toCluster=r.w}V.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),V.warn("Adjusted Graph",Mn(t)),dte(t,0),V.trace(Yt)},"adjustClustersAndEdges"),dte=s((t,e)=>{if(V.warn("extractor - ",e,Mn(t),t.children("D")),e>10){V.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){V.debug("Done, no node has children",t.nodes());return}V.debug("Nodes = ",r,e);for(let i of r)if(V.debug("Extracting node",i,Yt,Yt.has(i)&&!Yt.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Yt.has(i))V.debug("Not a cluster",i,e);else if(!Yt.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){V.warn("Cluster without external connections, without a parent and with children",i,e);let o=t.graph().rankdir==="TB"?"LR":"TB";Yt.get(i)?.clusterData?.dir&&(o=Yt.get(i).clusterData.dir,V.warn("Fixing dir",Yt.get(i).clusterData.dir,o));let l=new ir({multigraph:!0,compound:!0}).setGraph({rankdir:o,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});V.warn("Old graph before copy",Mn(t)),ute(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Yt.get(i).clusterData,label:Yt.get(i).label,graph:l}),V.warn("New graph after copy node: (",i,")",Mn(l)),V.debug("Old graph after copy",Mn(t))}else V.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Yt.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),V.debug(Yt);r=t.nodes(),V.warn("New list of nodes",r);for(let i of r){let a=t.node(i);V.warn(" Now next level",i,a),a.clusterNode&&dte(a.graph,e+1)}},"extractor"),pte=s((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{let i=t.children(n),a=pte(t,i);r=[...r,...a]}),r},"sorter"),mte=s(t=>pte(t,t.children()),"sortNodesByHierarchy")});var vte={};ur(vte,{render:()=>jLe});var yte,jLe,xte=_(()=>{"use strict";Dd();vv();la();o9();Xn();gte();h9();i9();s9();it();gd();gt();yte=s(async(t,e,r,n,i,a)=>{V.info("Graph in recursive render: XXX",Mn(e),i);let o=e.graph().rankdir;V.trace("Dir in recursive render - dir:",o);let l=t.insert("g").attr("class","root");e.nodes()?V.info("Recursive render XXX",e.nodes()):V.info("No nodes found for",e),e.edges().length>0&&V.info("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let x=JSON.parse(JSON.stringify(i.clusterData));V.trace(`Setting data for parent cluster XXX + Node.id = `,y,` + data=`,x.height,` +Parent cluster`,i.height),e.setNode(i.id,x),e.parent(y)||(V.trace("Setting parent",y,i.id),e.setParent(y,i.id,x))}if(V.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){V.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:x,nodesep:b}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:x+25,nodesep:b});let k=await yte(d,v.graph,r,n,e.node(y),a),A=k.elem;er(v,A),v.diff=k.diff||0,V.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),Fj(A,v)}else e.children(y).length>0?(V.info("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),V.info(km(v.id,e)),Yt.set(v.id,{id:km(v.id,e),node:v})):(V.trace("Node - the non recursive path XAX",y,v.id,v),await C5(d,e.node(y),o))})),await s(async()=>{let y=e.edges().map(async function(v){let x=e.edge(v.v,v.w,v.name);V.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),V.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),V.info("Fix",Yt,"ids:",v.v,v.w,"Translating: ",Yt.get(v.v),Yt.get(v.w)),await b5(f,x)});await Promise.all(y)},"processEdges")(),V.info("Graph before layout:",JSON.stringify(Mn(e))),V.info("############################################# XXX"),V.info("### Layout ### XXX"),V.info("############################################# XXX"),eo(e),V.info("Graph after layout:",JSON.stringify(Mn(e)));let m=0,{subGraphTitleTotalMargin:g}=Ks(a);return await Promise.all(mte(e).map(async function(y){let v=e.node(y);if(V.info("Position XBX => "+y+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v?.clusterNode)v.y+=g,V.info("A tainted cluster node XBX1",y,v.id,v.width,v.height,v.x,v.y,e.parent(y)),Yt.get(v.id).node=v,u9(v);else if(e.children(y).length>0){V.info("A pure cluster node XBX1",y,v.id,v.x,v.y,v.width,v.height,e.parent(y)),v.height+=g,e.node(v.parentId);let x=v?.padding/2||0,b=v?.labelBBox?.height||0,k=b-x||0;V.debug("OffsetY",k,"labelHeight",b,"halfPadding",x),await p5(u,v),Yt.get(v.id).node=v}else{let x=e.node(v.parentId);v.y+=g/2,V.info("A regular node XBX1 - using the padding",v.id,"parent",v.parentId,v.width,v.height,v.x,v.y,"offsetY",v.offsetY,"parent",x,x?.offsetY,v),u9(v)}})),e.edges().forEach(function(y){let v=e.edge(y);V.info("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(v),v),v.points.forEach(A=>A.y+=g/2);let x=e.node(y.v);var b=e.node(y.w);let k=w5(h,v,Yt,r,x,b,n);k5(v,k)}),e.nodes().forEach(function(y){let v=e.node(y);V.info(y,v.type,v.diff),v.isGroup&&(m=v.diff)}),V.warn("Returning from recursive render XAX",l,m),{elem:l,diff:m}},"recursiveRender"),jLe=s(async(t,e)=>{let r=new ir({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");T5(n,t.markers,t.type,t.diagramId),zj(),FX(),MX(),cte(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),V.debug("Edges:",t.edges),t.edges.forEach(a=>{r.setEdge(a.start,a.end,{...a},a.id)}),V.warn("Graph at first:",JSON.stringify(Mn(r))),fte(r),V.warn("Graph after:",JSON.stringify(Mn(r)));let i=le();await yte(n,r,t.type,t.diagramId,void 0,i)},"render")});var xv,SL,KLe,Dk,bte,Rk=_(()=>{"use strict";Gj();it();xv={},SL=s(t=>{for(let e of t)xv[e.name]=e},"registerLayoutLoaders"),KLe=s(()=>{SL([{name:"dagre",loader:s(async()=>await Promise.resolve().then(()=>(xte(),vte)),"loader")}])},"registerDefaultLayoutLoaders");KLe();Dk=s(async(t,e)=>{if(!(t.layoutAlgorithm in xv))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=xv[t.layoutAlgorithm];return(await r.loader()).render(t,e,$j,{algorithm:r.algorithm})},"render"),bte=s((t="",{fallback:e="dagre"}={})=>{if(t in xv)return t;if(e in xv)return V.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")});var Mk,QLe,ZLe,_L=_(()=>{"use strict";Un();it();Mk=s((t,e,r,n)=>{t.attr("class",r);let{width:i,height:a,x:o,y:l}=QLe(t,e);xr(t,a,i,n);let u=ZLe(o,l,i,a,e);t.attr("viewBox",u),V.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),QLe=s((t,e)=>{let r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),ZLe=s((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox")});var JLe,eDe,kte,wte=_(()=>{"use strict";Xt();gt();it();zA();Rk();_L();pr();wA();JLe=s(function(t,e){return e.db.getClasses()},"getClasses"),eDe=s(async function(t,e,r,n){V.info("REF0:"),V.info("Drawing state diagram (v2)",e);let{securityLevel:i,flowchart:a,layout:o}=le(),l;i==="sandbox"&&(l=Me("#i"+e));let u=i==="sandbox"?l.nodes()[0].contentDocument:document;V.debug("Before getData: ");let h=n.db.getData();V.debug("Data: ",h);let f=n5(e,i),d=kA();h.type=n.type,h.layoutAlgorithm=bte(o),h.layoutAlgorithm==="dagre"&&o==="elk"&&V.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=a?.nodeSpacing||50,h.rankSpacing=a?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=e,V.debug("REF1:",h),await Dk(h,f);let p=h.config.flowchart?.diagramPadding??8;dt.insertTitle(f,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),Mk(f,p,"flowchart",a?.useMaxWidth||!1);for(let m of h.nodes){let g=Me(`#${e} [id="${m.id}"]`);if(!g||!m.link)continue;let y=u.createElementNS("http://www.w3.org/2000/svg","a");y.setAttributeNS("http://www.w3.org/2000/svg","class",m.cssClasses),y.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),i==="sandbox"?y.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):m.linkTarget&&y.setAttributeNS("http://www.w3.org/2000/svg","target",m.linkTarget);let v=g.insert(function(){return y},":first-child"),x=g.select(".label-container");x&&v.append(function(){return x.node()});let b=g.select(".label");b&&v.append(function(){return b.node()})}},"draw"),kte={getClasses:JLe,draw:eDe}});var AL,Tte,Ete=_(()=>{"use strict";AL=function(){var t=s(function(ts,at,xt,Ft){for(xt=xt||{},Ft=ts.length;Ft--;xt[ts[Ft]]=at);return xt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],a=[2,2],o=[1,13],l=[1,14],u=[1,15],h=[1,16],f=[1,23],d=[1,25],p=[1,26],m=[1,27],g=[1,49],y=[1,48],v=[1,29],x=[1,30],b=[1,31],k=[1,32],A=[1,33],w=[1,44],T=[1,46],C=[1,42],E=[1,47],S=[1,43],R=[1,50],D=[1,45],L=[1,51],P=[1,52],M=[1,34],F=[1,35],I=[1,36],O=[1,37],z=[1,57],N=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],U=[1,61],$=[1,60],W=[1,62],ee=[8,9,11,73,75],te=[1,88],ce=[1,93],Z=[1,92],fe=[1,89],ne=[1,85],H=[1,91],Q=[1,87],K=[1,94],re=[1,90],ie=[1,95],ye=[1,86],j=[8,9,10,11,73,75],De=[8,9,10,11,44,73,75],oe=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Re=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],Pe=[42,58,86,99,102,103,106,108,111,112,113],Se=[1,121],Ue=[1,120],Oe=[1,128],_e=[1,142],he=[1,143],q=[1,144],se=[1,145],ue=[1,130],X=[1,132],ae=[1,136],pe=[1,137],de=[1,138],Ie=[1,139],Ne=[1,140],Be=[1,141],ze=[1,146],qe=[1,147],Fe=[1,126],we=[1,127],Je=[1,134],We=[1,129],or=[1,133],Cr=[1,131],Ut=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],ar=[1,149],ut=[8,9,11],Rt=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],Qe=[1,169],Dt=[1,165],qt=[1,166],yt=[1,170],Et=[1,167],pt=[1,168],Wt=[75,113,116],ot=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],fr=[10,103],vt=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],Bt=[1,235],Sr=[1,233],zi=[1,237],rr=[1,231],Vn=[1,232],Tn=[1,234],Ki=[1,236],ci=[1,238],Pa=[1,255],En=[8,9,11,103],ti=[8,9,10,11,58,81,102,103,106,107,108,109],co={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:s(function(at,xt,Ft,Ke,Zt,me,Fc){var xe=me.length-1;switch(Zt){case 2:this.$=[];break;case 3:(!Array.isArray(me[xe])||me[xe].length>0)&&me[xe-1].push(me[xe]),this.$=me[xe-1];break;case 4:case 176:this.$=me[xe];break;case 11:Ke.setDirection("TB"),this.$="TB";break;case 12:Ke.setDirection(me[xe-1]),this.$=me[xe-1];break;case 27:this.$=me[xe-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Ke.addSubGraph(me[xe-6],me[xe-1],me[xe-4]);break;case 34:this.$=Ke.addSubGraph(me[xe-3],me[xe-1],me[xe-3]);break;case 35:this.$=Ke.addSubGraph(void 0,me[xe-1],void 0);break;case 37:this.$=me[xe].trim(),Ke.setAccTitle(this.$);break;case 38:case 39:this.$=me[xe].trim(),Ke.setAccDescription(this.$);break;case 43:Ke.addLink(me[xe-2].stmt,me[xe],me[xe-1]),this.$={stmt:me[xe],nodes:me[xe].concat(me[xe-2].nodes)};break;case 44:Ke.addLink(me[xe-3].stmt,me[xe-1],me[xe-2]),this.$={stmt:me[xe-1],nodes:me[xe-1].concat(me[xe-3].nodes)};break;case 45:this.$={stmt:me[xe-1],nodes:me[xe-1]};break;case 46:this.$={stmt:me[xe],nodes:me[xe]};break;case 47:this.$=[me[xe]];break;case 48:this.$=me[xe-4].concat(me[xe]);break;case 49:this.$=me[xe];break;case 50:this.$=me[xe-2],Ke.setClass(me[xe-2],me[xe]);break;case 51:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"square");break;case 52:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"doublecircle");break;case 53:this.$=me[xe-5],Ke.addVertex(me[xe-5],me[xe-2],"circle");break;case 54:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"ellipse");break;case 55:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"stadium");break;case 56:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"subroutine");break;case 57:this.$=me[xe-7],Ke.addVertex(me[xe-7],me[xe-1],"rect",void 0,void 0,void 0,Object.fromEntries([[me[xe-5],me[xe-3]]]));break;case 58:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"cylinder");break;case 59:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"round");break;case 60:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"diamond");break;case 61:this.$=me[xe-5],Ke.addVertex(me[xe-5],me[xe-2],"hexagon");break;case 62:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"odd");break;case 63:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"trapezoid");break;case 64:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"inv_trapezoid");break;case 65:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"lean_right");break;case 66:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"lean_left");break;case 67:this.$=me[xe],Ke.addVertex(me[xe]);break;case 68:me[xe-1].text=me[xe],this.$=me[xe-1];break;case 69:case 70:me[xe-2].text=me[xe-1],this.$=me[xe-2];break;case 71:this.$=me[xe];break;case 72:var xi=Ke.destructLink(me[xe],me[xe-2]);this.$={type:xi.type,stroke:xi.stroke,length:xi.length,text:me[xe-1]};break;case 73:this.$={text:me[xe],type:"text"};break;case 74:this.$={text:me[xe-1].text+""+me[xe],type:me[xe-1].type};break;case 75:this.$={text:me[xe],type:"string"};break;case 76:this.$={text:me[xe],type:"markdown"};break;case 77:var xi=Ke.destructLink(me[xe]);this.$={type:xi.type,stroke:xi.stroke,length:xi.length};break;case 78:this.$=me[xe-1];break;case 79:this.$={text:me[xe],type:"text"};break;case 80:this.$={text:me[xe-1].text+""+me[xe],type:me[xe-1].type};break;case 81:this.$={text:me[xe],type:"string"};break;case 82:case 97:this.$={text:me[xe],type:"markdown"};break;case 94:this.$={text:me[xe],type:"text"};break;case 95:this.$={text:me[xe-1].text+""+me[xe],type:me[xe-1].type};break;case 96:this.$={text:me[xe],type:"text"};break;case 98:this.$=me[xe-4],Ke.addClass(me[xe-2],me[xe]);break;case 99:this.$=me[xe-4],Ke.setClass(me[xe-2],me[xe]);break;case 100:case 108:this.$=me[xe-1],Ke.setClickEvent(me[xe-1],me[xe]);break;case 101:case 109:this.$=me[xe-3],Ke.setClickEvent(me[xe-3],me[xe-2]),Ke.setTooltip(me[xe-3],me[xe]);break;case 102:this.$=me[xe-2],Ke.setClickEvent(me[xe-2],me[xe-1],me[xe]);break;case 103:this.$=me[xe-4],Ke.setClickEvent(me[xe-4],me[xe-3],me[xe-2]),Ke.setTooltip(me[xe-4],me[xe]);break;case 104:this.$=me[xe-2],Ke.setLink(me[xe-2],me[xe]);break;case 105:this.$=me[xe-4],Ke.setLink(me[xe-4],me[xe-2]),Ke.setTooltip(me[xe-4],me[xe]);break;case 106:this.$=me[xe-4],Ke.setLink(me[xe-4],me[xe-2],me[xe]);break;case 107:this.$=me[xe-6],Ke.setLink(me[xe-6],me[xe-4],me[xe]),Ke.setTooltip(me[xe-6],me[xe-2]);break;case 110:this.$=me[xe-1],Ke.setLink(me[xe-1],me[xe]);break;case 111:this.$=me[xe-3],Ke.setLink(me[xe-3],me[xe-2]),Ke.setTooltip(me[xe-3],me[xe]);break;case 112:this.$=me[xe-3],Ke.setLink(me[xe-3],me[xe-2],me[xe]);break;case 113:this.$=me[xe-5],Ke.setLink(me[xe-5],me[xe-4],me[xe]),Ke.setTooltip(me[xe-5],me[xe-2]);break;case 114:this.$=me[xe-4],Ke.addVertex(me[xe-2],void 0,void 0,me[xe]);break;case 115:this.$=me[xe-4],Ke.updateLink([me[xe-2]],me[xe]);break;case 116:this.$=me[xe-4],Ke.updateLink(me[xe-2],me[xe]);break;case 117:this.$=me[xe-8],Ke.updateLinkInterpolate([me[xe-6]],me[xe-2]),Ke.updateLink([me[xe-6]],me[xe]);break;case 118:this.$=me[xe-8],Ke.updateLinkInterpolate(me[xe-6],me[xe-2]),Ke.updateLink(me[xe-6],me[xe]);break;case 119:this.$=me[xe-6],Ke.updateLinkInterpolate([me[xe-4]],me[xe]);break;case 120:this.$=me[xe-6],Ke.updateLinkInterpolate(me[xe-4],me[xe]);break;case 121:case 123:this.$=[me[xe]];break;case 122:case 124:me[xe-2].push(me[xe]),this.$=me[xe-2];break;case 126:this.$=me[xe-1]+me[xe];break;case 174:this.$=me[xe];break;case 175:this.$=me[xe-1]+""+me[xe];break;case 177:this.$=me[xe-1]+""+me[xe];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:o,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,33:24,34:d,36:p,38:m,40:28,41:38,42:g,43:39,45:40,58:y,81:v,82:x,83:b,84:k,85:A,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P,118:M,119:F,120:I,121:O},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,54],9:[1,55],10:z,15:53,18:56},t(N,[2,3]),t(N,[2,4]),t(N,[2,5]),t(N,[2,6]),t(N,[2,7]),t(N,[2,8]),{8:U,9:$,11:W,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:U,9:$,11:W,21:66},{8:U,9:$,11:W,21:67},{8:U,9:$,11:W,21:68},{8:U,9:$,11:W,21:69},{8:U,9:$,11:W,21:70},{8:U,9:$,10:[1,71],11:W,21:72},t(N,[2,36]),{35:[1,73]},{37:[1,74]},t(N,[2,39]),t(ee,[2,46],{18:75,10:z}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:te,42:ce,58:Z,77:[1,83],86:fe,92:[1,80],94:[1,81],98:82,102:ne,103:H,106:Q,108:K,111:re,112:ie,113:ye,117:84},t(N,[2,178]),t(N,[2,179]),t(N,[2,180]),t(N,[2,181]),t(j,[2,47]),t(j,[2,49],{44:[1,96]}),t(De,[2,67],{110:109,29:[1,97],42:g,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:y,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:w,99:T,102:C,103:E,106:S,108:R,111:D,112:L,113:P}),t(oe,[2,174]),t(oe,[2,135]),t(oe,[2,136]),t(oe,[2,137]),t(oe,[2,138]),t(oe,[2,139]),t(oe,[2,140]),t(oe,[2,141]),t(oe,[2,142]),t(oe,[2,143]),t(oe,[2,144]),t(oe,[2,145]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,110]},t(Re,[2,26],{18:111,10:z}),t(N,[2,27]),{40:112,41:38,42:g,43:39,45:40,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},t(N,[2,40]),t(N,[2,41]),t(N,[2,42]),t(Pe,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:Se,116:Ue},t([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),t(N,[2,28]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,32]),{10:Oe,12:_e,14:he,27:q,28:122,32:se,42:ue,58:X,73:ae,77:[1,124],78:[1,125],80:135,81:pe,82:de,83:Ie,84:Ne,85:Be,86:ze,87:qe,88:123,102:Fe,106:we,108:Je,111:We,112:or,113:Cr},t(Ut,a,{5:148}),t(N,[2,37]),t(N,[2,38]),t(ee,[2,45],{42:ar}),{42:g,45:150,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},{99:[1,151],100:152,102:[1,153]},{42:g,45:154,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},{42:g,45:155,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},t(ut,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},t(ut,[2,108],{117:160,10:[1,159],14:te,42:ce,58:Z,86:fe,102:ne,103:H,106:Q,108:K,111:re,112:ie,113:ye}),t(ut,[2,110],{10:[1,161]}),t(Rt,[2,176]),t(Rt,[2,163]),t(Rt,[2,164]),t(Rt,[2,165]),t(Rt,[2,166]),t(Rt,[2,167]),t(Rt,[2,168]),t(Rt,[2,169]),t(Rt,[2,170]),t(Rt,[2,171]),t(Rt,[2,172]),t(Rt,[2,173]),{42:g,45:162,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},{30:163,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:171,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:173,48:[1,172],65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:174,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:175,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:176,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{106:[1,177]},{30:178,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:179,63:[1,180],65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:181,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:182,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:183,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},t(oe,[2,175]),t(i,[2,20]),t(Re,[2,25]),t(ee,[2,43],{18:184,10:z}),t(Pe,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{75:[1,188],76:189,113:Se,116:Ue},t(Wt,[2,73]),t(Wt,[2,75]),t(Wt,[2,76]),t(Wt,[2,161]),t(Wt,[2,162]),{8:U,9:$,10:Oe,11:W,12:_e,14:he,21:191,27:q,29:[1,190],32:se,42:ue,58:X,73:ae,80:135,81:pe,82:de,83:Ie,84:Ne,85:Be,86:ze,87:qe,88:192,102:Fe,106:we,108:Je,111:We,112:or,113:Cr},t(ot,[2,94]),t(ot,[2,96]),t(ot,[2,97]),t(ot,[2,150]),t(ot,[2,151]),t(ot,[2,152]),t(ot,[2,153]),t(ot,[2,154]),t(ot,[2,155]),t(ot,[2,156]),t(ot,[2,157]),t(ot,[2,158]),t(ot,[2,159]),t(ot,[2,160]),t(ot,[2,83]),t(ot,[2,84]),t(ot,[2,85]),t(ot,[2,86]),t(ot,[2,87]),t(ot,[2,88]),t(ot,[2,89]),t(ot,[2,90]),t(ot,[2,91]),t(ot,[2,92]),t(ot,[2,93]),{6:11,7:12,8:o,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,193],33:24,34:d,36:p,38:m,40:28,41:38,42:g,43:39,45:40,58:y,81:v,82:x,83:b,84:k,85:A,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P,118:M,119:F,120:I,121:O},{10:z,18:194},{10:[1,195],42:g,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:109,111:D,112:L,113:P},{10:[1,196]},{10:[1,197],103:[1,198]},t(fr,[2,121]),{10:[1,199],42:g,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:109,111:D,112:L,113:P},{10:[1,200],42:g,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:109,111:D,112:L,113:P},{77:[1,201]},t(ut,[2,102],{10:[1,202]}),t(ut,[2,104],{10:[1,203]}),{77:[1,204]},t(Rt,[2,177]),{77:[1,205],95:[1,206]},t(j,[2,50],{110:109,42:g,58:y,86:w,99:T,102:C,103:E,106:S,108:R,111:D,112:L,113:P}),{31:[1,207],65:Qe,79:208,113:yt,114:Et,115:pt},t(vt,[2,79]),t(vt,[2,81]),t(vt,[2,82]),t(vt,[2,146]),t(vt,[2,147]),t(vt,[2,148]),t(vt,[2,149]),{47:[1,209],65:Qe,79:208,113:yt,114:Et,115:pt},{30:210,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{49:[1,211],65:Qe,79:208,113:yt,114:Et,115:pt},{51:[1,212],65:Qe,79:208,113:yt,114:Et,115:pt},{53:[1,213],65:Qe,79:208,113:yt,114:Et,115:pt},{55:[1,214],65:Qe,79:208,113:yt,114:Et,115:pt},{58:[1,215]},{62:[1,216],65:Qe,79:208,113:yt,114:Et,115:pt},{64:[1,217],65:Qe,79:208,113:yt,114:Et,115:pt},{30:218,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{31:[1,219],65:Qe,79:208,113:yt,114:Et,115:pt},{65:Qe,67:[1,220],69:[1,221],79:208,113:yt,114:Et,115:pt},{65:Qe,67:[1,223],69:[1,222],79:208,113:yt,114:Et,115:pt},t(ee,[2,44],{42:ar}),t(Pe,[2,70]),t(Pe,[2,69]),{60:[1,224],65:Qe,79:208,113:yt,114:Et,115:pt},t(Pe,[2,72]),t(Wt,[2,74]),{30:225,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},t(Ut,a,{5:226}),t(ot,[2,95]),t(N,[2,35]),{41:227,42:g,43:39,45:40,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},{10:Bt,58:Sr,81:zi,89:228,102:rr,104:229,105:230,106:Vn,107:Tn,108:Ki,109:ci},{10:Bt,58:Sr,81:zi,89:239,101:[1,240],102:rr,104:229,105:230,106:Vn,107:Tn,108:Ki,109:ci},{10:Bt,58:Sr,81:zi,89:241,101:[1,242],102:rr,104:229,105:230,106:Vn,107:Tn,108:Ki,109:ci},{102:[1,243]},{10:Bt,58:Sr,81:zi,89:244,102:rr,104:229,105:230,106:Vn,107:Tn,108:Ki,109:ci},{42:g,45:245,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},t(ut,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},t(ut,[2,109]),t(ut,[2,111],{10:[1,249]}),t(ut,[2,112]),t(De,[2,51]),t(vt,[2,80]),t(De,[2,52]),{49:[1,250],65:Qe,79:208,113:yt,114:Et,115:pt},t(De,[2,59]),t(De,[2,54]),t(De,[2,55]),t(De,[2,56]),{106:[1,251]},t(De,[2,58]),t(De,[2,60]),{64:[1,252],65:Qe,79:208,113:yt,114:Et,115:pt},t(De,[2,62]),t(De,[2,63]),t(De,[2,65]),t(De,[2,64]),t(De,[2,66]),t([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:Qe,79:208,113:yt,114:Et,115:pt},{6:11,7:12,8:o,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,254],33:24,34:d,36:p,38:m,40:28,41:38,42:g,43:39,45:40,58:y,81:v,82:x,83:b,84:k,85:A,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P,118:M,119:F,120:I,121:O},t(j,[2,48]),t(ut,[2,114],{103:Pa}),t(En,[2,123],{105:256,10:Bt,58:Sr,81:zi,102:rr,106:Vn,107:Tn,108:Ki,109:ci}),t(ti,[2,125]),t(ti,[2,127]),t(ti,[2,128]),t(ti,[2,129]),t(ti,[2,130]),t(ti,[2,131]),t(ti,[2,132]),t(ti,[2,133]),t(ti,[2,134]),t(ut,[2,115],{103:Pa}),{10:[1,257]},t(ut,[2,116],{103:Pa}),{10:[1,258]},t(fr,[2,122]),t(ut,[2,98],{103:Pa}),t(ut,[2,99],{110:109,42:g,58:y,86:w,99:T,102:C,103:E,106:S,108:R,111:D,112:L,113:P}),t(ut,[2,103]),t(ut,[2,105],{10:[1,259]}),t(ut,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:U,9:$,11:W,21:264},t(N,[2,34]),{10:Bt,58:Sr,81:zi,102:rr,104:265,105:230,106:Vn,107:Tn,108:Ki,109:ci},t(ti,[2,126]),{14:te,42:ce,58:Z,86:fe,98:266,102:ne,103:H,106:Q,108:K,111:re,112:ie,113:ye,117:84},{14:te,42:ce,58:Z,86:fe,98:267,102:ne,103:H,106:Q,108:K,111:re,112:ie,113:ye,117:84},{95:[1,268]},t(ut,[2,113]),t(De,[2,53]),{30:269,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},t(De,[2,61]),t(Ut,a,{5:270}),t(En,[2,124],{105:256,10:Bt,58:Sr,81:zi,102:rr,106:Vn,107:Tn,108:Ki,109:ci}),t(ut,[2,119],{117:160,10:[1,271],14:te,42:ce,58:Z,86:fe,102:ne,103:H,106:Q,108:K,111:re,112:ie,113:ye}),t(ut,[2,120],{117:160,10:[1,272],14:te,42:ce,58:Z,86:fe,102:ne,103:H,106:Q,108:K,111:re,112:ie,113:ye}),t(ut,[2,107]),{31:[1,273],65:Qe,79:208,113:yt,114:Et,115:pt},{6:11,7:12,8:o,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,274],33:24,34:d,36:p,38:m,40:28,41:38,42:g,43:39,45:40,58:y,81:v,82:x,83:b,84:k,85:A,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P,118:M,119:F,120:I,121:O},{10:Bt,58:Sr,81:zi,89:275,102:rr,104:229,105:230,106:Vn,107:Tn,108:Ki,109:ci},{10:Bt,58:Sr,81:zi,89:276,102:rr,104:229,105:230,106:Vn,107:Tn,108:Ki,109:ci},t(De,[2,57]),t(N,[2,33]),t(ut,[2,117],{103:Pa}),t(ut,[2,118],{103:Pa})],defaultActions:{},parseError:s(function(at,xt){if(xt.recoverable)this.trace(at);else{var Ft=new Error(at);throw Ft.hash=xt,Ft}},"parseError"),parse:s(function(at){var xt=this,Ft=[0],Ke=[],Zt=[null],me=[],Fc=this.table,xe="",xi=0,zc=0,g1=0,ib=2,y1=1,v1=me.slice.call(arguments,1),ri=Object.create(this.lexer),ho={yy:{}};for(var Zu in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Zu)&&(ho.yy[Zu]=this.yy[Zu]);ri.setInput(at,ho.yy),ho.yy.lexer=ri,ho.yy.parser=this,typeof ri.yylloc>"u"&&(ri.yylloc={});var Ps=ri.yylloc;me.push(Ps);var Ju=ri.options&&ri.options.ranges;typeof ho.yy.parseError=="function"?this.parseError=ho.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ab(xa){Ft.length=Ft.length-2*xa,Zt.length=Zt.length-xa,me.length=me.length-xa}s(ab,"popStack");function x1(){var xa;return xa=Ke.pop()||ri.lex()||y1,typeof xa!="number"&&(xa instanceof Array&&(Ke=xa,xa=Ke.pop()),xa=xt.symbols_[xa]||xa),xa}s(x1,"lex");for(var Qi,$c,Gc,rs,bi,Ml,eh={},Af,Bs,b1,Lf;;){if(Gc=Ft[Ft.length-1],this.defaultActions[Gc]?rs=this.defaultActions[Gc]:((Qi===null||typeof Qi>"u")&&(Qi=x1()),rs=Fc[Gc]&&Fc[Gc][Qi]),typeof rs>"u"||!rs.length||!rs[0]){var k1="";Lf=[];for(Af in Fc[Gc])this.terminals_[Af]&&Af>ib&&Lf.push("'"+this.terminals_[Af]+"'");ri.showPosition?k1="Parse error on line "+(xi+1)+`: +`+ri.showPosition()+` +Expecting `+Lf.join(", ")+", got '"+(this.terminals_[Qi]||Qi)+"'":k1="Parse error on line "+(xi+1)+": Unexpected "+(Qi==y1?"end of input":"'"+(this.terminals_[Qi]||Qi)+"'"),this.parseError(k1,{text:ri.match,token:this.terminals_[Qi]||Qi,line:ri.yylineno,loc:Ps,expected:Lf})}if(rs[0]instanceof Array&&rs.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Gc+", token: "+Qi);switch(rs[0]){case 1:Ft.push(Qi),Zt.push(ri.yytext),me.push(ri.yylloc),Ft.push(rs[1]),Qi=null,$c?(Qi=$c,$c=null):(zc=ri.yyleng,xe=ri.yytext,xi=ri.yylineno,Ps=ri.yylloc,g1>0&&g1--);break;case 2:if(Bs=this.productions_[rs[1]][1],eh.$=Zt[Zt.length-Bs],eh._$={first_line:me[me.length-(Bs||1)].first_line,last_line:me[me.length-1].last_line,first_column:me[me.length-(Bs||1)].first_column,last_column:me[me.length-1].last_column},Ju&&(eh._$.range=[me[me.length-(Bs||1)].range[0],me[me.length-1].range[1]]),Ml=this.performAction.apply(eh,[xe,zc,xi,ho.yy,rs[1],Zt,me].concat(v1)),typeof Ml<"u")return Ml;Bs&&(Ft=Ft.slice(0,-1*Bs*2),Zt=Zt.slice(0,-1*Bs),me=me.slice(0,-1*Bs)),Ft.push(this.productions_[rs[1]][0]),Zt.push(eh.$),me.push(eh._$),b1=Fc[Ft[Ft.length-2]][Ft[Ft.length-1]],Ft.push(b1);break;case 3:return!0}}return!0},"parse")},uo=function(){var ts={EOF:1,parseError:s(function(xt,Ft){if(this.yy.parser)this.yy.parser.parseError(xt,Ft);else throw new Error(xt)},"parseError"),setInput:s(function(at,xt){return this.yy=xt||this.yy||{},this._input=at,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var at=this._input[0];this.yytext+=at,this.yyleng++,this.offset++,this.match+=at,this.matched+=at;var xt=at.match(/(?:\r\n?|\n).*/g);return xt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),at},"input"),unput:s(function(at){var xt=at.length,Ft=at.split(/(?:\r\n?|\n)/g);this._input=at+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-xt),this.offset-=xt;var Ke=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ft.length-1&&(this.yylineno-=Ft.length-1);var Zt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ft?(Ft.length===Ke.length?this.yylloc.first_column:0)+Ke[Ke.length-Ft.length].length-Ft[0].length:this.yylloc.first_column-xt},this.options.ranges&&(this.yylloc.range=[Zt[0],Zt[0]+this.yyleng-xt]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(at){this.unput(this.match.slice(at))},"less"),pastInput:s(function(){var at=this.matched.substr(0,this.matched.length-this.match.length);return(at.length>20?"...":"")+at.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var at=this.match;return at.length<20&&(at+=this._input.substr(0,20-at.length)),(at.substr(0,20)+(at.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var at=this.pastInput(),xt=new Array(at.length+1).join("-");return at+this.upcomingInput()+` +`+xt+"^"},"showPosition"),test_match:s(function(at,xt){var Ft,Ke,Zt;if(this.options.backtrack_lexer&&(Zt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Zt.yylloc.range=this.yylloc.range.slice(0))),Ke=at[0].match(/(?:\r\n?|\n).*/g),Ke&&(this.yylineno+=Ke.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ke?Ke[Ke.length-1].length-Ke[Ke.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+at[0].length},this.yytext+=at[0],this.match+=at[0],this.matches=at,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(at[0].length),this.matched+=at[0],Ft=this.performAction.call(this,this.yy,this,xt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ft)return Ft;if(this._backtrack){for(var me in Zt)this[me]=Zt[me];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var at,xt,Ft,Ke;this._more||(this.yytext="",this.match="");for(var Zt=this._currentRules(),me=0;mext[0].length)){if(xt=Ft,Ke=me,this.options.backtrack_lexer){if(at=this.test_match(Ft,Zt[me]),at!==!1)return at;if(this._backtrack){xt=!1;continue}else return!1}else if(!this.options.flex)break}return xt?(at=this.test_match(xt,Zt[Ke]),at!==!1?at:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var xt=this.next();return xt||this.lex()},"lex"),begin:s(function(xt){this.conditionStack.push(xt)},"begin"),popState:s(function(){var xt=this.conditionStack.length-1;return xt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(xt){return xt=this.conditionStack.length-1-Math.abs(xt||0),xt>=0?this.conditionStack[xt]:"INITIAL"},"topState"),pushState:s(function(xt){this.begin(xt)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(xt,Ft,Ke,Zt){var me=Zt;switch(Ke){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return xt.lex.firstGraph()&&this.begin("dir"),12;break;case 30:return xt.lex.firstGraph()&&this.begin("dir"),12;break;case 31:return xt.lex.firstGraph()&&this.begin("dir"),12;break;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;break;case 39:return this.popState(),14;break;case 40:return this.popState(),14;break;case 41:return this.popState(),14;break;case 42:return this.popState(),14;break;case 43:return this.popState(),14;break;case 44:return this.popState(),14;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;break;case 62:return this.pushState("edgeText"),73;break;case 63:return 116;case 64:return this.popState(),75;break;case 65:return this.pushState("thickEdgeText"),73;break;case 66:return 116;case 67:return this.popState(),75;break;case 68:return this.pushState("dottedEdgeText"),73;break;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;break;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;break;case 74:return this.popState(),53;break;case 75:return this.pushState("text"),52;break;case 76:return this.popState(),55;break;case 77:return this.pushState("text"),54;break;case 78:return 56;case 79:return this.pushState("text"),65;break;case 80:return this.popState(),62;break;case 81:return this.pushState("text"),61;break;case 82:return this.popState(),47;break;case 83:return this.pushState("text"),46;break;case 84:return this.popState(),67;break;case 85:return this.popState(),69;break;case 86:return 114;case 87:return this.pushState("trapText"),66;break;case 88:return this.pushState("trapText"),68;break;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;break;case 101:return this.pushState("text"),60;break;case 102:return this.popState(),49;break;case 103:return this.pushState("text"),48;break;case 104:return this.popState(),31;break;case 105:return this.pushState("text"),29;break;case 106:return this.popState(),64;break;case 107:return this.pushState("text"),63;break;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return ts}();co.lexer=uo;function Rl(){this.yy={}}return s(Rl,"Parser"),Rl.prototype=co,co.Parser=Rl,new Rl}();AL.parser=AL;Tte=AL});var tDe,rDe,Cte,Ste=_(()=>{"use strict";Ho();tDe=s((t,e)=>{let r=D1,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Fs(n,i,a,e)},"fade"),rDe=s(t=>`.label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor||t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span { + color: ${t.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .label text,span { + fill: ${t.nodeTextColor||t.textColor}; + color: ${t.nodeTextColor||t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + .rough-node .label text , .node .label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${tDe(t.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${t.clusterBkg}; + stroke: ${t.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`,"getStyles"),Cte=rDe});var Ik={};ur(Ik,{diagram:()=>nDe});var nDe,Nk=_(()=>{"use strict";gt();wA();wte();Ete();Ste();nDe={parser:Tte,db:K3,renderer:kte,styles:Cte,init:s(t=>{t.flowchart||(t.flowchart={}),t.layout&&pC({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,pC({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),K3.clear(),K3.setGen("gen-2")},"init")}});var LL,Rte,Mte=_(()=>{"use strict";LL=function(){var t=s(function(E,S,R,D){for(R=R||{},D=E.length;D--;R[E[D]]=S);return R},"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],n=[1,11],i=[1,12],a=[1,13],o=[1,14],l=[1,15],u=[1,21],h=[1,22],f=[1,23],d=[1,24],p=[1,25],m=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],g=[1,34],y=[27,28,46,47],v=[41,42,43,44,45],x=[17,34],b=[1,54],k=[1,53],A=[17,34,36,38],w={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:s(function(S,R,D,L,P,M,F){var I=M.length-1;switch(P){case 1:break;case 2:this.$=[];break;case 3:M[I-1].push(M[I]),this.$=M[I-1];break;case 4:case 5:this.$=M[I];break;case 6:case 7:this.$=[];break;case 8:L.addEntity(M[I-4]),L.addEntity(M[I-2]),L.addRelationship(M[I-4],M[I],M[I-2],M[I-3]);break;case 9:L.addEntity(M[I-3]),L.addAttributes(M[I-3],M[I-1]);break;case 10:L.addEntity(M[I-2]);break;case 11:L.addEntity(M[I]);break;case 12:L.addEntity(M[I-6],M[I-4]),L.addAttributes(M[I-6],M[I-1]);break;case 13:L.addEntity(M[I-5],M[I-3]);break;case 14:L.addEntity(M[I-3],M[I-1]);break;case 15:case 16:this.$=M[I].trim(),L.setAccTitle(this.$);break;case 17:case 18:this.$=M[I].trim(),L.setAccDescription(this.$);break;case 19:case 43:this.$=M[I];break;case 20:case 41:case 42:this.$=M[I].replace(/"/g,"");break;case 21:case 29:this.$=[M[I]];break;case 22:M[I].push(M[I-1]),this.$=M[I];break;case 23:this.$={attributeType:M[I-1],attributeName:M[I]};break;case 24:this.$={attributeType:M[I-2],attributeName:M[I-1],attributeKeyTypeList:M[I]};break;case 25:this.$={attributeType:M[I-2],attributeName:M[I-1],attributeComment:M[I]};break;case 26:this.$={attributeType:M[I-3],attributeName:M[I-2],attributeKeyTypeList:M[I-1],attributeComment:M[I]};break;case 27:case 28:case 31:this.$=M[I];break;case 30:M[I-2].push(M[I]),this.$=M[I-2];break;case 32:this.$=M[I].replace(/"/g,"");break;case 33:this.$={cardA:M[I],relType:M[I-1],cardB:M[I-2]};break;case 34:this.$=L.Cardinality.ZERO_OR_ONE;break;case 35:this.$=L.Cardinality.ZERO_OR_MORE;break;case 36:this.$=L.Cardinality.ONE_OR_MORE;break;case 37:this.$=L.Cardinality.ONLY_ONE;break;case 38:this.$=L.Cardinality.MD_PARENT;break;case 39:this.$=L.Identification.NON_IDENTIFYING;break;case 40:this.$=L.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:n,24:i,26:a,27:o,28:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:n,24:i,26:a,27:o,28:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:u,42:h,43:f,44:d,45:p}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(m,[2,19]),t(m,[2,20]),t(e,[2,4]),{11:29,27:o,28:l},{16:30,17:[1,31],29:32,30:33,34:g},{11:35,27:o,28:l},{40:36,46:[1,37],47:[1,38]},t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),t(y,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:g},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:u,42:h,43:f,44:d,45:p},t(v,[2,39]),t(v,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(x,[2,23],{32:50,33:51,35:52,37:b,38:k}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(x,[2,24],{33:56,36:[1,57],38:k}),t(x,[2,25]),t(A,[2,29]),t(x,[2,32]),t(A,[2,31]),{16:58,17:[1,59],29:32,30:33,34:g},t(x,[2,26]),{35:60,37:b},{17:[1,61]},t(e,[2,13]),t(A,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:s(function(S,R){if(R.recoverable)this.trace(S);else{var D=new Error(S);throw D.hash=R,D}},"parseError"),parse:s(function(S){var R=this,D=[0],L=[],P=[null],M=[],F=this.table,I="",O=0,z=0,N=0,U=2,$=1,W=M.slice.call(arguments,1),ee=Object.create(this.lexer),te={yy:{}};for(var ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ce)&&(te.yy[ce]=this.yy[ce]);ee.setInput(S,te.yy),te.yy.lexer=ee,te.yy.parser=this,typeof ee.yylloc>"u"&&(ee.yylloc={});var Z=ee.yylloc;M.push(Z);var fe=ee.options&&ee.options.ranges;typeof te.yy.parseError=="function"?this.parseError=te.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Oe){D.length=D.length-2*Oe,P.length=P.length-Oe,M.length=M.length-Oe}s(ne,"popStack");function H(){var Oe;return Oe=L.pop()||ee.lex()||$,typeof Oe!="number"&&(Oe instanceof Array&&(L=Oe,Oe=L.pop()),Oe=R.symbols_[Oe]||Oe),Oe}s(H,"lex");for(var Q,K,re,ie,ye,j,De={},oe,Re,Pe,Se;;){if(re=D[D.length-1],this.defaultActions[re]?ie=this.defaultActions[re]:((Q===null||typeof Q>"u")&&(Q=H()),ie=F[re]&&F[re][Q]),typeof ie>"u"||!ie.length||!ie[0]){var Ue="";Se=[];for(oe in F[re])this.terminals_[oe]&&oe>U&&Se.push("'"+this.terminals_[oe]+"'");ee.showPosition?Ue="Parse error on line "+(O+1)+`: +`+ee.showPosition()+` +Expecting `+Se.join(", ")+", got '"+(this.terminals_[Q]||Q)+"'":Ue="Parse error on line "+(O+1)+": Unexpected "+(Q==$?"end of input":"'"+(this.terminals_[Q]||Q)+"'"),this.parseError(Ue,{text:ee.match,token:this.terminals_[Q]||Q,line:ee.yylineno,loc:Z,expected:Se})}if(ie[0]instanceof Array&&ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+re+", token: "+Q);switch(ie[0]){case 1:D.push(Q),P.push(ee.yytext),M.push(ee.yylloc),D.push(ie[1]),Q=null,K?(Q=K,K=null):(z=ee.yyleng,I=ee.yytext,O=ee.yylineno,Z=ee.yylloc,N>0&&N--);break;case 2:if(Re=this.productions_[ie[1]][1],De.$=P[P.length-Re],De._$={first_line:M[M.length-(Re||1)].first_line,last_line:M[M.length-1].last_line,first_column:M[M.length-(Re||1)].first_column,last_column:M[M.length-1].last_column},fe&&(De._$.range=[M[M.length-(Re||1)].range[0],M[M.length-1].range[1]]),j=this.performAction.apply(De,[I,z,O,te.yy,ie[1],P,M].concat(W)),typeof j<"u")return j;Re&&(D=D.slice(0,-1*Re*2),P=P.slice(0,-1*Re),M=M.slice(0,-1*Re)),D.push(this.productions_[ie[1]][0]),P.push(De.$),M.push(De._$),Pe=F[D[D.length-2]][D[D.length-1]],D.push(Pe);break;case 3:return!0}}return!0},"parse")},T=function(){var E={EOF:1,parseError:s(function(R,D){if(this.yy.parser)this.yy.parser.parseError(R,D);else throw new Error(R)},"parseError"),setInput:s(function(S,R){return this.yy=R||this.yy||{},this._input=S,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var S=this._input[0];this.yytext+=S,this.yyleng++,this.offset++,this.match+=S,this.matched+=S;var R=S.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),S},"input"),unput:s(function(S){var R=S.length,D=S.split(/(?:\r\n?|\n)/g);this._input=S+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var L=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),D.length-1&&(this.yylineno-=D.length-1);var P=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:D?(D.length===L.length?this.yylloc.first_column:0)+L[L.length-D.length].length-D[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[P[0],P[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(S){this.unput(this.match.slice(S))},"less"),pastInput:s(function(){var S=this.matched.substr(0,this.matched.length-this.match.length);return(S.length>20?"...":"")+S.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var S=this.match;return S.length<20&&(S+=this._input.substr(0,20-S.length)),(S.substr(0,20)+(S.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var S=this.pastInput(),R=new Array(S.length+1).join("-");return S+this.upcomingInput()+` +`+R+"^"},"showPosition"),test_match:s(function(S,R){var D,L,P;if(this.options.backtrack_lexer&&(P={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(P.yylloc.range=this.yylloc.range.slice(0))),L=S[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+S[0].length},this.yytext+=S[0],this.match+=S[0],this.matches=S,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(S[0].length),this.matched+=S[0],D=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),D)return D;if(this._backtrack){for(var M in P)this[M]=P[M];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var S,R,D,L;this._more||(this.yytext="",this.match="");for(var P=this._currentRules(),M=0;MR[0].length)){if(R=D,L=M,this.options.backtrack_lexer){if(S=this.test_match(D,P[M]),S!==!1)return S;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(S=this.test_match(R,P[L]),S!==!1?S:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var R=this.next();return R||this.lex()},"lex"),begin:s(function(R){this.conditionStack.push(R)},"begin"),popState:s(function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:s(function(R){this.begin(R)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(R,D,L,P){var M=P;switch(L){case 0:return this.begin("acc_title"),22;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),24;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;break;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;break;case 22:return D.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return D.yytext[0];case 55:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return E}();w.lexer=T;function C(){this.yy={}}return s(C,"Parser"),C.prototype=w,w.Parser=C,new C}();LL.parser=LL;Rte=LL});var Md,DL,uDe,hDe,Ite,fDe,dDe,pDe,mDe,gDe,Nte,Ote=_(()=>{"use strict";it();gt();Ci();Md=new Map,DL=[],uDe={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},hDe={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},Ite=s(function(t,e=void 0){return Md.has(t)?!Md.get(t).alias&&e&&(Md.get(t).alias=e,V.info(`Add alias '${e}' to entity '${t}'`)):(Md.set(t,{attributes:[],alias:e}),V.info("Added new entity :",t)),Md.get(t)},"addEntity"),fDe=s(()=>Md,"getEntities"),dDe=s(function(t,e){let r=Ite(t),n;for(n=e.length-1;n>=0;n--)r.attributes.push(e[n]),V.debug("Added attribute ",e[n].attributeName)},"addAttributes"),pDe=s(function(t,e,r,n){let i={entityA:t,roleA:e,entityB:r,relSpec:n};DL.push(i),V.debug("Added new relationship :",i)},"addRelationship"),mDe=s(()=>DL,"getRelationships"),gDe=s(function(){Md=new Map,DL=[],br()},"clear"),Nte={Cardinality:uDe,Identification:hDe,getConfig:s(()=>le().er,"getConfig"),addEntity:Ite,addAttributes:dDe,getEntities:fDe,addRelationship:pDe,getRelationships:mDe,clear:gDe,setAccTitle:Ar,getAccTitle:Gr,setAccDescription:Vr,getAccDescription:Ur,setDiagramTitle:an,getDiagramTitle:Qr}});var ml,yDe,Lo,Pte=_(()=>{"use strict";ml={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},yDe=s(function(t,e){let r;t.append("defs").append("marker").attr("id",ml.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",ml.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",ml.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",ml.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",ml.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",ml.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",ml.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",ml.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),r=t.append("defs").append("marker").attr("id",ml.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),r=t.append("defs").append("marker").attr("id",ml.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"insertMarkers"),Lo={ERMarkers:ml,insertMarkers:yDe}});var Bte,Fte=_(()=>{"use strict";Bte=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i});function vDe(t){return typeof t=="string"&&Bte.test(t)}var zte,$te=_(()=>{"use strict";Fte();s(vDe,"validate");zte=vDe});function Gte(t,e=0){return ca[t[e+0]]+ca[t[e+1]]+ca[t[e+2]]+ca[t[e+3]]+"-"+ca[t[e+4]]+ca[t[e+5]]+"-"+ca[t[e+6]]+ca[t[e+7]]+"-"+ca[t[e+8]]+ca[t[e+9]]+"-"+ca[t[e+10]]+ca[t[e+11]]+ca[t[e+12]]+ca[t[e+13]]+ca[t[e+14]]+ca[t[e+15]]}var ca,Vte=_(()=>{"use strict";ca=[];for(let t=0;t<256;++t)ca.push((t+256).toString(16).slice(1));s(Gte,"unsafeStringify")});function xDe(t){if(!zte(t))throw TypeError("Invalid UUID");let e,r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}var Ute,qte=_(()=>{"use strict";$te();s(xDe,"parse");Ute=xDe});function bDe(t){t=unescape(encodeURIComponent(t));let e=[];for(let r=0;r{"use strict";Vte();qte();s(bDe,"stringToBytes");kDe="6ba7b810-9dad-11d1-80b4-00c04fd430c8",wDe="6ba7b811-9dad-11d1-80b4-00c04fd430c8";s(RL,"v35")});function TDe(t,e,r,n){switch(t){case 0:return e&r^~e&n;case 1:return e^r^n;case 2:return e&r^e&n^r&n;case 3:return e^r^n}}function ML(t,e){return t<>>32-e}function EDe(t){let e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){let o=unescape(encodeURIComponent(t));t=[];for(let l=0;l>>0;p=d,d=f,f=ML(h,30)>>>0,h=u,u=y}r[0]=r[0]+u>>>0,r[1]=r[1]+h>>>0,r[2]=r[2]+f>>>0,r[3]=r[3]+d>>>0,r[4]=r[4]+p>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}var Hte,Yte=_(()=>{"use strict";s(TDe,"f");s(ML,"ROTL");s(EDe,"sha1");Hte=EDe});var CDe,IL,Xte=_(()=>{"use strict";Wte();Yte();CDe=RL("v5",80,Hte),IL=CDe});var jte=_(()=>{"use strict";Xte()});function ODe(t="",e=""){let r=t.replace(SDe,"");return`${Qte(e)}${Qte(r)}${IL(t,NDe)}`}function Qte(t=""){return t.length>0?`${t}-`:""}var SDe,_i,bv,_De,ADe,LDe,DDe,Zte,RDe,Kte,MDe,IDe,NDe,Jte,ere=_(()=>{"use strict";la();Xt();Dd();gt();it();pr();Pte();Un();Qt();jte();SDe=/[^\dA-Za-z](\W)*/g,_i={},bv=new Map,_De=s(function(t){let e=Object.keys(t);for(let r of e)_i[r]=t[r]},"setConf"),ADe=s((t,e,r)=>{let n=_i.entityPadding/3,i=_i.entityPadding/3,a=_i.fontSize*.85,o=e.node().getBBox(),l=[],u=!1,h=!1,f=0,d=0,p=0,m=0,g=o.height+n*2,y=1;r.forEach(k=>{k.attributeKeyTypeList!==void 0&&k.attributeKeyTypeList.length>0&&(u=!0),k.attributeComment!==void 0&&(h=!0)}),r.forEach(k=>{let A=`${e.node().id}-attr-${y}`,w=0,T=uh(k.attributeType),C=t.append("text").classed("er entityLabel",!0).attr("id",`${A}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",le().fontFamily).style("font-size",a+"px").text(T),E=t.append("text").classed("er entityLabel",!0).attr("id",`${A}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",le().fontFamily).style("font-size",a+"px").text(k.attributeName),S={};S.tn=C,S.nn=E;let R=C.node().getBBox(),D=E.node().getBBox();if(f=Math.max(f,R.width),d=Math.max(d,D.width),w=Math.max(R.height,D.height),u){let L=k.attributeKeyTypeList!==void 0?k.attributeKeyTypeList.join(","):"",P=t.append("text").classed("er entityLabel",!0).attr("id",`${A}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",le().fontFamily).style("font-size",a+"px").text(L);S.kn=P;let M=P.node().getBBox();p=Math.max(p,M.width),w=Math.max(w,M.height)}if(h){let L=t.append("text").classed("er entityLabel",!0).attr("id",`${A}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",le().fontFamily).style("font-size",a+"px").text(k.attributeComment||"");S.cn=L;let P=L.node().getBBox();m=Math.max(m,P.width),w=Math.max(w,P.height)}S.height=w,l.push(S),g+=w+n*2,y+=1});let v=4;u&&(v+=2),h&&(v+=2);let x=f+d+p+m,b={width:Math.max(_i.minEntityWidth,Math.max(o.width+_i.entityPadding*2,x+i*v)),height:r.length>0?g:Math.max(_i.minEntityHeight,o.height+_i.entityPadding*2)};if(r.length>0){let k=Math.max(0,(b.width-x-i*v)/(v/2));e.attr("transform","translate("+b.width/2+","+(n+o.height/2)+")");let A=o.height+n*2,w="attributeBoxOdd";l.forEach(T=>{let C=A+n+T.height/2;T.tn.attr("transform","translate("+i+","+C+")");let E=t.insert("rect","#"+T.tn.node().id).classed(`er ${w}`,!0).attr("x",0).attr("y",A).attr("width",f+i*2+k).attr("height",T.height+n*2),S=parseFloat(E.attr("x"))+parseFloat(E.attr("width"));T.nn.attr("transform","translate("+(S+i)+","+C+")");let R=t.insert("rect","#"+T.nn.node().id).classed(`er ${w}`,!0).attr("x",S).attr("y",A).attr("width",d+i*2+k).attr("height",T.height+n*2),D=parseFloat(R.attr("x"))+parseFloat(R.attr("width"));if(u){T.kn.attr("transform","translate("+(D+i)+","+C+")");let L=t.insert("rect","#"+T.kn.node().id).classed(`er ${w}`,!0).attr("x",D).attr("y",A).attr("width",p+i*2+k).attr("height",T.height+n*2);D=parseFloat(L.attr("x"))+parseFloat(L.attr("width"))}h&&(T.cn.attr("transform","translate("+(D+i)+","+C+")"),t.insert("rect","#"+T.cn.node().id).classed(`er ${w}`,"true").attr("x",D).attr("y",A).attr("width",m+i*2+k).attr("height",T.height+n*2)),A+=T.height+n*2,w=w==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else b.height=Math.max(_i.minEntityHeight,g),e.attr("transform","translate("+b.width/2+","+b.height/2+")");return b},"drawAttributes"),LDe=s(function(t,e,r){let n=[...e.keys()],i;return n.forEach(function(a){let o=ODe(a,"entity");bv.set(a,o);let l=t.append("g").attr("id",o);i=i===void 0?o:i;let u="text-"+o,h=l.append("text").classed("er entityLabel",!0).attr("id",u).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",le().fontFamily).style("font-size",_i.fontSize+"px").text(e.get(a).alias??a),{width:f,height:d}=ADe(l,h,e.get(a).attributes),m=l.insert("rect","#"+u).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",f).attr("height",d).node().getBBox();r.setNode(o,{width:m.width,height:m.height,shape:"rect",id:o})}),i},"drawEntities"),DDe=s(function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )")})},"adjustEntities"),Zte=s(function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},"getEdgeName"),RDe=s(function(t,e){return t.forEach(function(r){e.setEdge(bv.get(r.entityA),bv.get(r.entityB),{relationship:r},Zte(r))}),t},"addRelationships"),Kte=0,MDe=s(function(t,e,r,n,i){Kte++;let a=r.edge(bv.get(e.entityA),bv.get(e.entityB),Zte(e)),o=ra().x(function(g){return g.x}).y(function(g){return g.y}).curve(hs),l=t.insert("path","#"+n).classed("er relationshipLine",!0).attr("d",o(a.points)).style("stroke",_i.stroke).style("fill","none");e.relSpec.relType===i.db.Identification.NON_IDENTIFYING&&l.attr("stroke-dasharray","8,8");let u="";switch(_i.arrowMarkerAbsolute&&(u=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,u=u.replace(/\(/g,"\\("),u=u.replace(/\)/g,"\\)")),e.relSpec.cardA){case i.db.Cardinality.ZERO_OR_ONE:l.attr("marker-end","url("+u+"#"+Lo.ERMarkers.ZERO_OR_ONE_END+")");break;case i.db.Cardinality.ZERO_OR_MORE:l.attr("marker-end","url("+u+"#"+Lo.ERMarkers.ZERO_OR_MORE_END+")");break;case i.db.Cardinality.ONE_OR_MORE:l.attr("marker-end","url("+u+"#"+Lo.ERMarkers.ONE_OR_MORE_END+")");break;case i.db.Cardinality.ONLY_ONE:l.attr("marker-end","url("+u+"#"+Lo.ERMarkers.ONLY_ONE_END+")");break;case i.db.Cardinality.MD_PARENT:l.attr("marker-end","url("+u+"#"+Lo.ERMarkers.MD_PARENT_END+")");break}switch(e.relSpec.cardB){case i.db.Cardinality.ZERO_OR_ONE:l.attr("marker-start","url("+u+"#"+Lo.ERMarkers.ZERO_OR_ONE_START+")");break;case i.db.Cardinality.ZERO_OR_MORE:l.attr("marker-start","url("+u+"#"+Lo.ERMarkers.ZERO_OR_MORE_START+")");break;case i.db.Cardinality.ONE_OR_MORE:l.attr("marker-start","url("+u+"#"+Lo.ERMarkers.ONE_OR_MORE_START+")");break;case i.db.Cardinality.ONLY_ONE:l.attr("marker-start","url("+u+"#"+Lo.ERMarkers.ONLY_ONE_START+")");break;case i.db.Cardinality.MD_PARENT:l.attr("marker-start","url("+u+"#"+Lo.ERMarkers.MD_PARENT_START+")");break}let h=l.node().getTotalLength(),f=l.node().getPointAtLength(h*.5),d="rel"+Kte,m=t.append("text").classed("er relationshipLabel",!0).attr("id",d).attr("x",f.x).attr("y",f.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",le().fontFamily).style("font-size",_i.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+d).classed("er relationshipLabelBox",!0).attr("x",f.x-m.width/2).attr("y",f.y-m.height/2).attr("width",m.width).attr("height",m.height)},"drawRelationshipFromLayout"),IDe=s(function(t,e,r,n){_i=le().er,V.info("Drawing ER diagram");let i=le().securityLevel,a;i==="sandbox"&&(a=Me("#i"+e));let l=(i==="sandbox"?Me(a.nodes()[0].contentDocument.body):Me("body")).select(`[id='${e}']`);Lo.insertMarkers(l,_i);let u;u=new ir({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:_i.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let h=LDe(l,n.db.getEntities(),u),f=RDe(n.db.getRelationships(),u);eo(u),DDe(l,u),f.forEach(function(y){MDe(l,y,u,h,n)});let d=_i.diagramPadding;dt.insertTitle(l,"entityTitleText",_i.titleTopMargin,n.db.getDiagramTitle());let p=l.node().getBBox(),m=p.width+d*2,g=p.height+d*2;xr(l,g,m,_i.useMaxWidth),l.attr("viewBox",`${p.x-d} ${p.y-d} ${m} ${g}`)},"draw"),NDe="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";s(ODe,"generateId");s(Qte,"strWithHyphen");Jte={setConf:_De,draw:IDe}});var PDe,tre,rre=_(()=>{"use strict";PDe=s(t=>` + .entityBox { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${t.attributeBackgroundColorOdd}; + stroke: ${t.nodeBorder}; + } + + .attributeBoxEven { + fill: ${t.attributeBackgroundColorEven}; + stroke: ${t.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${t.tertiaryColor}; + opacity: 0.7; + background-color: ${t.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${t.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + +`,"getStyles"),tre=PDe});var nre={};ur(nre,{diagram:()=>BDe});var BDe,ire=_(()=>{"use strict";Mte();Ote();ere();rre();BDe={parser:Rte,db:Nte,renderer:Jte,styles:tre}});function $n(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ua(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function NL(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Nd(t){return typeof t=="object"&&t!==null&&$n(t.container)&&ua(t.reference)&&typeof t.message=="string"}function to(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Xh(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function kv(t){return to(t)&&typeof t.fullText=="string"}var Id,Do=_(()=>{"use strict";s($n,"isAstNode");s(ua,"isReference");s(NL,"isAstNodeDescription");s(Nd,"isLinkingError");Id=class{static{s(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return $n(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let a=this.computeIsSubtype(e,r);return n[r]=a,a}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}};s(to,"isCompositeCstNode");s(Xh,"isLeafCstNode");s(kv,"isRootCstNode")});function GDe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Ok(t){return!!t&&typeof t[Symbol.iterator]=="function"}function Wr(...t){if(t.length===1){let e=t[0];if(e instanceof ro)return e;if(Ok(e))return new ro(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new ro(()=>({index:0}),r=>r.index1?new ro(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex{"use strict";ro=class t{static{s(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){let r=e[Symbol.iterator]();return new t(()=>({first:this.startFn(),firstDone:!1}),n=>{let i;if(!n.firstDone){do if(i=this.nextFn(n.first),!i.done)return i;while(!i.done);n.firstDone=!0}do if(i=r.next(),!i.done)return i;while(!i.done);return Wa})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=GDe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Wa:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Wa})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(r.this);if(!n){let a=e(i);if(Ok(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Wa})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let o=n.iterator.next();if(o.done)n.iterator=void 0;else return o}let{done:i,value:a}=r.nextFn(n.this);if(!i)if(Ok(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Wa})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Wa:this.nextFn(r.state)))}distinct(e){let r=new Set;return this.filter(n=>{let i=e?e(n):n;return r.has(i)?!1:(r.add(i),!0)})}exclude(e,r){let n=new Set;for(let i of e){let a=r?r(i):i;n.add(a)}return this.filter(i=>{let a=r?r(i):i;return!n.has(a)})}};s(GDe,"toString");s(Ok,"isIterable");wv=new ro(()=>{},()=>Wa),Wa=Object.freeze({done:!0,value:void 0});s(Wr,"stream");pc=class extends ro{static{s(this,"TreeStreamImpl")}constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let o=i.iterators[i.iterators.length-1].next();if(o.done)i.iterators.pop();else return i.iterators.push(r(o.value)[Symbol.iterator]()),o}return Wa})}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),prune:s(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};(function(t){function e(a){return a.reduce((o,l)=>o+l,0)}s(e,"sum"),t.sum=e;function r(a){return a.reduce((o,l)=>o*l,0)}s(r,"product"),t.product=r;function n(a){return a.reduce((o,l)=>Math.min(o,l))}s(n,"min"),t.min=n;function i(a){return a.reduce((o,l)=>Math.max(o,l))}s(i,"max"),t.max=i})(wm||(wm={}))});var Bk={};ur(Bk,{DefaultNameRegexp:()=>Pk,RangeComparison:()=>Eu,compareRange:()=>lre,findCommentNode:()=>FL,findDeclarationNodeAtOffset:()=>UDe,findLeafNodeAtOffset:()=>zL,findLeafNodeBeforeOffset:()=>cre,flattenCst:()=>VDe,getInteriorNodes:()=>HDe,getNextNode:()=>qDe,getPreviousNode:()=>hre,getStartlineNode:()=>WDe,inRange:()=>BL,isChildNode:()=>PL,isCommentNode:()=>OL,streamCst:()=>Od,toDocumentSegment:()=>Pd,tokenToRange:()=>Tm});function Od(t){return new pc(t,e=>to(e)?e.content:[],{includeRoot:!0})}function VDe(t){return Od(t).filter(Xh)}function PL(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Tm(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Pd(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}function lre(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>e.end.character)return Eu.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineEu.After}function UDe(t,e,r=Pk){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return zL(t,e)}}function FL(t,e){if(t){let r=hre(t,!0);if(r&&OL(r,e))return r;if(kv(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=t.content[i];if(OL(a,e))return a}}}}function OL(t,e){return Xh(t)&&e.includes(t.tokenType.name)}function zL(t,e){if(Xh(t))return t;if(to(t)){let r=ure(t,e,!1);if(r)return zL(r,e)}}function cre(t,e){if(Xh(t))return t;if(to(t)){let r=ure(t,e,!0);if(r)return cre(r,e)}}function ure(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){let o=Math.floor((n+i)/2),l=t.content[o];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=r?l:void 0,n=o+1):i=o-1}return a}function hre(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function qDe(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n{"use strict";Do();Es();s(Od,"streamCst");s(VDe,"flattenCst");s(PL,"isChildNode");s(Tm,"tokenToRange");s(Pd,"toDocumentSegment");(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside"})(Eu||(Eu={}));s(lre,"compareRange");s(BL,"inRange");Pk=/^[\w\p{L}]$/u;s(UDe,"findDeclarationNodeAtOffset");s(FL,"findCommentNode");s(OL,"isCommentNode");s(zL,"findLeafNodeAtOffset");s(cre,"findLeafNodeBeforeOffset");s(ure,"binarySearch");s(hre,"getPreviousNode");s(qDe,"getNextNode");s(WDe,"getStartlineNode");s(HDe,"getInteriorNodes");s(YDe,"getCommonParent");s(ore,"getParentChain")});function jh(t){throw new Error("Error! The input value was not handled.")}var Bd,Fk=_(()=>{"use strict";Bd=class extends Error{static{s(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};s(jh,"assertUnreachable")});var _v={};ur(_v,{AbstractElement:()=>GL,AbstractRule:()=>Tv,AbstractType:()=>Ev,Action:()=>mD,Alternatives:()=>gD,ArrayLiteral:()=>VL,ArrayType:()=>UL,Assignment:()=>yD,BooleanLiteral:()=>WL,CharacterRange:()=>vD,Condition:()=>zk,Conjunction:()=>YL,CrossReference:()=>bD,Disjunction:()=>jL,EndOfFile:()=>kD,Grammar:()=>QL,GrammarImport:()=>dre,Group:()=>TD,InferredType:()=>ZL,Interface:()=>JL,Keyword:()=>ED,LangiumGrammarAstReflection:()=>Em,LangiumGrammarTerminals:()=>XDe,NamedArgument:()=>pre,NegatedToken:()=>CD,Negation:()=>eD,NumberLiteral:()=>rD,Parameter:()=>nD,ParameterReference:()=>iD,ParserRule:()=>sD,ReferenceType:()=>oD,RegexToken:()=>_D,ReturnType:()=>mre,RuleCall:()=>LD,SimpleType:()=>uD,StringLiteral:()=>hD,TerminalAlternatives:()=>DD,TerminalGroup:()=>MD,TerminalRule:()=>Gk,TerminalRuleCall:()=>ND,Type:()=>fD,TypeAttribute:()=>gre,TypeDefinition:()=>$L,UnionType:()=>dD,UnorderedGroup:()=>OD,UntilToken:()=>PD,ValueLiteral:()=>$k,Wildcard:()=>FD,isAbstractElement:()=>Cv,isAbstractRule:()=>jDe,isAbstractType:()=>KDe,isAction:()=>Cu,isAlternatives:()=>Wk,isArrayLiteral:()=>tRe,isArrayType:()=>qL,isAssignment:()=>yl,isBooleanLiteral:()=>HL,isCharacterRange:()=>xD,isCondition:()=>QDe,isConjunction:()=>XL,isCrossReference:()=>Fd,isDisjunction:()=>KL,isEndOfFile:()=>wD,isFeatureName:()=>ZDe,isGrammar:()=>rRe,isGrammarImport:()=>nRe,isGroup:()=>Kh,isInferredType:()=>Vk,isInterface:()=>Uk,isKeyword:()=>Mo,isNamedArgument:()=>iRe,isNegatedToken:()=>SD,isNegation:()=>tD,isNumberLiteral:()=>aRe,isParameter:()=>sRe,isParameterReference:()=>aD,isParserRule:()=>Sa,isPrimitiveType:()=>fre,isReferenceType:()=>lD,isRegexToken:()=>AD,isReturnType:()=>cD,isRuleCall:()=>vl,isSimpleType:()=>qk,isStringLiteral:()=>oRe,isTerminalAlternatives:()=>RD,isTerminalGroup:()=>ID,isTerminalRule:()=>Ro,isTerminalRuleCall:()=>Hk,isType:()=>Sv,isTypeAttribute:()=>lRe,isTypeDefinition:()=>JDe,isUnionType:()=>pD,isUnorderedGroup:()=>Yk,isUntilToken:()=>BD,isValueLiteral:()=>eRe,isWildcard:()=>zD,reflection:()=>Gt});function jDe(t){return Gt.isInstance(t,Tv)}function KDe(t){return Gt.isInstance(t,Ev)}function QDe(t){return Gt.isInstance(t,zk)}function ZDe(t){return fre(t)||t==="current"||t==="entry"||t==="extends"||t==="false"||t==="fragment"||t==="grammar"||t==="hidden"||t==="import"||t==="interface"||t==="returns"||t==="terminal"||t==="true"||t==="type"||t==="infer"||t==="infers"||t==="with"||typeof t=="string"&&/\^?[_a-zA-Z][\w_]*/.test(t)}function fre(t){return t==="string"||t==="number"||t==="boolean"||t==="Date"||t==="bigint"}function JDe(t){return Gt.isInstance(t,$L)}function eRe(t){return Gt.isInstance(t,$k)}function Cv(t){return Gt.isInstance(t,GL)}function tRe(t){return Gt.isInstance(t,VL)}function qL(t){return Gt.isInstance(t,UL)}function HL(t){return Gt.isInstance(t,WL)}function XL(t){return Gt.isInstance(t,YL)}function KL(t){return Gt.isInstance(t,jL)}function rRe(t){return Gt.isInstance(t,QL)}function nRe(t){return Gt.isInstance(t,dre)}function Vk(t){return Gt.isInstance(t,ZL)}function Uk(t){return Gt.isInstance(t,JL)}function iRe(t){return Gt.isInstance(t,pre)}function tD(t){return Gt.isInstance(t,eD)}function aRe(t){return Gt.isInstance(t,rD)}function sRe(t){return Gt.isInstance(t,nD)}function aD(t){return Gt.isInstance(t,iD)}function Sa(t){return Gt.isInstance(t,sD)}function lD(t){return Gt.isInstance(t,oD)}function cD(t){return Gt.isInstance(t,mre)}function qk(t){return Gt.isInstance(t,uD)}function oRe(t){return Gt.isInstance(t,hD)}function Ro(t){return Gt.isInstance(t,Gk)}function Sv(t){return Gt.isInstance(t,fD)}function lRe(t){return Gt.isInstance(t,gre)}function pD(t){return Gt.isInstance(t,dD)}function Cu(t){return Gt.isInstance(t,mD)}function Wk(t){return Gt.isInstance(t,gD)}function yl(t){return Gt.isInstance(t,yD)}function xD(t){return Gt.isInstance(t,vD)}function Fd(t){return Gt.isInstance(t,bD)}function wD(t){return Gt.isInstance(t,kD)}function Kh(t){return Gt.isInstance(t,TD)}function Mo(t){return Gt.isInstance(t,ED)}function SD(t){return Gt.isInstance(t,CD)}function AD(t){return Gt.isInstance(t,_D)}function vl(t){return Gt.isInstance(t,LD)}function RD(t){return Gt.isInstance(t,DD)}function ID(t){return Gt.isInstance(t,MD)}function Hk(t){return Gt.isInstance(t,ND)}function Yk(t){return Gt.isInstance(t,OD)}function BD(t){return Gt.isInstance(t,PD)}function zD(t){return Gt.isInstance(t,FD)}var XDe,Tv,Ev,zk,$L,$k,GL,VL,UL,WL,YL,jL,QL,dre,ZL,JL,pre,eD,rD,nD,iD,sD,oD,mre,uD,hD,Gk,fD,gre,dD,mD,gD,yD,vD,bD,kD,TD,ED,CD,_D,LD,DD,MD,ND,OD,PD,FD,Em,Gt,mc=_(()=>{"use strict";Do();XDe={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},Tv="AbstractRule";s(jDe,"isAbstractRule");Ev="AbstractType";s(KDe,"isAbstractType");zk="Condition";s(QDe,"isCondition");s(ZDe,"isFeatureName");s(fre,"isPrimitiveType");$L="TypeDefinition";s(JDe,"isTypeDefinition");$k="ValueLiteral";s(eRe,"isValueLiteral");GL="AbstractElement";s(Cv,"isAbstractElement");VL="ArrayLiteral";s(tRe,"isArrayLiteral");UL="ArrayType";s(qL,"isArrayType");WL="BooleanLiteral";s(HL,"isBooleanLiteral");YL="Conjunction";s(XL,"isConjunction");jL="Disjunction";s(KL,"isDisjunction");QL="Grammar";s(rRe,"isGrammar");dre="GrammarImport";s(nRe,"isGrammarImport");ZL="InferredType";s(Vk,"isInferredType");JL="Interface";s(Uk,"isInterface");pre="NamedArgument";s(iRe,"isNamedArgument");eD="Negation";s(tD,"isNegation");rD="NumberLiteral";s(aRe,"isNumberLiteral");nD="Parameter";s(sRe,"isParameter");iD="ParameterReference";s(aD,"isParameterReference");sD="ParserRule";s(Sa,"isParserRule");oD="ReferenceType";s(lD,"isReferenceType");mre="ReturnType";s(cD,"isReturnType");uD="SimpleType";s(qk,"isSimpleType");hD="StringLiteral";s(oRe,"isStringLiteral");Gk="TerminalRule";s(Ro,"isTerminalRule");fD="Type";s(Sv,"isType");gre="TypeAttribute";s(lRe,"isTypeAttribute");dD="UnionType";s(pD,"isUnionType");mD="Action";s(Cu,"isAction");gD="Alternatives";s(Wk,"isAlternatives");yD="Assignment";s(yl,"isAssignment");vD="CharacterRange";s(xD,"isCharacterRange");bD="CrossReference";s(Fd,"isCrossReference");kD="EndOfFile";s(wD,"isEndOfFile");TD="Group";s(Kh,"isGroup");ED="Keyword";s(Mo,"isKeyword");CD="NegatedToken";s(SD,"isNegatedToken");_D="RegexToken";s(AD,"isRegexToken");LD="RuleCall";s(vl,"isRuleCall");DD="TerminalAlternatives";s(RD,"isTerminalAlternatives");MD="TerminalGroup";s(ID,"isTerminalGroup");ND="TerminalRuleCall";s(Hk,"isTerminalRuleCall");OD="UnorderedGroup";s(Yk,"isUnorderedGroup");PD="UntilToken";s(BD,"isUntilToken");FD="Wildcard";s(zD,"isWildcard");Em=class extends Id{static{s(this,"LangiumGrammarAstReflection")}getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayLiteral","ArrayType","Assignment","BooleanLiteral","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","EndOfFile","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","NamedArgument","NegatedToken","Negation","NumberLiteral","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","StringLiteral","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","ValueLiteral","Wildcard"]}computeIsSubtype(e,r){switch(e){case mD:case gD:case yD:case vD:case bD:case kD:case TD:case ED:case CD:case _D:case LD:case DD:case MD:case ND:case OD:case PD:case FD:return this.isSubtype(GL,r);case VL:case rD:case hD:return this.isSubtype($k,r);case UL:case oD:case uD:case dD:return this.isSubtype($L,r);case WL:return this.isSubtype(zk,r)||this.isSubtype($k,r);case YL:case jL:case eD:case iD:return this.isSubtype(zk,r);case ZL:case JL:case fD:return this.isSubtype(Ev,r);case sD:return this.isSubtype(Tv,r)||this.isSubtype(Ev,r);case Gk:return this.isSubtype(Tv,r);default:return!1}}getReferenceType(e){let r=`${e.container.$type}:${e.property}`;switch(r){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Ev;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Tv;case"Grammar:usedGrammars":return QL;case"NamedArgument:parameter":case"ParameterReference:parameter":return nD;case"TerminalRuleCall:rule":return Gk;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"AbstractElement":return{name:"AbstractElement",properties:[{name:"cardinality"},{name:"lookahead"}]};case"ArrayLiteral":return{name:"ArrayLiteral",properties:[{name:"elements",defaultValue:[]}]};case"ArrayType":return{name:"ArrayType",properties:[{name:"elementType"}]};case"BooleanLiteral":return{name:"BooleanLiteral",properties:[{name:"true",defaultValue:!1}]};case"Conjunction":return{name:"Conjunction",properties:[{name:"left"},{name:"right"}]};case"Disjunction":return{name:"Disjunction",properties:[{name:"left"},{name:"right"}]};case"Grammar":return{name:"Grammar",properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case"GrammarImport":return{name:"GrammarImport",properties:[{name:"path"}]};case"InferredType":return{name:"InferredType",properties:[{name:"name"}]};case"Interface":return{name:"Interface",properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case"NamedArgument":return{name:"NamedArgument",properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case"Negation":return{name:"Negation",properties:[{name:"value"}]};case"NumberLiteral":return{name:"NumberLiteral",properties:[{name:"value"}]};case"Parameter":return{name:"Parameter",properties:[{name:"name"}]};case"ParameterReference":return{name:"ParameterReference",properties:[{name:"parameter"}]};case"ParserRule":return{name:"ParserRule",properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case"ReferenceType":return{name:"ReferenceType",properties:[{name:"referenceType"}]};case"ReturnType":return{name:"ReturnType",properties:[{name:"name"}]};case"SimpleType":return{name:"SimpleType",properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case"StringLiteral":return{name:"StringLiteral",properties:[{name:"value"}]};case"TerminalRule":return{name:"TerminalRule",properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case"Type":return{name:"Type",properties:[{name:"name"},{name:"type"}]};case"TypeAttribute":return{name:"TypeAttribute",properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case"UnionType":return{name:"UnionType",properties:[{name:"types",defaultValue:[]}]};case"Action":return{name:"Action",properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case"Alternatives":return{name:"Alternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"Assignment":return{name:"Assignment",properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case"CharacterRange":return{name:"CharacterRange",properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case"CrossReference":return{name:"CrossReference",properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case"EndOfFile":return{name:"EndOfFile",properties:[{name:"cardinality"},{name:"lookahead"}]};case"Group":return{name:"Group",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case"Keyword":return{name:"Keyword",properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case"NegatedToken":return{name:"NegatedToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"RegexToken":return{name:"RegexToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case"RuleCall":return{name:"RuleCall",properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalGroup":return{name:"TerminalGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalRuleCall":return{name:"TerminalRuleCall",properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"UnorderedGroup":return{name:"UnorderedGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"UntilToken":return{name:"UntilToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"Wildcard":return{name:"Wildcard",properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}},Gt=new Em});var jk={};ur(jk,{assignMandatoryProperties:()=>VD,copyAstNode:()=>GD,findLocalReferences:()=>uRe,findRootNode:()=>yre,getContainerOfType:()=>zd,getDocument:()=>Ai,hasContainerOfType:()=>cRe,linkContentToContainer:()=>Xk,streamAllContents:()=>gc,streamAst:()=>Io,streamContents:()=>Av,streamReferences:()=>Cm});function Xk(t){for(let[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach((n,i)=>{$n(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)}):$n(r)&&(r.$container=t,r.$containerProperty=e))}function zd(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function cRe(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Ai(t){let r=yre(t).$document;if(!r)throw new Error("AST node has no document.");return r}function yre(t){for(;t.$container;)t=t.$container;return t}function Av(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new ro(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexAv(r,e))}function Io(t,e){if(t){if(e?.range&&!$D(t,e.range))return new pc(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new pc(t,r=>Av(r,e),{includeRoot:!0})}function $D(t,e){var r;if(!e)return!0;let n=(r=t.$cstNode)===null||r===void 0?void 0:r.range;return n?BL(n,e):!1}function Cm(t){return new ro(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{Cm(n).forEach(i=>{i.reference.ref===t&&r.push(i.reference)})}),Wr(r)}function VD(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of r.properties)i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=vre(i.defaultValue))}function vre(t){return Array.isArray(t)?[...t.map(vre)]:t}function GD(t,e){let r={$type:t.$type};for(let[n,i]of Object.entries(t))if(!n.startsWith("$"))if($n(i))r[n]=GD(i,e);else if(ua(i))r[n]=e(r,n,i.$refNode,i.$refText);else if(Array.isArray(i)){let a=[];for(let o of i)$n(o)?a.push(GD(o,e)):ua(o)?a.push(e(r,n,o.$refNode,o.$refText)):a.push(o);r[n]=a}else r[n]=i;return Xk(r),r}var Ha=_(()=>{"use strict";Do();Es();gl();s(Xk,"linkContentToContainer");s(zd,"getContainerOfType");s(cRe,"hasContainerOfType");s(Ai,"getDocument");s(yre,"findRootNode");s(Av,"streamContents");s(gc,"streamAllContents");s(Io,"streamAst");s($D,"isAstNodeInRange");s(Cm,"streamReferences");s(uRe,"findLocalReferences");s(VD,"assignMandatoryProperties");s(vre,"copyDefaultValue");s(GD,"copyAstNode")});function zt(t){return t.charCodeAt(0)}function Kk(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Sm(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function $d(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Lv(){throw Error("Internal Error - Should never get here!")}function UD(t){return t.type==="Character"}var qD=_(()=>{"use strict";s(zt,"cc");s(Kk,"insertToSet");s(Sm,"addFlag");s($d,"ASSERT_EXISTS");s(Lv,"ASSERT_NEVER_REACH_HERE");s(UD,"isCharacter")});var Dv,Rv,WD,xre=_(()=>{"use strict";qD();Dv=[];for(let t=zt("0");t<=zt("9");t++)Dv.push(t);Rv=[zt("_")].concat(Dv);for(let t=zt("a");t<=zt("z");t++)Rv.push(t);for(let t=zt("A");t<=zt("Z");t++)Rv.push(t);WD=[zt(" "),zt("\f"),zt(` +`),zt("\r"),zt(" "),zt("\v"),zt(" "),zt("\xA0"),zt("\u1680"),zt("\u2000"),zt("\u2001"),zt("\u2002"),zt("\u2003"),zt("\u2004"),zt("\u2005"),zt("\u2006"),zt("\u2007"),zt("\u2008"),zt("\u2009"),zt("\u200A"),zt("\u2028"),zt("\u2029"),zt("\u202F"),zt("\u205F"),zt("\u3000"),zt("\uFEFF")]});var hRe,Qk,fRe,Gd,bre=_(()=>{"use strict";qD();xre();hRe=/[0-9a-fA-F]/,Qk=/[0-9]/,fRe=/[1-9]/,Gd=class{static{s(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Sm(n,"global");break;case"i":Sm(n,"ignoreCase");break;case"m":Sm(n,"multiLine");break;case"u":Sm(n,"unicode");break;case"y":Sm(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break}$d(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return Lv()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;$d(r);break}if(!(e===!0&&r===void 0)&&$d(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),$d(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Lv()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[zt(` +`),zt("\r"),zt("\u2028"),zt("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Dv;break;case"D":e=Dv,r=!0;break;case"s":e=WD;break;case"S":e=WD,r=!0;break;case"w":e=Rv;break;case"W":e=Rv,r=!0;break}return $d(e)?{type:"Set",value:e,complement:r}:Lv()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=zt("\f");break;case"n":e=zt(` +`);break;case"r":e=zt("\r");break;case"t":e=zt(" ");break;case"v":e=zt("\v");break}return $d(e)?{type:"Character",value:e}:Lv()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:zt("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:zt(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:zt(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(UD(n)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),o=a.type==="Character";if(UD(a)){if(a.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}});var yc,kre=_(()=>{"use strict";yc=class{static{s(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}});var Mv=_(()=>{"use strict";bre();kre()});var Jk={};ur(Jk,{NEWLINE_REGEXP:()=>YD,escapeRegExp:()=>Ud,getCaseInsensitivePattern:()=>jD,getTerminalParts:()=>dRe,isMultilineComment:()=>XD,isWhitespace:()=>Zk,partialMatches:()=>KD,partialRegExp:()=>Tre});function dRe(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=wre.pattern(t),r=[];for(let n of e.value.value)Vd.reset(t),Vd.visit(n),r.push({start:Vd.startRegexp,end:Vd.endRegex});return r}catch{return[]}}function XD(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Vd.reset(t),Vd.visit(wre.pattern(t)),Vd.multiline}catch{return!1}}function Zk(t){return(typeof t=="string"?new RegExp(t):t).test(" ")}function Ud(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function jD(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Ud(e)).join("")}function KD(t,e){let r=Tre(t),n=e.match(r);return!!n&&n[0].length>0}function Tre(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",o;function l(h){a+=r.substr(n,h),n+=h}s(l,"appendRaw");function u(h){a+="(?:"+r.substr(n,h)+"|$)",n+=h}for(s(u,"appendOptional");n",n)-n+1);break;default:u(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=n,o=o.exec(r)||[],u(o[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":o=/\{\d+,?\d*\}/g,o.lastIndex=n,o=o.exec(r),o?l(o[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":o=n,n+=3,i(),a+=r.substr(o,n-o);break;case"<":switch(r[n+3]){case"=":case"!":o=n,n+=4,i(),a+=r.substr(o,n-o);break;default:l(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++n,a;default:u(1);break}return a}return s(i,"process"),new RegExp(i(),t.flags)}var YD,wre,HD,Vd,_m=_(()=>{"use strict";Mv();YD=/\r?\n/gm,wre=new Gd,HD=class extends yc{static{s(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===` +`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Ud(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` +`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},Vd=new HD;s(dRe,"getTerminalParts");s(XD,"isMultilineComment");s(Zk,"isWhitespace");s(Ud,"escapeRegExp");s(jD,"getCaseInsensitivePattern");s(KD,"partialMatches");s(Tre,"partialRegExp")});var t6={};ur(t6,{findAssignment:()=>aR,findNameAssignment:()=>e6,findNodeForKeyword:()=>nR,findNodeForProperty:()=>Nv,findNodesForKeyword:()=>pRe,findNodesForKeywordInternal:()=>iR,findNodesForProperty:()=>tR,getActionAtElement:()=>Are,getActionType:()=>Dre,getAllReachableRules:()=>Iv,getCrossReferenceTerminal:()=>JD,getEntryRule:()=>Ere,getExplicitRuleType:()=>sR,getHiddenRules:()=>Cre,getRuleType:()=>oR,getTypeName:()=>qd,isArrayCardinality:()=>gRe,isArrayOperator:()=>yRe,isCommentTerminal:()=>eR,isDataType:()=>vRe,isDataTypeRule:()=>Ov,isOptionalCardinality:()=>mRe,terminalRegex:()=>Am});function Ere(t){return t.rules.find(e=>Sa(e)&&e.entry)}function Cre(t){return t.rules.filter(e=>Ro(e)&&e.hidden)}function Iv(t,e){let r=new Set,n=Ere(t);if(!n)return new Set(t.rules);let i=[n].concat(Cre(t));for(let o of i)Sre(o,r,e);let a=new Set;for(let o of t.rules)(r.has(o.name)||Ro(o)&&o.hidden)&&a.add(o);return a}function Sre(t,e,r){e.add(t.name),gc(t).forEach(n=>{if(vl(n)||r&&Hk(n)){let i=n.rule.ref;i&&!e.has(i.name)&&Sre(i,e,r)}})}function JD(t){if(t.terminal)return t.terminal;if(t.type.ref){let e=e6(t.type.ref);return e?.terminal}}function eR(t){return t.hidden&&!Am(t).test(" ")}function tR(t,e){return!t||!e?[]:rR(t,e,t.astNode,!0)}function Nv(t,e,r){if(!t||!e)return;let n=rR(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function rR(t,e,r,n){if(!n){let i=zd(t.grammarSource,yl);if(i&&i.feature===e)return[t]}return to(t)&&t.astNode===r?t.content.flatMap(i=>rR(i,e,r,!1)):[]}function pRe(t,e){return t?iR(t,e,t?.astNode):[]}function nR(t,e,r){if(!t)return;let n=iR(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function iR(t,e,r){if(t.astNode!==r)return[];if(Mo(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=Od(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let o=i.value;o.astNode===r?Mo(o.grammarSource)&&o.grammarSource.value===e&&a.push(o):n.prune()}while(!i.done);return a}function aR(t){var e;let r=t.astNode;for(;r===((e=t.container)===null||e===void 0?void 0:e.astNode);){let n=zd(t.grammarSource,yl);if(n)return n;t=t.container}}function e6(t){let e=t;return Vk(e)&&(Cu(e.$container)?e=e.$container.$container:Sa(e.$container)?e=e.$container:jh(e.$container)),_re(t,e,new Map)}function _re(t,e,r){var n;function i(a,o){let l;return zd(a,yl)||(l=_re(o,o,r)),r.set(t,l),l}if(s(i,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let a of gc(e)){if(yl(a)&&a.feature.toLowerCase()==="name")return r.set(t,a),a;if(vl(a)&&Sa(a.rule.ref))return i(a,a.rule.ref);if(qk(a)&&(!((n=a.typeRef)===null||n===void 0)&&n.ref))return i(a,a.typeRef.ref)}}function Are(t){let e=t.$container;if(Kh(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(Cu(a))return a;{let o=gc(r[i]).find(Cu);if(o)return o}}}if(Cv(e))return Are(e)}function mRe(t,e){return t==="?"||t==="*"||Kh(e)&&!!e.guardCondition}function gRe(t){return t==="*"||t==="+"}function yRe(t){return t==="+="}function Ov(t){return Lre(t,new Set)}function Lre(t,e){if(e.has(t))return!0;e.add(t);for(let r of gc(t))if(vl(r)){if(!r.rule.ref||Sa(r.rule.ref)&&!Lre(r.rule.ref,e))return!1}else{if(yl(r))return!1;if(Cu(r))return!1}return!!t.definition}function vRe(t){return ZD(t.type,new Set)}function ZD(t,e){if(e.has(t))return!0;if(e.add(t),qL(t))return!1;if(lD(t))return!1;if(pD(t))return t.types.every(r=>ZD(r,e));if(qk(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return Sv(r)?ZD(r.type,e):!1}else return!1}else return!1}function sR(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e){if(Sa(e))return e.name;if(Uk(e)||Sv(e))return e.name}}}function qd(t){var e;if(Sa(t))return Ov(t)?t.name:(e=sR(t))!==null&&e!==void 0?e:t.name;if(Uk(t)||Sv(t)||cD(t))return t.name;if(Cu(t)){let r=Dre(t);if(r)return r}else if(Vk(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Dre(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return qd(t.type.ref)}function oR(t){var e,r,n;return Ro(t)?(r=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&r!==void 0?r:"string":Ov(t)?t.name:(n=sR(t))!==null&&n!==void 0?n:t.name}function Am(t){let e={s:!1,i:!1,u:!1},r=Lm(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}function Lm(t,e){if(RD(t))return xRe(t);if(ID(t))return bRe(t);if(xD(t))return TRe(t);if(Hk(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Su(Lm(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(SD(t))return wRe(t);if(BD(t))return kRe(t);if(AD(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Su(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(zD(t))return Su(lR,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function xRe(t){return Su(t.elements.map(e=>Lm(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function bRe(t){return Su(t.elements.map(e=>Lm(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function kRe(t){return Su(`${lR}*?${Lm(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function wRe(t){return Su(`(?!${Lm(t.terminal)})${lR}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function TRe(t){return t.right?Su(`[${QD(t.left)}-${QD(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):Su(QD(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function QD(t){return Ud(t.value)}function Su(t,e){var r;return(e.wrap!==!1||e.lookahead)&&(t=`(${(r=e.lookahead)!==null&&r!==void 0?r:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}var lR,xl=_(()=>{"use strict";Fk();mc();Do();Ha();gl();_m();s(Ere,"getEntryRule");s(Cre,"getHiddenRules");s(Iv,"getAllReachableRules");s(Sre,"ruleDfs");s(JD,"getCrossReferenceTerminal");s(eR,"isCommentTerminal");s(tR,"findNodesForProperty");s(Nv,"findNodeForProperty");s(rR,"findNodesForPropertyInternal");s(pRe,"findNodesForKeyword");s(nR,"findNodeForKeyword");s(iR,"findNodesForKeywordInternal");s(aR,"findAssignment");s(e6,"findNameAssignment");s(_re,"findNameAssignmentInternal");s(Are,"getActionAtElement");s(mRe,"isOptionalCardinality");s(gRe,"isArrayCardinality");s(yRe,"isArrayOperator");s(Ov,"isDataTypeRule");s(Lre,"isDataTypeRuleInternal");s(vRe,"isDataType");s(ZD,"isDataTypeInternal");s(sR,"getExplicitRuleType");s(qd,"getTypeName");s(Dre,"getActionType");s(oR,"getRuleType");s(Am,"terminalRegex");lR=/[\s\S]/.source;s(Lm,"abstractElementToRegex");s(xRe,"terminalAlternativesToRegex");s(bRe,"terminalGroupToRegex");s(kRe,"untilTokenToRegex");s(wRe,"negateTokenToRegex");s(TRe,"characterRangeToRegex");s(QD,"keywordToRegex");s(Su,"withCardinality")});function cR(t){let e=[],r=t.Grammar;for(let n of r.rules)Ro(n)&&eR(n)&&XD(Am(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:Pk}}var uR=_(()=>{"use strict";gl();xl();_m();mc();s(cR,"createGrammarConfig")});var hR=_(()=>{"use strict"});function Dm(t){console&&console.error&&console.error(`Error: ${t}`)}function Pv(t){console&&console.warn&&console.warn(`Warning: ${t}`)}var Rre=_(()=>{"use strict";s(Dm,"PRINT_ERROR");s(Pv,"PRINT_WARNING")});function Bv(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}var Mre=_(()=>{"use strict";s(Bv,"timer")});function Fv(t){function e(){}s(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return s(n,"fakeAccess"),n(),n(),t;(0,eval)(t)}var Ire=_(()=>{"use strict";s(Fv,"toFastProperties")});var Rm=_(()=>{"use strict";Rre();Mre();Ire()});function ERe(t){return CRe(t)?t.LABEL:t.name}function CRe(t){return si(t.LABEL)&&t.LABEL!==""}function r6(t){return Ge(t,Mm)}function Mm(t){function e(r){return Ge(r,Mm)}if(s(e,"convertDefinition"),t instanceof Yr){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return si(t.label)&&(r.label=t.label),r}else{if(t instanceof vn)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Xr)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof xn)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof bn)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Mm(new sr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ln)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Mm(new sr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof mr)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof cn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof sr){let r={type:"Terminal",name:t.terminalType.name,label:ERe(t.terminalType),idx:t.idx};si(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=_o(n)?n.source:n),r}else{if(t instanceof Ya)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var no,Yr,Ya,vn,Xr,xn,bn,mr,ln,cn,sr,n6=_(()=>{"use strict";Tt();s(ERe,"tokenLabel");s(CRe,"hasTokenLabel");no=class{static{s(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),be(this.definition,r=>{r.accept(e)})}},Yr=class extends no{static{s(this,"NonTerminal")}constructor(e){super([]),this.idx=1,aa(this,Ts(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Ya=class extends no{static{s(this,"Rule")}constructor(e){super(e.definition),this.orgText="",aa(this,Ts(e,r=>r!==void 0))}},vn=class extends no{static{s(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,aa(this,Ts(e,r=>r!==void 0))}},Xr=class extends no{static{s(this,"Option")}constructor(e){super(e.definition),this.idx=1,aa(this,Ts(e,r=>r!==void 0))}},xn=class extends no{static{s(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,aa(this,Ts(e,r=>r!==void 0))}},bn=class extends no{static{s(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,aa(this,Ts(e,r=>r!==void 0))}},mr=class extends no{static{s(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,aa(this,Ts(e,r=>r!==void 0))}},ln=class extends no{static{s(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,aa(this,Ts(e,r=>r!==void 0))}},cn=class extends no{static{s(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,aa(this,Ts(e,r=>r!==void 0))}},sr=class{static{s(this,"Terminal")}constructor(e){this.idx=1,aa(this,Ts(e,r=>r!==void 0))}accept(e){e.visit(this)}};s(r6,"serializeGrammar");s(Mm,"serializeProduction")});var Xa,Nre=_(()=>{"use strict";n6();Xa=class{static{s(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case Yr:return this.visitNonTerminal(r);case vn:return this.visitAlternative(r);case Xr:return this.visitOption(r);case xn:return this.visitRepetitionMandatory(r);case bn:return this.visitRepetitionMandatoryWithSeparator(r);case ln:return this.visitRepetitionWithSeparator(r);case mr:return this.visitRepetition(r);case cn:return this.visitAlternation(r);case sr:return this.visitTerminal(r);case Ya:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}});function fR(t){return t instanceof vn||t instanceof Xr||t instanceof mr||t instanceof xn||t instanceof bn||t instanceof ln||t instanceof sr||t instanceof Ya}function Wd(t,e=[]){return t instanceof Xr||t instanceof mr||t instanceof ln?!0:t instanceof cn?pv(t.definition,n=>Wd(n,e)):t instanceof Yr&&Rn(e,t)?!1:t instanceof no?(t instanceof Yr&&e.push(t),Ca(t.definition,n=>Wd(n,e))):!1}function dR(t){return t instanceof cn}function Cs(t){if(t instanceof Yr)return"SUBRULE";if(t instanceof Xr)return"OPTION";if(t instanceof cn)return"OR";if(t instanceof xn)return"AT_LEAST_ONE";if(t instanceof bn)return"AT_LEAST_ONE_SEP";if(t instanceof ln)return"MANY_SEP";if(t instanceof mr)return"MANY";if(t instanceof sr)return"CONSUME";throw Error("non exhaustive match")}var Ore=_(()=>{"use strict";Tt();n6();s(fR,"isSequenceProd");s(Wd,"isOptionalProd");s(dR,"isBranchingProd");s(Cs,"getProductionDslName")});var ja=_(()=>{"use strict";n6();Nre();Ore()});function Pre(t,e,r){return[new Xr({definition:[new sr({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}var _u,i6=_(()=>{"use strict";Tt();ja();_u=class{static{s(this,"RestWalker")}walk(e,r=[]){be(e.definition,(n,i)=>{let a=ai(e.definition,i+1);if(n instanceof Yr)this.walkProdRef(n,a,r);else if(n instanceof sr)this.walkTerminal(n,a,r);else if(n instanceof vn)this.walkFlat(n,a,r);else if(n instanceof Xr)this.walkOption(n,a,r);else if(n instanceof xn)this.walkAtLeastOne(n,a,r);else if(n instanceof bn)this.walkAtLeastOneSep(n,a,r);else if(n instanceof ln)this.walkManySep(n,a,r);else if(n instanceof mr)this.walkMany(n,a,r);else if(n instanceof cn)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Xr({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=Pre(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Xr({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=Pre(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);be(e.definition,a=>{let o=new vn({definition:[a]});this.walk(o,i)})}};s(Pre,"restForRepetitionWithSeparator")});function Hd(t){if(t instanceof Yr)return Hd(t.referencedRule);if(t instanceof sr)return ARe(t);if(fR(t))return SRe(t);if(dR(t))return _Re(t);throw Error("non exhaustive match")}function SRe(t){let e=[],r=t.definition,n=0,i=r.length>n,a,o=!0;for(;i&&o;)a=r[n],o=Wd(a),e=e.concat(Hd(a)),n=n+1,i=r.length>n;return bm(e)}function _Re(t){let e=Ge(t.definition,r=>Hd(r));return bm(Ir(e))}function ARe(t){return[t.terminalType]}var pR=_(()=>{"use strict";Tt();ja();s(Hd,"first");s(SRe,"firstForSequence");s(_Re,"firstForBranching");s(ARe,"firstForTerminal")});var a6,mR=_(()=>{"use strict";a6="_~IN~_"});function Bre(t){let e={};return be(t,r=>{let n=new gR(r).startWalking();aa(e,n)}),e}function LRe(t,e){return t.name+e+a6}var gR,Fre=_(()=>{"use strict";i6();pR();Tt();mR();ja();gR=class extends _u{static{s(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=LRe(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),o=new vn({definition:a}),l=Hd(o);this.follows[i]=l}};s(Bre,"computeAllProdsFollows");s(LRe,"buildBetweenProdsFollowPrefix")});function Im(t){let e=t.toString();if(s6.hasOwnProperty(e))return s6[e];{let r=DRe.pattern(e);return s6[e]=r,r}}function zre(){s6={}}var s6,DRe,o6=_(()=>{"use strict";Mv();s6={},DRe=new Gd;s(Im,"getRegExpAst");s(zre,"clearRegExpParserCache")});function Vre(t,e=!1){try{let r=Im(t);return yR(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Gre)e&&Pv(`${zv} Unable to optimize: < ${t.toString()} > + Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Dm(`${zv} + Failed parsing: < ${t.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function yR(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof u=="number")l6(u,e,r);else{let h=u;if(r===!0)for(let f=h.from;f<=h.to;f++)l6(f,e,r);else{for(let f=h.from;f<=h.to&&f=Nm){let f=h.from>=Nm?h.from:Nm,d=h.to,p=vc(f),m=vc(d);for(let g=p;g<=m;g++)e[g]=g}}}});break;case"Group":yR(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&vR(o)===!1||o.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return nr(e)}function l6(t,e,r){let n=vc(t);e[n]=n,r===!0&&RRe(t,e)}function RRe(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=vc(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=vc(i.charCodeAt(0));e[a]=a}}}function $re(t,e){return qa(t.value,r=>{if(typeof r=="number")return Rn(e,r);{let n=r;return qa(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function vR(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?ct(t.value)?Ca(t.value,vR):vR(t.value):!1}function c6(t,e){if(e instanceof RegExp){let r=Im(e),n=new xR(t);return n.visit(r),n.found}else return qa(e,r=>Rn(t,r.charCodeAt(0)))!==void 0}var Gre,zv,xR,Ure=_(()=>{"use strict";Mv();Tt();Rm();o6();bR();Gre="Complement Sets are not supported for first char optimization",zv=`Unable to use "first char" lexer optimizations: +`;s(Vre,"getOptimizedStartCodesIndices");s(yR,"firstCharOptimizedIndices");s(l6,"addOptimizedIdxToResult");s(RRe,"handleIgnoreCase");s($re,"findCode");s(vR,"isWholeOptional");xR=class extends yc{static{s(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){Rn(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?$re(e,this.targetCharCodes)===void 0&&(this.found=!0):$re(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};s(c6,"canMatchCharCode")});function Hre(t,e){e=Vh(e,{useSticky:wR,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:s((b,k)=>k(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{jRe()});let n;r("Reject Lexer.NA",()=>{n=qh(t,b=>b[Yd]===jn.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=Ge(n,b=>{let k=b[Yd];if(_o(k)){let A=k.source;return A.length===1&&A!=="^"&&A!=="$"&&A!=="."&&!k.ignoreCase?A:A.length===2&&A[0]==="\\"&&!Rn(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],A[1])?A[1]:e.useSticky?Wre(k):qre(k)}else{if(fi(k))return i=!0,{exec:k};if(typeof k=="object")return i=!0,k;if(typeof k=="string"){if(k.length===1)return k;{let A=k.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),w=new RegExp(A);return e.useSticky?Wre(w):qre(w)}}else throw Error("non exhaustive match")}})});let o,l,u,h,f;r("misc mapping",()=>{o=Ge(n,b=>b.tokenTypeIdx),l=Ge(n,b=>{let k=b.GROUP;if(k!==jn.SKIPPED){if(si(k))return k;if(jt(k))return!1;throw Error("non exhaustive match")}}),u=Ge(n,b=>{let k=b.LONGER_ALT;if(k)return ct(k)?Ge(k,w=>pk(n,w)):[pk(n,k)]}),h=Ge(n,b=>b.PUSH_MODE),f=Ge(n,b=>Ve(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=ene(e.lineTerminatorCharacters);d=Ge(n,k=>!1),e.positionTracking!=="onlyOffset"&&(d=Ge(n,k=>Ve(k,"LINE_BREAKS")?!!k.LINE_BREAKS:Jre(k,b)===!1&&c6(b,k.PATTERN)))});let p,m,g,y;r("Misc Mapping #2",()=>{p=Ge(n,Qre),m=Ge(a,YRe),g=Or(n,(b,k)=>{let A=k.GROUP;return si(A)&&A!==jn.SKIPPED&&(b[A]=[]),b},{}),y=Ge(a,(b,k)=>({pattern:a[k],longerAlt:u[k],canLineTerminator:d[k],isCustom:p[k],short:m[k],group:l[k],push:h[k],pop:f[k],tokenTypeIdx:o[k],tokenType:n[k]}))});let v=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=Or(n,(b,k,A)=>{if(typeof k.PATTERN=="string"){let w=k.PATTERN.charCodeAt(0),T=vc(w);kR(b,T,y[A])}else if(ct(k.START_CHARS_HINT)){let w;be(k.START_CHARS_HINT,T=>{let C=typeof T=="string"?T.charCodeAt(0):T,E=vc(C);w!==E&&(w=E,kR(b,E,y[A]))})}else if(_o(k.PATTERN))if(k.PATTERN.unicode)v=!1,e.ensureOptimizations&&Dm(`${zv} Unable to analyze < ${k.PATTERN.toString()} > pattern. + The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let w=Vre(k.PATTERN,e.ensureOptimizations);Vt(w)&&(v=!1),be(w,T=>{kR(b,T,y[A])})}else e.ensureOptimizations&&Dm(`${zv} TokenType: <${k.name}> is using a custom token pattern without providing parameter. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:v}}function Yre(t,e){let r=[],n=IRe(t);r=r.concat(n.errors);let i=NRe(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(MRe(a)),r=r.concat(VRe(a)),r=r.concat(URe(a,e)),r=r.concat(qRe(a)),r}function MRe(t){let e=[],r=Nr(t,n=>_o(n[Yd]));return e=e.concat(PRe(r)),e=e.concat(zRe(r)),e=e.concat($Re(r)),e=e.concat(GRe(r)),e=e.concat(BRe(r)),e}function IRe(t){let e=Nr(t,i=>!Ve(i,Yd)),r=Ge(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:In.MISSING_PATTERN,tokenTypes:[i]})),n=Uh(t,e);return{errors:r,valid:n}}function NRe(t){let e=Nr(t,i=>{let a=i[Yd];return!_o(a)&&!fi(a)&&!Ve(a,"exec")&&!si(a)}),r=Ge(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:In.INVALID_PATTERN,tokenTypes:[i]})),n=Uh(t,e);return{errors:r,valid:n}}function PRe(t){class e extends yc{static{s(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=Nr(t,i=>{let a=i.PATTERN;try{let o=Im(a),l=new e;return l.visit(o),l.found}catch{return ORe.test(a.source)}});return Ge(r,i=>({message:`Unexpected RegExp Anchor Error: + Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:In.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function BRe(t){let e=Nr(t,n=>n.PATTERN.test(""));return Ge(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:In.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}function zRe(t){class e extends yc{static{s(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=Nr(t,i=>{let a=i.PATTERN;try{let o=Im(a),l=new e;return l.visit(o),l.found}catch{return FRe.test(a.source)}});return Ge(r,i=>({message:`Unexpected RegExp Anchor Error: + Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:In.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function $Re(t){let e=Nr(t,n=>{let i=n[Yd];return i instanceof RegExp&&(i.multiline||i.global)});return Ge(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:In.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function GRe(t){let e=[],r=Ge(t,a=>Or(t,(o,l)=>(a.PATTERN.source===l.PATTERN.source&&!Rn(e,l)&&l.PATTERN!==jn.NA&&(e.push(l),o.push(l)),o),[]));r=uc(r);let n=Nr(r,a=>a.length>1);return Ge(n,a=>{let o=Ge(a,u=>u.name);return{message:`The same RegExp pattern ->${Yi(a).PATTERN}<-has been used in all of the following Token Types: ${o.join(", ")} <-`,type:In.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function VRe(t){let e=Nr(t,n=>{if(!Ve(n,"GROUP"))return!1;let i=n.GROUP;return i!==jn.SKIPPED&&i!==jn.NA&&!si(i)});return Ge(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:In.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function URe(t,e){let r=Nr(t,i=>i.PUSH_MODE!==void 0&&!Rn(e,i.PUSH_MODE));return Ge(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:In.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function qRe(t){let e=[],r=Or(t,(n,i,a)=>{let o=i.PATTERN;return o===jn.NA||(si(o)?n.push({str:o,idx:a,tokenType:i}):_o(o)&&HRe(o)&&n.push({str:o.source,idx:a,tokenType:i})),n},[]);return be(t,(n,i)=>{be(r,({str:a,idx:o,tokenType:l})=>{if(i${l.name}<- can never be matched. +Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:In.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}function WRe(t,e){if(_o(e)){let r=e.exec(t);return r!==null&&r.index===0}else{if(fi(e))return e(t,0,[],{});if(Ve(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function HRe(t){return qa([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function qre(t){let e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function Wre(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function Xre(t,e,r){let n=[];return Ve(t,Om)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Om+`> property in its definition +`,type:In.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Ve(t,u6)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+u6+`> property in its definition +`,type:In.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Ve(t,u6)&&Ve(t,Om)&&!Ve(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Om}: <${t.defaultMode}>which does not exist +`,type:In.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Ve(t,u6)&&be(t.modes,(i,a)=>{be(i,(o,l)=>{if(jt(o))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> +`,type:In.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Ve(o,"LONGER_ALT")){let u=ct(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];be(u,h=>{!jt(h)&&!Rn(i,h)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${o.name}> outside of mode <${a}> +`,type:In.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function jre(t,e,r){let n=[],i=!1,a=uc(Ir(nr(t.modes))),o=qh(a,u=>u[Yd]===jn.NA),l=ene(r);return e&&be(o,u=>{let h=Jre(u,l);if(h!==!1){let d={message:XRe(u,h),type:h.issue,tokenType:u};n.push(d)}else Ve(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):c6(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:In.NO_LINE_BREAKS_FLAGS}),n}function Kre(t){let e={},r=kr(t);return be(r,n=>{let i=t[n];if(ct(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Qre(t){let e=t.PATTERN;if(_o(e))return!1;if(fi(e))return!0;if(Ve(e,"exec"))return!0;if(si(e))return!1;throw Error("non exhaustive match")}function YRe(t){return si(t)&&t.length===1?t.charCodeAt(0):!1}function Jre(t,e){if(Ve(t,"LINE_BREAKS"))return!1;if(_o(t.PATTERN)){try{c6(e,t.PATTERN)}catch(r){return{issue:In.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(si(t.PATTERN))return!1;if(Qre(t))return{issue:In.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function XRe(t,e){if(e.issue===In.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. + The problem is in the <${t.name}> Token Type + Root cause: ${e.errMsg}. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===In.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. + The problem is in the <${t.name}> Token Type + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function ene(t){return Ge(t,r=>si(r)?r.charCodeAt(0):r)}function kR(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function vc(t){return t255?255+~~(t/255):t}}var Yd,Om,u6,wR,ORe,FRe,Zre,Nm,h6,bR=_(()=>{"use strict";Mv();$v();Tt();Rm();Ure();o6();Yd="PATTERN",Om="defaultMode",u6="modes",wR=typeof new RegExp("(?:)").sticky=="boolean";s(Hre,"analyzeTokenTypes");s(Yre,"validatePatterns");s(MRe,"validateRegExpPattern");s(IRe,"findMissingPatterns");s(NRe,"findInvalidPatterns");ORe=/[^\\][$]/;s(PRe,"findEndOfInputAnchor");s(BRe,"findEmptyMatchRegExps");FRe=/[^\\[][\^]|^\^/;s(zRe,"findStartOfInputAnchor");s($Re,"findUnsupportedFlags");s(GRe,"findDuplicatePatterns");s(VRe,"findInvalidGroupType");s(URe,"findModesThatDoNotExist");s(qRe,"findUnreachablePatterns");s(WRe,"testTokenType");s(HRe,"noMetaChar");s(qre,"addStartOfInput");s(Wre,"addStickyFlag");s(Xre,"performRuntimeChecks");s(jre,"performWarningRuntimeChecks");s(Kre,"cloneEmptyGroups");s(Qre,"isCustomPattern");s(YRe,"isShortPattern");Zre={test:s(function(t){let e=t.length;for(let r=this.lastIndex;r{r.isParent=r.categoryMatches.length>0})}function KRe(t){let e=Hr(t),r=t,n=!0;for(;n;){r=uc(Ir(Ge(r,a=>a.CATEGORIES)));let i=Uh(r,e);e=e.concat(i),Vt(i)?n=!1:r=i}return e}function QRe(t){be(t,e=>{TR(e)||(nne[tne]=e,e.tokenTypeIdx=tne++),rne(e)&&!ct(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),rne(e)||(e.CATEGORIES=[]),eMe(e)||(e.categoryMatches=[]),tMe(e)||(e.categoryMatchesMap={})})}function ZRe(t){be(t,e=>{e.categoryMatches=[],be(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(nne[n].tokenTypeIdx)})})}function JRe(t){be(t,e=>{ine([],e)})}function ine(t,e){be(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),be(e.CATEGORIES,r=>{let n=t.concat(e);Rn(n,r)||ine(n,r)})}function TR(t){return Ve(t,"tokenTypeIdx")}function rne(t){return Ve(t,"CATEGORIES")}function eMe(t){return Ve(t,"categoryMatches")}function tMe(t){return Ve(t,"categoryMatchesMap")}function ane(t){return Ve(t,"tokenTypeIdx")}var tne,nne,Xd=_(()=>{"use strict";Tt();s(Au,"tokenStructuredMatcher");s(Pm,"tokenStructuredMatcherNoCategories");tne=1,nne={};s(Lu,"augmentTokenTypes");s(KRe,"expandCategories");s(QRe,"assignTokenDefaultProps");s(ZRe,"assignCategoriesTokensProp");s(JRe,"assignCategoriesMapProp");s(ine,"singleAssignCategoriesToksMap");s(TR,"hasShortKeyProperty");s(rne,"hasCategoriesProperty");s(eMe,"hasExtendingTokensTypesProperty");s(tMe,"hasExtendingTokensTypesMapProperty");s(ane,"isTokenType")});var ER,CR=_(()=>{"use strict";ER={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}}});var In,Gv,jn,$v=_(()=>{"use strict";bR();Tt();Rm();Xd();CR();o6();(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(In||(In={}));Gv={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:ER,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Gv);jn=class{static{s(this,"Lexer")}constructor(e,r=Gv){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let o=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:l,value:u}=Bv(a),h=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=aa({},Gv,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Gv.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Zre;else if(this.config.lineTerminatorCharacters===Gv.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),ct(e)?i={modes:{defaultMode:Hr(e)},defaultMode:Om}:(a=!1,i=Hr(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Xre(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(jre(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},be(i.modes,(l,u)=>{i.modes[u]=qh(l,h=>jt(h))});let o=kr(i.modes);if(be(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Yre(l,o))}),Vt(this.lexerDefinitionErrors)){Lu(l);let h;this.TRACE_INIT("analyzeTokenTypes",()=>{h=Hre(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=h.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=h.charCodeToPatternIdxToConfig,this.emptyGroups=aa({},this.emptyGroups,h.emptyGroups),this.hasCustom=h.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=h.canBeOptimized}})}),this.defaultMode=i.defaultMode,!Vt(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=Ge(this.lexerDefinitionErrors,h=>h.message).join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+u)}be(this.lexerDefinitionWarning,l=>{Pv(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(wR?(this.chopInput=Wi,this.match=this.matchWithTest):(this.updateLastIndex=zn,this.match=this.matchWithExec),a&&(this.handleModes=zn),this.trackStartLines===!1&&(this.computeNewColumn=Wi),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=zn),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=Or(this.canModeBeOptimized,(u,h,f)=>(h===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!Vt(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{zre()}),this.TRACE_INIT("toFastProperties",()=>{Fv(this)})})}tokenize(e,r=this.defaultMode){if(!Vt(this.lexerDefinitionErrors)){let i=Ge(this.lexerDefinitionErrors,a=>a.message).join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,o,l,u,h,f,d,p,m,g,y,v,x,b,k=e,A=k.length,w=0,T=0,C=this.hasCustom?0:Math.floor(e.length/10),E=new Array(C),S=[],R=this.trackStartLines?1:void 0,D=this.trackStartLines?1:void 0,L=Kre(this.emptyGroups),P=this.trackStartLines,M=this.config.lineTerminatorsPattern,F=0,I=[],O=[],z=[],N=[];Object.freeze(N);let U;function $(){return I}s($,"getPossiblePatternsSlow");function W(fe){let ne=vc(fe),H=O[ne];return H===void 0?N:H}s(W,"getPossiblePatternsOptimized");let ee=s(fe=>{if(z.length===1&&fe.tokenType.PUSH_MODE===void 0){let ne=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(fe);S.push({offset:fe.startOffset,line:fe.startLine,column:fe.startColumn,length:fe.image.length,message:ne})}else{z.pop();let ne=sa(z);I=this.patternIdxToConfig[ne],O=this.charCodeToPatternIdxToConfig[ne],F=I.length;let H=this.canModeBeOptimized[ne]&&this.config.safeMode===!1;O&&H?U=W:U=$}},"pop_mode");function te(fe){z.push(fe),O=this.charCodeToPatternIdxToConfig[fe],I=this.patternIdxToConfig[fe],F=I.length,F=I.length;let ne=this.canModeBeOptimized[fe]&&this.config.safeMode===!1;O&&ne?U=W:U=$}s(te,"push_mode"),te.call(this,r);let ce,Z=this.config.recoveryEnabled;for(;wu.length){u=o,h=f,ce=ie;break}}}break}}if(u!==null){if(d=u.length,p=ce.group,p!==void 0&&(m=ce.tokenTypeIdx,g=this.createTokenInstance(u,w,m,ce.tokenType,R,D,d),this.handlePayload(g,h),p===!1?T=this.addToken(E,T,g):L[p].push(g)),e=this.chopInput(e,d),w=w+d,D=this.computeNewColumn(D,d),P===!0&&ce.canLineTerminator===!0){let Q=0,K,re;M.lastIndex=0;do K=M.test(u),K===!0&&(re=M.lastIndex-1,Q++);while(K===!0);Q!==0&&(R=R+Q,D=d-re,this.updateTokenEndLineColumnLocation(g,p,re,Q,R,D,d))}this.handleModes(ce,ee,te,g)}else{let Q=w,K=R,re=D,ie=Z===!1;for(;ie===!1&&w{"use strict";Tt();$v();Xd();s(Du,"tokenLabel");s(SR,"hasTokenLabel");rMe="parent",sne="categories",one="label",lne="group",cne="push_mode",une="pop_mode",hne="longer_alt",fne="line_breaks",dne="start_chars_hint";s(f6,"createToken");s(nMe,"createTokenInternal");io=f6({name:"EOF",pattern:jn.NA});Lu([io]);s(jd,"createTokenInstance");s(Vv,"tokenMatcher")});var Ru,pne,bl,Bm=_(()=>{"use strict";Kd();Tt();ja();Ru={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${SR(t)?`--> ${Du(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",l=` +but found: '`+Yi(e).image+"'";if(n)return a+n+l;{let u=Or(t,(p,m)=>p.concat(m),[]),h=Ge(u,p=>`[${Ge(p,m=>Du(m)).join(", ")}]`),d=`one of these possible Token sequences: +${Ge(h,(p,m)=>` ${m+1}. ${p}`).join(` +`)}`;return a+d+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",o=` +but found: '`+Yi(e).image+"'";if(r)return i+r+o;{let u=`expecting at least one iteration which starts with one of these possible Token sequences:: + <${Ge(t,h=>`[${Ge(h,f=>Du(f)).join(",")}]`).join(" ,")}>`;return i+u+o}}};Object.freeze(Ru);pne={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-"}},bl={buildDuplicateFoundError(t,e){function r(f){return f instanceof sr?f.terminalType.name:f instanceof Yr?f.nonTerminalName:""}s(r,"getExtraProductionArgument");let n=t.name,i=Yi(e),a=i.idx,o=Cs(i),l=r(i),u=a>0,h=`->${o}${u?a:""}<- ${l?`with argument: ->${l}<-`:""} + appears more than once (${e.length} times) in the top level rule: ->${n}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return h=h.replace(/[ \t]+/g," "),h=h.replace(/\s\s+/g,` +`),h},buildNamespaceConflictError(t){return`Namespace conflict found in grammar. +The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. +To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=Ge(t.prefixPath,i=>Du(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix +in inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`},buildAlternationAmbiguityError(t){let e=Ge(t.prefixPath,i=>Du(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,n},buildEmptyRepetitionError(t){let e=Cs(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. +This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in inside <${t.topLevelRule.name}> Rule. +Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives: + inside <${t.topLevelRule.name}> Rule. + has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=Ge(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. +rule: <${e}> can be invoked from itself (directly or indirectly) +without consuming any Tokens. The grammar path that causes this is: + ${n} + To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Ya?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}});function mne(t,e){let r=new _R(t,e);return r.resolveRefs(),r.errors}var _R,gne=_(()=>{"use strict";Ss();Tt();ja();s(mne,"resolveGrammar");_R=class extends Xa{static{s(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){be(nr(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:Li.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}});function g6(t,e,r=[]){r=Hr(r);let n=[],i=0;function a(l){return l.concat(ai(t,i+1))}s(a,"remainingPathWith");function o(l){let u=g6(a(l),e,r);return n.concat(u)}for(s(o,"getAlternativesForProd");r.length{Vt(u.definition)===!1&&(n=o(u.definition))}),n;if(l instanceof sr)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:ai(t,i)}),n}function y6(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],o="EXIT_ALTERNATIVE",l=!1,u=e.length,h=u-n-1,f=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!Vt(d);){let p=d.pop();if(p===o){l&&sa(d).idx<=h&&d.pop();continue}let m=p.def,g=p.idx,y=p.ruleStack,v=p.occurrenceStack;if(Vt(m))continue;let x=m[0];if(x===i){let b={idx:g,def:ai(m),ruleStack:wu(y),occurrenceStack:wu(v)};d.push(b)}else if(x instanceof sr)if(g=0;b--){let k=x.definition[b],A={idx:g,def:k.definition.concat(ai(m)),ruleStack:y,occurrenceStack:v};d.push(A),d.push(o)}else if(x instanceof vn)d.push({idx:g,def:x.definition.concat(ai(m)),ruleStack:y,occurrenceStack:v});else if(x instanceof Ya)d.push(iMe(x,g,y,v));else throw Error("non exhaustive match")}return f}function iMe(t,e,r,n){let i=Hr(r);i.push(t.name);let a=Hr(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var AR,d6,Fm,p6,Uv,m6,qv,Wv=_(()=>{"use strict";Tt();pR();i6();ja();AR=class extends _u{static{s(this,"AbstractNextPossibleTokensWalker")}constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Hr(this.path.ruleStack).reverse(),this.occurrenceStack=Hr(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){Vt(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},d6=class extends AR{static{s(this,"NextAfterTokenWalker")}constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),a=new vn({definition:i});this.possibleTokTypes=Hd(a),this.found=!0}}},Fm=class extends _u{static{s(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},p6=class extends Fm{static{s(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=Yi(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof sr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},Uv=class extends Fm{static{s(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=Yi(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof sr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},m6=class extends Fm{static{s(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=Yi(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof sr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},qv=class extends Fm{static{s(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=Yi(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof sr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};s(g6,"possiblePathsFrom");s(y6,"nextPossibleTokensAfter");s(iMe,"expandTopLevelRule")});function Hv(t){if(t instanceof Xr||t==="Option")return Nn.OPTION;if(t instanceof mr||t==="Repetition")return Nn.REPETITION;if(t instanceof xn||t==="RepetitionMandatory")return Nn.REPETITION_MANDATORY;if(t instanceof bn||t==="RepetitionMandatoryWithSeparator")return Nn.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof ln||t==="RepetitionWithSeparator")return Nn.REPETITION_WITH_SEPARATOR;if(t instanceof cn||t==="Alternation")return Nn.ALTERNATION;throw Error("non exhaustive match")}function x6(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=Hv(n);return a===Nn.ALTERNATION?zm(e,r,i):$m(e,r,a,i)}function vne(t,e,r,n,i,a){let o=zm(t,e,r),l=Ene(o)?Pm:Au;return a(o,n,l,i)}function xne(t,e,r,n,i,a){let o=$m(t,e,i,r),l=Ene(o)?Pm:Au;return a(o[0],l,n)}function bne(t,e,r,n){let i=t.length,a=Ca(t,o=>Ca(o,l=>l.length===1));if(e)return function(o){let l=Ge(o,u=>u.GATE);for(let u=0;uIr(u)),l=Or(o,(u,h,f)=>(be(h,d=>{Ve(u,d.tokenTypeIdx)||(u[d.tokenTypeIdx]=f),be(d.categoryMatches,p=>{Ve(u,p)||(u[p]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let o=0;oa.length===1),i=t.length;if(n&&!r){let a=Ir(t);if(a.length===1&&Vt(a[0].categoryMatches)){let l=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let o=Or(a,(l,u,h)=>(l[u.tokenTypeIdx]=!0,be(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return o[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;ag6([o],1)),n=yne(r.length),i=Ge(r,o=>{let l={};return be(o,u=>{let h=LR(u.partialPath);be(h,f=>{l[f]=!0})}),l}),a=r;for(let o=1;o<=e;o++){let l=a;a=yne(l.length);for(let u=0;u{let x=LR(v.partialPath);be(x,b=>{i[u][b]=!0})})}}}}return n}function zm(t,e,r,n){let i=new v6(t,Nn.ALTERNATION,n);return e.accept(i),wne(i.result,r)}function $m(t,e,r,n){let i=new v6(t,r);e.accept(i);let a=i.result,l=new DR(e,t,r).startWalking(),u=new vn({definition:a}),h=new vn({definition:l});return wne([u,h],n)}function b6(t,e){e:for(let r=0;r{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Ene(t){return Ca(t,e=>Ca(e,r=>Ca(r,n=>Vt(n.categoryMatches))))}var Nn,DR,v6,Gm=_(()=>{"use strict";Tt();Wv();i6();Xd();ja();(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(Nn||(Nn={}));s(Hv,"getProdType");s(x6,"getLookaheadPaths");s(vne,"buildLookaheadFuncForOr");s(xne,"buildLookaheadFuncForOptionalProd");s(bne,"buildAlternativesLookAheadFunc");s(kne,"buildSingleAlternativeLookaheadFunction");DR=class extends _u{static{s(this,"RestDefinitionFinderWalker")}constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,Nn.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,Nn.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,Nn.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,Nn.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,Nn.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},v6=class extends Xa{static{s(this,"InsideDefinitionFinderVisitor")}constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Nn.OPTION)}visitRepetition(e){this.checkIsTarget(e,Nn.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Nn.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Nn.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Nn.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Nn.ALTERNATION)}};s(yne,"initializeArrayOfArrays");s(LR,"pathToHashKeys");s(aMe,"isUniquePrefixHash");s(wne,"lookAheadSequenceFromAlternatives");s(zm,"getLookaheadPathsForOr");s($m,"getLookaheadPathsForOptionalProd");s(b6,"containsPath");s(Tne,"isStrictPrefixOfPath");s(Ene,"areTokenCategoriesNotUsed")});function Cne(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return Ge(e,r=>Object.assign({type:Li.CUSTOM_LOOKAHEAD_VALIDATION},r))}function Sne(t,e,r,n){let i=oa(t,u=>sMe(u,r)),a=fMe(t,e,r),o=oa(t,u=>cMe(u,r)),l=oa(t,u=>lMe(u,t,n,r));return i.concat(a,o,l)}function sMe(t,e){let r=new RR;t.accept(r);let n=r.allProductions,i=q9(n,oMe),a=Ts(i,l=>l.length>1);return Ge(nr(a),l=>{let u=Yi(l),h=e.buildDuplicateFoundError(t,l),f=Cs(u),d={message:h,type:Li.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},p=_ne(u);return p&&(d.parameter=p),d})}function oMe(t){return`${Cs(t)}_#_${t.idx}_#_${_ne(t)}`}function _ne(t){return t instanceof sr?t.terminalType.name:t instanceof Yr?t.nonTerminalName:""}function lMe(t,e,r,n){let i=[];if(Or(e,(o,l)=>l.name===t.name?o+1:o,0)>1){let o=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:o,type:Li.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Ane(t,e,r){let n=[],i;return Rn(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:Li.INVALID_RULE_OVERRIDE,ruleName:t})),n}function IR(t,e,r,n=[]){let i=[],a=k6(e.definition);if(Vt(a))return[];{let o=t.name;Rn(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:Li.LEFT_RECURSION,ruleName:o});let u=Uh(a,n.concat([t])),h=oa(u,f=>{let d=Hr(n);return d.push(f),IR(t,f,r,d)});return i.concat(h)}}function k6(t){let e=[];if(Vt(t))return e;let r=Yi(t);if(r instanceof Yr)e.push(r.referencedRule);else if(r instanceof vn||r instanceof Xr||r instanceof xn||r instanceof bn||r instanceof ln||r instanceof mr)e=e.concat(k6(r.definition));else if(r instanceof cn)e=Ir(Ge(r.definition,a=>k6(a.definition)));else if(!(r instanceof sr))throw Error("non exhaustive match");let n=Wd(r),i=t.length>1;if(n&&i){let a=ai(t);return e.concat(k6(a))}else return e}function Lne(t,e){let r=new Yv;t.accept(r);let n=r.alternations;return oa(n,a=>{let o=wu(a.definition);return oa(o,(l,u)=>{let h=y6([l],[],Au,1);return Vt(h)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:u}),type:Li.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:u+1}]:[]})})}function Dne(t,e,r){let n=new Yv;t.accept(n);let i=n.alternations;return i=qh(i,o=>o.ignoreAmbiguities===!0),oa(i,o=>{let l=o.idx,u=o.maxLookahead||e,h=zm(l,t,u,o),f=uMe(h,o,t,r),d=hMe(h,o,t,r);return f.concat(d)})}function cMe(t,e){let r=new Yv;t.accept(r);let n=r.alternations;return oa(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:Li.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Rne(t,e,r){let n=[];return be(t,i=>{let a=new MR;i.accept(a);let o=a.allProductions;be(o,l=>{let u=Hv(l),h=l.maxLookahead||e,f=l.idx,p=$m(f,i,u,h)[0];if(Vt(Ir(p))){let m=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:m,type:Li.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function uMe(t,e,r,n){let i=[],a=Or(t,(l,u,h)=>(e.definition[h].ignoreAmbiguities===!0||be(u,f=>{let d=[h];be(t,(p,m)=>{h!==m&&b6(p,f)&&e.definition[m].ignoreAmbiguities!==!0&&d.push(m)}),d.length>1&&!b6(i,f)&&(i.push(f),l.push({alts:d,path:f}))}),l),[]);return Ge(a,l=>{let u=Ge(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:Li.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}function hMe(t,e,r,n){let i=Or(t,(o,l,u)=>{let h=Ge(l,f=>({idx:u,path:f}));return o.concat(h)},[]);return uc(oa(i,o=>{if(e.definition[o.idx].ignoreAmbiguities===!0)return[];let u=o.idx,h=o.path,f=Nr(i,p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx{let m=[p.idx+1,u+1],g=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:m,prefixPath:p.path}),type:Li.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:m}})}))}function fMe(t,e,r){let n=[],i=Ge(e,a=>a.name);return be(t,a=>{let o=a.name;if(Rn(i,o)){let l=r.buildNamespaceConflictError(a);n.push({message:l,type:Li.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),n}var RR,Yv,MR,Xv=_(()=>{"use strict";Tt();Ss();ja();Gm();Wv();Xd();s(Cne,"validateLookahead");s(Sne,"validateGrammar");s(sMe,"validateDuplicateProductions");s(oMe,"identifyProductionForDuplicates");s(_ne,"getExtraProductionArgument");RR=class extends Xa{static{s(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};s(lMe,"validateRuleDoesNotAlreadyExist");s(Ane,"validateRuleIsOverridden");s(IR,"validateNoLeftRecursion");s(k6,"getFirstNoneTerminal");Yv=class extends Xa{static{s(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};s(Lne,"validateEmptyOrAlternative");s(Dne,"validateAmbiguousAlternationAlternatives");MR=class extends Xa{static{s(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};s(cMe,"validateTooManyAlts");s(Rne,"validateSomeNonEmptyLookaheadPath");s(uMe,"checkAlternativesAmbiguities");s(hMe,"checkPrefixAlternativesAmbiguities");s(fMe,"checkTerminalAndNoneTerminalsNameSpace")});function Mne(t){let e=Vh(t,{errMsgProvider:pne}),r={};return be(t.rules,n=>{r[n.name]=n}),mne(r,e.errMsgProvider)}function Ine(t){return t=Vh(t,{errMsgProvider:bl}),Sne(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var Nne=_(()=>{"use strict";Tt();gne();Xv();Bm();s(Mne,"resolveGrammar");s(Ine,"validateGrammar")});function Qh(t){return Rn(zne,t.name)}var One,Pne,Bne,Fne,zne,Vm,Qd,jv,Kv,Qv,Um=_(()=>{"use strict";Tt();One="MismatchedTokenException",Pne="NoViableAltException",Bne="EarlyExitException",Fne="NotAllInputParsedException",zne=[One,Pne,Bne,Fne];Object.freeze(zne);s(Qh,"isRecognitionException");Vm=class extends Error{static{s(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Qd=class extends Vm{static{s(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=One}},jv=class extends Vm{static{s(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Pne}},Kv=class extends Vm{static{s(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=Fne}},Qv=class extends Vm{static{s(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Bne}}});function dMe(t,e,r,n,i,a,o){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let p=this.getCurrRuleFullName(),m=this.getGAstProductions()[p];u=new a(m,i).startWalking(),this.firstAfterRepMap[l]=u}let h=u.token,f=u.occurrence,d=u.isEndOfRule;this.RULE_STACK.length===1&&d&&h===void 0&&(h=io,f=1),!(h===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(h,f,o)&&this.tryInRepetitionRecovery(t,e,r,h)}var NR,PR,OR,w6,BR=_(()=>{"use strict";Kd();Tt();Um();mR();Ss();NR={},PR="InRuleRecoveryException",OR=class extends Error{static{s(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=PR}},w6=class{static{s(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Ve(e,"recoveryEnabled")?e.recoveryEnabled:Ka.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=dMe)}getTokenToInsert(e){let r=jd(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let a=this.findReSyncTokenType(),o=this.exportLexerState(),l=[],u=!1,h=this.LA(1),f=this.LA(1),d=s(()=>{let p=this.LA(0),m=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:h,previous:p,ruleName:this.getCurrRuleFullName()}),g=new Qd(m,h,this.LA(0));g.resyncedTokens=wu(l),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(f,a)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(o)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new OR("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||Vt(r))return!1;let n=this.LA(1);return qa(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return Rn(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=qa(e,a=>Vv(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return NR;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return Ge(e,(n,i)=>i===0?NR:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=Ge(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return Ir(e)}getFollowSetFromFollowKey(e){if(e===NR)return[io];let r=e.ruleName+e.idxInCallingRule+a6+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,io)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return wu(r)}attemptInRepetitionRecovery(e,r,n,i,a,o,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=Hr(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return Ge(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};s(dMe,"attemptInRepetitionRecovery")});function T6(t,e,r){return r|e|t}var E6=_(()=>{"use strict";s(T6,"getKeyForAutomaticLookahead")});var Mu,FR=_(()=>{"use strict";Tt();Bm();Ss();Xv();Gm();Mu=class{static{s(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Ka.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(Vt(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return oa(e,r=>IR(r,r,bl))}validateEmptyOrAlternatives(e){return oa(e,r=>Lne(r,bl))}validateAmbiguousAlternationAlternatives(e,r){return oa(e,n=>Dne(n,r,bl))}validateSomeNonEmptyLookaheadPath(e,r){return Rne(e,r,bl)}buildLookaheadForAlternation(e){return vne(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,bne)}buildLookaheadForOptional(e){return xne(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Hv(e.prodType),kne)}}});function pMe(t){C6.reset(),t.accept(C6);let e=C6.dslMethods;return C6.reset(),e}var S6,zR,C6,$ne=_(()=>{"use strict";Tt();Ss();E6();ja();FR();S6=class{static{s(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=Ve(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Ka.dynamicTokensEnabled,this.maxLookahead=Ve(e,"maxLookahead")?e.maxLookahead:Ka.maxLookahead,this.lookaheadStrategy=Ve(e,"lookaheadStrategy")?e.lookaheadStrategy:new Mu({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){be(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:o,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=pMe(r);be(n,h=>{let f=h.idx===0?"":h.idx;this.TRACE_INIT(`${Cs(h)}${f}`,()=>{let d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:h.idx,rule:r,maxLookahead:h.maxLookahead||this.maxLookahead,hasPredicates:h.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=T6(this.fullRuleNameToShort[r.name],256,h.idx);this.setLaFuncCache(p,d)})}),be(i,h=>{this.computeLookaheadFunc(r,h.idx,768,"Repetition",h.maxLookahead,Cs(h))}),be(a,h=>{this.computeLookaheadFunc(r,h.idx,512,"Option",h.maxLookahead,Cs(h))}),be(o,h=>{this.computeLookaheadFunc(r,h.idx,1024,"RepetitionMandatory",h.maxLookahead,Cs(h))}),be(l,h=>{this.computeLookaheadFunc(r,h.idx,1536,"RepetitionMandatoryWithSeparator",h.maxLookahead,Cs(h))}),be(u,h=>{this.computeLookaheadFunc(r,h.idx,1280,"RepetitionWithSeparator",h.maxLookahead,Cs(h))})})})}computeLookaheadFunc(e,r,n,i,a,o){this.TRACE_INIT(`${o}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=T6(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return T6(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},zR=class extends Xa{static{s(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},C6=new zR;s(pMe,"collectMethods")});function VR(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";s(VR,"setNodeLocationOnlyOffset");s(UR,"setNodeLocationFull");s(Gne,"addTerminalToCst");s(Vne,"addNoneTerminalToCst")});function qR(t,e){Object.defineProperty(t,mMe,{enumerable:!1,configurable:!0,writable:!1,value:e})}var mMe,qne=_(()=>{"use strict";mMe="name";s(qR,"defineNameProp")});function gMe(t,e){let r=kr(t),n=r.length;for(let i=0;io.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: + ${a.join(` + +`).replace(/\n/g,` + `)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Hne(t,e,r){let n=s(function(){},"derivedConstructor");qR(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return be(e,a=>{i[a]=gMe}),n.prototype=i,n.prototype.constructor=n,n}function yMe(t,e){return vMe(t,e)}function vMe(t,e){let r=Nr(e,i=>fi(t[i])===!1),n=Ge(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:WR.MISSING_METHOD,methodName:i}));return uc(n)}var WR,Yne=_(()=>{"use strict";Tt();qne();s(gMe,"defaultVisit");s(Wne,"createBaseSemanticVisitorConstructor");s(Hne,"createBaseVisitorConstructorWithDefaults");(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(WR||(WR={}));s(yMe,"validateVisitor");s(vMe,"validateMissingCstMethods")});var D6,Xne=_(()=>{"use strict";Une();Tt();Yne();Ss();D6=class{static{s(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Ve(e,"nodeLocationTracking")?e.nodeLocationTracking:Ka.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=zn,this.cstFinallyStateUpdate=zn,this.cstPostTerminal=zn,this.cstPostNonTerminal=zn,this.cstPostRule=zn;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=UR,this.setNodeLocationFromNode=UR,this.cstPostRule=zn,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=zn,this.setNodeLocationFromNode=zn,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=VR,this.setNodeLocationFromNode=VR,this.cstPostRule=zn,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=zn,this.setNodeLocationFromNode=zn,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=zn,this.setNodeLocationFromNode=zn,this.cstPostRule=zn,this.setInitialNodeLocation=zn;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Gne(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Vne(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(jt(this.baseCstVisitorConstructor)){let e=Wne(this.className,kr(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(jt(this.baseCstVisitorWithDefaultsConstructor)){let e=Hne(this.className,kr(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}});var R6,jne=_(()=>{"use strict";Ss();R6=class{static{s(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):qm}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?qm:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}});var M6,Kne=_(()=>{"use strict";Tt();Um();Ss();Bm();Xv();ja();M6=class{static{s(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Wm){if(Rn(this.definedRulesNames,e)){let o={message:bl.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Li.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(o)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Wm){let i=Ane(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(Qh(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return r6(nr(this.gastProductionsCache))}}});var I6,Qne=_(()=>{"use strict";Tt();E6();Um();Gm();Wv();Ss();BR();Kd();Xd();I6=class{static{s(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Pm,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Ve(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if(ct(e)){if(Vt(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if(ct(e))this.tokensMap=Or(e,(a,o)=>(a[o.name]=o,a),{});else if(Ve(e,"modes")&&Ca(Ir(nr(e.modes)),ane)){let a=Ir(nr(e.modes)),o=bm(a);this.tokensMap=Or(o,(l,u)=>(l[u.name]=u,l),{})}else if(on(e))this.tokensMap=Hr(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=io;let n=Ve(e,"modes")?Ir(nr(e.modes)):nr(e),i=Ca(n,a=>Vt(a.categoryMatches));this.tokenMatcher=i?Pm:Au,Lu(nr(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Ve(n,"resyncEnabled")?n.resyncEnabled:Wm.resyncEnabled,a=Ve(n,"recoveryValueFunc")?n.recoveryValueFunc:Wm.recoveryValueFunc,o=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let l;return this.outputCst===!0?l=s(function(...f){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=s(function(...f){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(Qh(e)){let o=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(o.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,o.partialCstResult=u}throw o}}else{if(i)return this.moveToTerminatedState(),n(e);throw o}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let o=e.GATE;if(o!==void 0){let l=i;i=s(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let o=r.GATE;if(o!==void 0){let l=i;i=s(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let o=this.doSingleRepetition(a);for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,Nn.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,m6)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,qv],l,1536,e,qv)}else throw this.raiseEarlyExitException(e,Nn.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=s(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=r;let o=!0;for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,p6,o)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,Uv],l,1280,e,Uv)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=ct(e)?e:e.DEF,o=this.getLaFuncFromCache(n).call(this,i);if(o!==void 0)return i[o].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Kv(r,e))}}subruleInternal(e,r,n){let i;try{let a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw Qh(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Qd(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===PR?n:a}}else throw n}saveRecogState(){let e=this.errors,r=Hr(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),io)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}});var N6,Zne=_(()=>{"use strict";Um();Tt();Gm();Ss();N6=class{static{s(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=Ve(e,"errorMessageProvider")?e.errorMessageProvider:Ka.errorMessageProvider}SAVE_ERROR(e){if(Qh(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Hr(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Hr(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],l=$m(e,a,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let h=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new Qv(h,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=zm(e,i,this.maxLookahead),o=[];for(let h=1;h<=this.maxLookahead;h++)o.push(this.LA(h));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new jv(u,this.LA(1),l))}}});var O6,Jne=_(()=>{"use strict";Wv();Tt();O6=class{static{s(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(jt(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return y6([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=Yi(e.ruleStack),i=this.getGAstProductions()[r];return new d6(i,e).startWalking()}}});function Jv(t,e,r,n=!1){B6(r);let i=sa(this.recordingProdStack),a=fi(e)?e:e.DEF,o=new t({definition:[],idx:r});return n&&(o.separator=e.SEP),Ve(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),a.call(this),i.definition.push(o),this.recordingProdStack.pop(),F6}function kMe(t,e){B6(e);let r=sa(this.recordingProdStack),n=ct(t)===!1,i=n===!1?t:t.DEF,a=new cn({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Ve(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let o=pv(i,l=>fi(l.GATE));return a.hasPredicates=o,r.definition.push(a),be(i,l=>{let u=new vn({definition:[]});a.definition.push(u),Ve(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:Ve(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),F6}function rie(t){return t===0?"":`${t}`}function B6(t){if(t<0||t>tie){let e=new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${tie+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var F6,eie,tie,nie,iie,bMe,P6,aie=_(()=>{"use strict";Tt();ja();$v();Xd();Kd();Ss();E6();F6={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(F6);eie=!0,tie=Math.pow(2,8)-1,nie=f6({name:"RECORDING_PHASE_TOKEN",pattern:jn.NA});Lu([nie]);iie=jd(nie,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(iie);bMe={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},P6=class{static{s(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return qm}topLevelRuleRecord(e,r){try{let n=new Ya({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Jv.call(this,Xr,e,r)}atLeastOneInternalRecord(e,r){Jv.call(this,xn,r,e)}atLeastOneSepFirstInternalRecord(e,r){Jv.call(this,bn,r,e,eie)}manyInternalRecord(e,r){Jv.call(this,mr,r,e)}manySepFirstInternalRecord(e,r){Jv.call(this,ln,r,e,eie)}orInternalRecord(e,r){return kMe.call(this,e,r)}subruleInternalRecord(e,r,n){if(B6(r),!e||Ve(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=sa(this.recordingProdStack),a=e.ruleName,o=new Yr({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(o),this.outputCst?bMe:F6}consumeInternalRecord(e,r,n){if(B6(r),!TR(e)){let o=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}let i=sa(this.recordingProdStack),a=new sr({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),iie}};s(Jv,"recordProd");s(kMe,"recordOrProd");s(rie,"getIdxSuffix");s(B6,"assertMethodIdxIsValid")});var z6,sie=_(()=>{"use strict";Tt();Rm();Ss();z6=class{static{s(this,"PerformanceTracer")}initPerformanceTracer(e){if(Ve(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Ka.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:a}=Bv(r),o=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}});function oie(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}var lie=_(()=>{"use strict";s(oie,"applyMixins")});function $6(t=void 0){return function(){return t}}var qm,Ka,Wm,Li,e2,t2,Ss=_(()=>{"use strict";Tt();Rm();Fre();Kd();Bm();Nne();BR();$ne();Xne();jne();Kne();Qne();Zne();Jne();aie();sie();lie();Xv();qm=jd(io,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(qm);Ka=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Ru,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Wm=Object.freeze({recoveryValueFunc:s(()=>{},"recoveryValueFunc"),resyncEnabled:!0});(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(Li||(Li={}));s($6,"EMPTY_ALT");e2=class t{static{s(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{Fv(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),be(this.definedRulesNames,i=>{let o=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,o)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Mne({rules:nr(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(Vt(n)&&this.skipValidations===!1){let i=Ine({rules:nr(this.gastProductionsCache),tokenTypes:nr(this.tokensMap),errMsgProvider:bl,grammarName:r}),a=Cne({lookaheadStrategy:this.lookaheadStrategy,rules:nr(this.gastProductionsCache),tokenTypes:nr(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),Vt(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=Bre(nr(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:nr(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(nr(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!Vt(this.definitionErrors))throw e=Ge(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: + ${e.join(` +------------------------------- +`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),Ve(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=Ve(r,"skipValidations")?r.skipValidations:Ka.skipValidations}};e2.DEFER_DEFINITION_ERRORS_HANDLING=!1;oie(e2,[w6,S6,D6,R6,I6,M6,N6,O6,P6,z6]);t2=class extends e2{static{s(this,"EmbeddedActionsParser")}constructor(e,r=Ka){let n=Hr(r);n.outputCst=!1,super(e,n)}}});var cie=_(()=>{"use strict";ja()});var uie=_(()=>{"use strict"});var hie=_(()=>{"use strict";cie();uie()});var fie=_(()=>{"use strict";hR()});var Zd=_(()=>{"use strict";hR();Ss();$v();Kd();Gm();FR();Bm();Um();CR();ja();ja();hie();fie()});function Jd(t,e,r){return`${t.name}_${e}_${r}`}function gie(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};AMe(e,t);let r=t.length;for(let n=0;nyie(t,e,o));return jm(t,e,n,r,...i)}function NMe(t,e,r){let n=Xi(t,e,r,{type:Zh});Jh(t,n);let i=jm(t,e,n,r,e0(t,e,r));return OMe(t,e,r,i)}function e0(t,e,r){let n=Nr(Ge(r.definition,i=>yie(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:BMe(t,n)}function vie(t,e,r,n,i){let a=n.left,o=n.right,l=Xi(t,e,r,{type:_Me});Jh(t,l);let u=Xi(t,e,r,{type:mie});return a.loopback=l,u.loopback=l,t.decisionMap[Jd(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,mi(o,l),i===void 0?(mi(l,a),mi(l,u)):(mi(l,u),mi(l,i.left),mi(i.right,a)),{left:a,right:u}}function xie(t,e,r,n,i){let a=n.left,o=n.right,l=Xi(t,e,r,{type:SMe});Jh(t,l);let u=Xi(t,e,r,{type:mie}),h=Xi(t,e,r,{type:CMe});return l.loopback=h,u.loopback=h,mi(l,a),mi(l,u),mi(o,h),i!==void 0?(mi(h,u),mi(h,i.left),mi(i.right,a)):mi(h,l),t.decisionMap[Jd(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}function OMe(t,e,r,n){let i=n.left,a=n.right;return mi(i,a),t.decisionMap[Jd(e,"Option",r.idx)]=i,n}function Jh(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function jm(t,e,r,n,...i){let a=Xi(t,e,n,{type:EMe,start:r});r.end=a;for(let l of i)l!==void 0?(mi(r,l.left),mi(l.right,a)):mi(r,a);let o={left:r,right:a};return t.decisionMap[Jd(e,PMe(n),n.idx)]=r,o}function PMe(t){if(t instanceof cn)return"Alternation";if(t instanceof Xr)return"Option";if(t instanceof mr)return"Repetition";if(t instanceof ln)return"RepetitionWithSeparator";if(t instanceof xn)return"RepetitionMandatory";if(t instanceof bn)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function BMe(t,e){let r=e.length;for(let a=0;a{"use strict";ym();z9();Zd();s(Jd,"buildATNKey");Zh=1,TMe=2,die=4,pie=5,Xm=7,EMe=8,CMe=9,SMe=10,_Me=11,mie=12,r2=class{static{s(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},Hm=class extends r2{static{s(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},n2=class extends r2{static{s(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},Ym=class extends r2{static{s(this,"RuleTransition")}constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};s(gie,"createATN");s(AMe,"createRuleStartAndStopATNStates");s(yie,"atom");s(LMe,"repetition");s(DMe,"repetitionSep");s(RMe,"repetitionMandatory");s(MMe,"repetitionMandatorySep");s(IMe,"alternation");s(NMe,"option");s(e0,"block");s(vie,"plus");s(xie,"star");s(OMe,"optional");s(Jh,"defineDecisionState");s(jm,"makeAlts");s(PMe,"getProdType");s(BMe,"makeBlock");s(YR,"tokenRef");s(FMe,"ruleRef");s(zMe,"buildRuleHandle");s(mi,"epsilon");s(Xi,"newState");s(XR,"addTransition");s($Me,"removeState")});function jR(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}var i2,Km,kie=_(()=>{"use strict";ym();i2={},Km=class{static{s(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=jR(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return Ge(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};s(jR,"getATNConfigKey")});function GMe(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}function Tie(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let o=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of o)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}function VMe(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nDu(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${YMe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,n}function YMe(t){if(t instanceof Yr)return"SUBRULE";if(t instanceof Xr)return"OPTION";if(t instanceof cn)return"OR";if(t instanceof xn)return"AT_LEAST_ONE";if(t instanceof bn)return"AT_LEAST_ONE_SEP";if(t instanceof ln)return"MANY_SEP";if(t instanceof mr)return"MANY";if(t instanceof sr)return"CONSUME";throw Error("non exhaustive match")}function XMe(t,e,r){let n=oa(e.configs.elements,a=>a.state.transitions),i=IJ(n.filter(a=>a instanceof Hm).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function jMe(t,e){return t.edges[e.tokenTypeIdx]}function KMe(t,e,r){let n=new Km,i=[];for(let o of t.elements){if(r.is(o.alt)===!1)continue;if(o.state.type===Xm){i.push(o);continue}let l=o.state.transitions.length;for(let u=0;u0&&!tIe(a))for(let o of i)a.add(o);return a}function QMe(t,e){if(t instanceof Hm&&Vv(e,t.tokenType))return t.target}function ZMe(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function Cie(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Eie(t,e,r,n){return n=Sie(t,n),e.edges[r.tokenTypeIdx]=n,n}function Sie(t,e){if(e===i2)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function JMe(t){let e=new Km,r=t.transitions.length;for(let n=0;n0){let i=[...t.stack],o={state:i.pop(),alt:t.alt,stack:i};V6(o,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}function sIe(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var G6,wie,a2,_ie=_(()=>{"use strict";Zd();bie();kie();Y9();G9();NJ();ym();O5();uk();mk();Q9();s(GMe,"createDFACache");G6=class{static{s(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;nconsole.log(n)}initialize(e){this.atn=gie(e.rules),this.dfas=VMe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,o=this.dfas,l=this.logging,u=Jd(n,"Alternation",r),f=this.atn.decisionMap[u].decision,d=Ge(x6({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>Ge(p,m=>m[0]));if(Tie(d,!1)&&!a){let p=Or(d,(m,g,y)=>(be(g,v=>{v&&(m[v.tokenTypeIdx]=y,be(v.categoryMatches,x=>{m[x]=y}))}),m),{});return i?function(m){var g;let y=this.LA(1),v=p[y.tokenTypeIdx];if(m!==void 0&&v!==void 0){let x=(g=m[v])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return v}:function(){let m=this.LA(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new G6,g=p===void 0?0:p.length;for(let v=0;vGe(p,m=>m[0]));if(Tie(d)&&d[0][0]&&!a){let p=d[0],m=Ir(p);if(m.length===1&&Vt(m[0].categoryMatches)){let y=m[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===y}}else{let g=Or(m,(y,v)=>(v!==void 0&&(y[v.tokenTypeIdx]=!0,be(v.categoryMatches,x=>{y[x]=!0})),y),{});return function(){let y=this.LA(1);return g[y.tokenTypeIdx]===!0}}}return function(){let p=KR.call(this,o,f,wie,l);return typeof p=="object"?!1:p===0}}};s(Tie,"isLL1Sequence");s(VMe,"initATNSimulator");s(KR,"adaptivePredict");s(UMe,"performLookahead");s(qMe,"computeLookaheadTarget");s(WMe,"reportLookaheadAmbiguity");s(HMe,"buildAmbiguityError");s(YMe,"getProductionDslName");s(XMe,"buildAdaptivePredictError");s(jMe,"getExistingTargetState");s(KMe,"computeReachSet");s(QMe,"getReachableTarget");s(ZMe,"getUniqueAlt");s(Cie,"newDFAState");s(Eie,"addDFAEdge");s(Sie,"addDFAState");s(JMe,"computeStartState");s(V6,"closure");s(eIe,"getEpsilonTarget");s(tIe,"hasConfigInRuleStopState");s(rIe,"allConfigsInRuleStopStates");s(nIe,"hasConflictTerminatingPrediction");s(iIe,"getConflictingAltSets");s(aIe,"hasConflictingAltSet");s(sIe,"hasStateAssociatedWithOneAlt")});var Aie=_(()=>{"use strict";_ie()});var Lie,QR,Die,U6,Pr,gr,q6,Rie,ZR,Mie,Iie,Nie,Oie,JR,Pie,Bie,Fie,W6,Qm,Zm,eM,Jm,zie,tM,rM,nM,iM,aM,$ie,Gie,sM,Vie,oM,s2,Uie,qie,Wie,Hie,Yie,Xie,jie,Kie,H6,Qie,Zie,Jie,eae,tae,rae,nae,iae,aae,sae,oae,Y6,lae,cae,uae,hae,fae,dae,pae,mae,gae,yae,vae,xae,bae,lM,cM,kae,wae,Tae,Eae,Cae,Sae,_ae,Aae,Lae,uM,Le,hM=_(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}s(e,"is"),t.is=e})(Lie||(Lie={}));(function(t){function e(r){return typeof r=="string"}s(e,"is"),t.is=e})(QR||(QR={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}s(e,"is"),t.is=e})(Die||(Die={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}s(e,"is"),t.is=e})(U6||(U6={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=U6.MAX_VALUE),i===Number.MAX_VALUE&&(i=U6.MAX_VALUE),{line:n,character:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Le.uinteger(i.line)&&Le.uinteger(i.character)}s(r,"is"),t.is=r})(Pr||(Pr={}));(function(t){function e(n,i,a,o){if(Le.uinteger(n)&&Le.uinteger(i)&&Le.uinteger(a)&&Le.uinteger(o))return{start:Pr.create(n,i),end:Pr.create(a,o)};if(Pr.is(n)&&Pr.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${o}]`)}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Pr.is(i.start)&&Pr.is(i.end)}s(r,"is"),t.is=r})(gr||(gr={}));(function(t){function e(n,i){return{uri:n,range:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&gr.is(i.range)&&(Le.string(i.uri)||Le.undefined(i.uri))}s(r,"is"),t.is=r})(q6||(q6={}));(function(t){function e(n,i,a,o){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:o}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&gr.is(i.targetRange)&&Le.string(i.targetUri)&&gr.is(i.targetSelectionRange)&&(gr.is(i.originSelectionRange)||Le.undefined(i.originSelectionRange))}s(r,"is"),t.is=r})(Rie||(Rie={}));(function(t){function e(n,i,a,o){return{red:n,green:i,blue:a,alpha:o}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Le.numberRange(i.red,0,1)&&Le.numberRange(i.green,0,1)&&Le.numberRange(i.blue,0,1)&&Le.numberRange(i.alpha,0,1)}s(r,"is"),t.is=r})(ZR||(ZR={}));(function(t){function e(n,i){return{range:n,color:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&gr.is(i.range)&&ZR.is(i.color)}s(r,"is"),t.is=r})(Mie||(Mie={}));(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Le.string(i.label)&&(Le.undefined(i.textEdit)||Zm.is(i))&&(Le.undefined(i.additionalTextEdits)||Le.typedArray(i.additionalTextEdits,Zm.is))}s(r,"is"),t.is=r})(Iie||(Iie={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Nie||(Nie={}));(function(t){function e(n,i,a,o,l,u){let h={startLine:n,endLine:i};return Le.defined(a)&&(h.startCharacter=a),Le.defined(o)&&(h.endCharacter=o),Le.defined(l)&&(h.kind=l),Le.defined(u)&&(h.collapsedText=u),h}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Le.uinteger(i.startLine)&&Le.uinteger(i.startLine)&&(Le.undefined(i.startCharacter)||Le.uinteger(i.startCharacter))&&(Le.undefined(i.endCharacter)||Le.uinteger(i.endCharacter))&&(Le.undefined(i.kind)||Le.string(i.kind))}s(r,"is"),t.is=r})(Oie||(Oie={}));(function(t){function e(n,i){return{location:n,message:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&q6.is(i.location)&&Le.string(i.message)}s(r,"is"),t.is=r})(JR||(JR={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Pie||(Pie={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(Bie||(Bie={}));(function(t){function e(r){let n=r;return Le.objectLiteral(n)&&Le.string(n.href)}s(e,"is"),t.is=e})(Fie||(Fie={}));(function(t){function e(n,i,a,o,l,u){let h={range:n,message:i};return Le.defined(a)&&(h.severity=a),Le.defined(o)&&(h.code=o),Le.defined(l)&&(h.source=l),Le.defined(u)&&(h.relatedInformation=u),h}s(e,"create"),t.create=e;function r(n){var i;let a=n;return Le.defined(a)&&gr.is(a.range)&&Le.string(a.message)&&(Le.number(a.severity)||Le.undefined(a.severity))&&(Le.integer(a.code)||Le.string(a.code)||Le.undefined(a.code))&&(Le.undefined(a.codeDescription)||Le.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(Le.string(a.source)||Le.undefined(a.source))&&(Le.undefined(a.relatedInformation)||Le.typedArray(a.relatedInformation,JR.is))}s(r,"is"),t.is=r})(W6||(W6={}));(function(t){function e(n,i,...a){let o={title:n,command:i};return Le.defined(a)&&a.length>0&&(o.arguments=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.string(i.title)&&Le.string(i.command)}s(r,"is"),t.is=r})(Qm||(Qm={}));(function(t){function e(a,o){return{range:a,newText:o}}s(e,"replace"),t.replace=e;function r(a,o){return{range:{start:a,end:a},newText:o}}s(r,"insert"),t.insert=r;function n(a){return{range:a,newText:""}}s(n,"del"),t.del=n;function i(a){let o=a;return Le.objectLiteral(o)&&Le.string(o.newText)&&gr.is(o.range)}s(i,"is"),t.is=i})(Zm||(Zm={}));(function(t){function e(n,i,a){let o={label:n};return i!==void 0&&(o.needsConfirmation=i),a!==void 0&&(o.description=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Le.string(i.label)&&(Le.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(Le.string(i.description)||i.description===void 0)}s(r,"is"),t.is=r})(eM||(eM={}));(function(t){function e(r){let n=r;return Le.string(n)}s(e,"is"),t.is=e})(Jm||(Jm={}));(function(t){function e(a,o,l){return{range:a,newText:o,annotationId:l}}s(e,"replace"),t.replace=e;function r(a,o,l){return{range:{start:a,end:a},newText:o,annotationId:l}}s(r,"insert"),t.insert=r;function n(a,o){return{range:a,newText:"",annotationId:o}}s(n,"del"),t.del=n;function i(a){let o=a;return Zm.is(o)&&(eM.is(o.annotationId)||Jm.is(o.annotationId))}s(i,"is"),t.is=i})(zie||(zie={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&sM.is(i.textDocument)&&Array.isArray(i.edits)}s(r,"is"),t.is=r})(tM||(tM={}));(function(t){function e(n,i,a){let o={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(o.options=i),a!==void 0&&(o.annotationId=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&Le.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||Le.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Le.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Jm.is(i.annotationId))}s(r,"is"),t.is=r})(rM||(rM={}));(function(t){function e(n,i,a,o){let l={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),o!==void 0&&(l.annotationId=o),l}s(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&Le.string(i.oldUri)&&Le.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||Le.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Le.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Jm.is(i.annotationId))}s(r,"is"),t.is=r})(nM||(nM={}));(function(t){function e(n,i,a){let o={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(o.options=i),a!==void 0&&(o.annotationId=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&Le.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||Le.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||Le.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Jm.is(i.annotationId))}s(r,"is"),t.is=r})(iM||(iM={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>Le.string(i.kind)?rM.is(i)||nM.is(i)||iM.is(i):tM.is(i)))}s(e,"is"),t.is=e})(aM||(aM={}));(function(t){function e(n){return{uri:n}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.string(i.uri)}s(r,"is"),t.is=r})($ie||($ie={}));(function(t){function e(n,i){return{uri:n,version:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.string(i.uri)&&Le.integer(i.version)}s(r,"is"),t.is=r})(Gie||(Gie={}));(function(t){function e(n,i){return{uri:n,version:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.string(i.uri)&&(i.version===null||Le.integer(i.version))}s(r,"is"),t.is=r})(sM||(sM={}));(function(t){function e(n,i,a,o){return{uri:n,languageId:i,version:a,text:o}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.string(i.uri)&&Le.string(i.languageId)&&Le.integer(i.version)&&Le.string(i.text)}s(r,"is"),t.is=r})(Vie||(Vie={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}s(e,"is"),t.is=e})(oM||(oM={}));(function(t){function e(r){let n=r;return Le.objectLiteral(r)&&oM.is(n.kind)&&Le.string(n.value)}s(e,"is"),t.is=e})(s2||(s2={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Uie||(Uie={}));(function(t){t.PlainText=1,t.Snippet=2})(qie||(qie={}));(function(t){t.Deprecated=1})(Wie||(Wie={}));(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}s(e,"create"),t.create=e;function r(n){let i=n;return i&&Le.string(i.newText)&&gr.is(i.insert)&&gr.is(i.replace)}s(r,"is"),t.is=r})(Hie||(Hie={}));(function(t){t.asIs=1,t.adjustIndentation=2})(Yie||(Yie={}));(function(t){function e(r){let n=r;return n&&(Le.string(n.detail)||n.detail===void 0)&&(Le.string(n.description)||n.description===void 0)}s(e,"is"),t.is=e})(Xie||(Xie={}));(function(t){function e(r){return{label:r}}s(e,"create"),t.create=e})(jie||(jie={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}s(e,"create"),t.create=e})(Kie||(Kie={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return Le.string(i)||Le.objectLiteral(i)&&Le.string(i.language)&&Le.string(i.value)}s(r,"is"),t.is=r})(H6||(H6={}));(function(t){function e(r){let n=r;return!!n&&Le.objectLiteral(n)&&(s2.is(n.contents)||H6.is(n.contents)||Le.typedArray(n.contents,H6.is))&&(r.range===void 0||gr.is(r.range))}s(e,"is"),t.is=e})(Qie||(Qie={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}s(e,"create"),t.create=e})(Zie||(Zie={}));(function(t){function e(r,n,...i){let a={label:r};return Le.defined(n)&&(a.documentation=n),Le.defined(i)?a.parameters=i:a.parameters=[],a}s(e,"create"),t.create=e})(Jie||(Jie={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(eae||(eae={}));(function(t){function e(r,n){let i={range:r};return Le.number(n)&&(i.kind=n),i}s(e,"create"),t.create=e})(tae||(tae={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(rae||(rae={}));(function(t){t.Deprecated=1})(nae||(nae={}));(function(t){function e(r,n,i,a,o){let l={name:r,kind:n,location:{uri:a,range:i}};return o&&(l.containerName=o),l}s(e,"create"),t.create=e})(iae||(iae={}));(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}s(e,"create"),t.create=e})(aae||(aae={}));(function(t){function e(n,i,a,o,l,u){let h={name:n,detail:i,kind:a,range:o,selectionRange:l};return u!==void 0&&(h.children=u),h}s(e,"create"),t.create=e;function r(n){let i=n;return i&&Le.string(i.name)&&Le.number(i.kind)&&gr.is(i.range)&&gr.is(i.selectionRange)&&(i.detail===void 0||Le.string(i.detail))&&(i.deprecated===void 0||Le.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}s(r,"is"),t.is=r})(sae||(sae={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(oae||(oae={}));(function(t){t.Invoked=1,t.Automatic=2})(Y6||(Y6={}));(function(t){function e(n,i,a){let o={diagnostics:n};return i!=null&&(o.only=i),a!=null&&(o.triggerKind=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.typedArray(i.diagnostics,W6.is)&&(i.only===void 0||Le.typedArray(i.only,Le.string))&&(i.triggerKind===void 0||i.triggerKind===Y6.Invoked||i.triggerKind===Y6.Automatic)}s(r,"is"),t.is=r})(lae||(lae={}));(function(t){function e(n,i,a){let o={title:n},l=!0;return typeof i=="string"?(l=!1,o.kind=i):Qm.is(i)?o.command=i:o.edit=i,l&&a!==void 0&&(o.kind=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return i&&Le.string(i.title)&&(i.diagnostics===void 0||Le.typedArray(i.diagnostics,W6.is))&&(i.kind===void 0||Le.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Qm.is(i.command))&&(i.isPreferred===void 0||Le.boolean(i.isPreferred))&&(i.edit===void 0||aM.is(i.edit))}s(r,"is"),t.is=r})(cae||(cae={}));(function(t){function e(n,i){let a={range:n};return Le.defined(i)&&(a.data=i),a}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&gr.is(i.range)&&(Le.undefined(i.command)||Qm.is(i.command))}s(r,"is"),t.is=r})(uae||(uae={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.uinteger(i.tabSize)&&Le.boolean(i.insertSpaces)}s(r,"is"),t.is=r})(hae||(hae={}));(function(t){function e(n,i,a){return{range:n,target:i,data:a}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&gr.is(i.range)&&(Le.undefined(i.target)||Le.string(i.target))}s(r,"is"),t.is=r})(fae||(fae={}));(function(t){function e(n,i){return{range:n,parent:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&gr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}s(r,"is"),t.is=r})(dae||(dae={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(pae||(pae={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(mae||(mae={}));(function(t){function e(r){let n=r;return Le.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}s(e,"is"),t.is=e})(gae||(gae={}));(function(t){function e(n,i){return{range:n,text:i}}s(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&gr.is(i.range)&&Le.string(i.text)}s(r,"is"),t.is=r})(yae||(yae={}));(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}s(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&gr.is(i.range)&&Le.boolean(i.caseSensitiveLookup)&&(Le.string(i.variableName)||i.variableName===void 0)}s(r,"is"),t.is=r})(vae||(vae={}));(function(t){function e(n,i){return{range:n,expression:i}}s(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&gr.is(i.range)&&(Le.string(i.expression)||i.expression===void 0)}s(r,"is"),t.is=r})(xae||(xae={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&gr.is(n.stoppedLocation)}s(r,"is"),t.is=r})(bae||(bae={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}s(e,"is"),t.is=e})(lM||(lM={}));(function(t){function e(n){return{value:n}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&(i.tooltip===void 0||Le.string(i.tooltip)||s2.is(i.tooltip))&&(i.location===void 0||q6.is(i.location))&&(i.command===void 0||Qm.is(i.command))}s(r,"is"),t.is=r})(cM||(cM={}));(function(t){function e(n,i,a){let o={position:n,label:i};return a!==void 0&&(o.kind=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Pr.is(i.position)&&(Le.string(i.label)||Le.typedArray(i.label,cM.is))&&(i.kind===void 0||lM.is(i.kind))&&i.textEdits===void 0||Le.typedArray(i.textEdits,Zm.is)&&(i.tooltip===void 0||Le.string(i.tooltip)||s2.is(i.tooltip))&&(i.paddingLeft===void 0||Le.boolean(i.paddingLeft))&&(i.paddingRight===void 0||Le.boolean(i.paddingRight))}s(r,"is"),t.is=r})(kae||(kae={}));(function(t){function e(r){return{kind:"snippet",value:r}}s(e,"createSnippet"),t.createSnippet=e})(wae||(wae={}));(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}s(e,"create"),t.create=e})(Tae||(Tae={}));(function(t){function e(r){return{items:r}}s(e,"create"),t.create=e})(Eae||(Eae={}));(function(t){t.Invoked=0,t.Automatic=1})(Cae||(Cae={}));(function(t){function e(r,n){return{range:r,text:n}}s(e,"create"),t.create=e})(Sae||(Sae={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}s(e,"create"),t.create=e})(_ae||(_ae={}));(function(t){function e(r){let n=r;return Le.objectLiteral(n)&&QR.is(n.uri)&&Le.string(n.name)}s(e,"is"),t.is=e})(Aae||(Aae={}));(function(t){function e(a,o,l,u){return new uM(a,o,l,u)}s(e,"create"),t.create=e;function r(a){let o=a;return!!(Le.defined(o)&&Le.string(o.uri)&&(Le.undefined(o.languageId)||Le.string(o.languageId))&&Le.uinteger(o.lineCount)&&Le.func(o.getText)&&Le.func(o.positionAt)&&Le.func(o.offsetAt))}s(r,"is"),t.is=r;function n(a,o){let l=a.getText(),u=i(o,(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),h=l.length;for(let f=u.length-1;f>=0;f--){let d=u[f],p=a.offsetAt(d.range.start),m=a.offsetAt(d.range.end);if(m<=h)l=l.substring(0,p)+d.newText+l.substring(m,l.length);else throw new Error("Overlapping edit");h=p}return l}s(n,"applyEdits"),t.applyEdits=n;function i(a,o){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),h=a.slice(l);i(u,o),i(h,o);let f=0,d=0,p=0;for(;f0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return Pr.create(0,e);for(;ne?i=o:n=o+1}let a=n-1;return Pr.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}s(n,"undefined"),t.undefined=n;function i(m){return m===!0||m===!1}s(i,"boolean"),t.boolean=i;function a(m){return e.call(m)==="[object String]"}s(a,"string"),t.string=a;function o(m){return e.call(m)==="[object Number]"}s(o,"number"),t.number=o;function l(m,g,y){return e.call(m)==="[object Number]"&&g<=m&&m<=y}s(l,"numberRange"),t.numberRange=l;function u(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}s(u,"integer"),t.integer=u;function h(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}s(h,"uinteger"),t.uinteger=h;function f(m){return e.call(m)==="[object Function]"}s(f,"func"),t.func=f;function d(m){return m!==null&&typeof m=="object"}s(d,"objectLiteral"),t.objectLiteral=d;function p(m,g){return Array.isArray(m)&&m.every(g)}s(p,"typedArray"),t.typedArray=p})(Le||(Le={}))});var o2,l2,t0,r0,fM,eg,X6=_(()=>{"use strict";hM();Do();gl();o2=class{static{s(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]}buildRootNode(e){return this.rootNode=new eg(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new r0;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new t0(e.startOffset,e.image.length,Tm(e),e.tokenType,!1);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}construct(e){let r=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}addHiddenTokens(e){for(let r of e){let n=new t0(r.startOffset,r.image.length,Tm(r),r.tokenType,!0);n.root=this.rootNode,this.addHiddenToken(this.rootNode,n)}}addHiddenToken(e,r){let{offset:n,end:i}=r;for(let a=0;al&&i=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},fM=class t extends Array{static{s(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},eg=class extends r0{static{s(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}});function dM(t){return t.$type===j6}var j6,Dae,Rae,c2,u2,K6,tg,h2,oIe,pM,f2=_(()=>{"use strict";Zd();Aie();mc();xl();Ha();X6();j6=Symbol("Datatype");s(dM,"isDataTypeNode");Dae="\u200B",Rae=s(t=>t.endsWith(Dae)?t:t+Dae,"withRuleSuffix"),c2=class{static{s(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition;this.wrapper=new pM(r,Object.assign(Object.assign({},e.parser.ParserConfig),{errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},u2=class extends c2{static{s(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new o2,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=e.fragment?void 0:Ov(e)?j6:qd(e),i=this.wrapper.DEFINE_RULE(Rae(e.name),this.startImplementation(n,r).bind(this));return e.entry&&(this.mainRule=i),i}parse(e){this.nodeBuilder.buildRootNode(e);let r=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=this.mainRule.call(this.wrapper,{});return this.nodeBuilder.addHiddenTokens(r.hidden),this.unorderedGroups.clear(),{value:n,lexerErrors:r.errors,parserErrors:this.wrapper.errors}}startImplementation(e,r){return n=>{if(!this.isRecording()){let a={$type:e};this.stack.push(a),e===j6&&(a.value="")}let i;try{i=r(n)}catch{i=void 0}return!this.isRecording()&&i===void 0&&(i=this.construct()),i}}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let a=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,isCrossRef:l}=this.getAssignment(n),u=this.current;if(o){let h=Mo(n)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,h,a,l)}else if(dM(u)){let h=i.image;Mo(n)||(h=this.converter.convert(h,a).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i){let a;this.isRecording()||(a=this.nodeBuilder.buildCompositeNode(n));let o=this.wrapper.wrapSubrule(e,r,i);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,n,a)}performSubruleAssignment(e,r,n){let{assignment:i,isCrossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let o=this.current;if(dM(o))o.value+=e.toString();else if(typeof e=="object"&&e){let l=e.$type,u=this.assignWithoutOverride(e,o);l&&(u.$type=l);let h=u;this.stack.pop(),this.stack.push(h)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(!n.$cstNode&&r.feature&&r.operator){n=this.construct(!1);let a=n.$cstNode.feature;this.nodeBuilder.buildCompositeNode(a)}let i={$type:e};this.stack.pop(),this.stack.push(i),r.feature&&r.operator&&this.assign(r.operator,r.feature,n,n.$cstNode,!1)}}construct(e=!0){if(this.isRecording())return;let r=this.current;return Xk(r),this.nodeBuilder.construct(r),e&&this.stack.pop(),dM(r)?this.converter.convert(r.value,r.$cstNode):(VD(this.astReflection,r),r)}getAssignment(e){if(!this.assignmentMap.has(e)){let r=zd(e,yl);this.assignmentMap.set(e,{assignment:r,isCrossRef:r?Fd(r.terminal):!1})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){let o=this.current,l;switch(a&&typeof n=="string"?l=this.linker.buildReference(o,r,i,n):l=n,e){case"=":{o[r]=l;break}case"?=":{o[r]=!0;break}case"+=":Array.isArray(o[r])||(o[r]=[]),o[r].push(l)}}assignWithoutOverride(e,r){for(let[n,i]of Object.entries(r)){let a=e[n];a===void 0?e[n]=i:Array.isArray(a)&&Array.isArray(i)&&(i.push(...a),e[n]=i)}return e}get definitionErrors(){return this.wrapper.definitionErrors}},K6=class{static{s(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Ru.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Ru.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Ru.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Ru.buildEarlyExitMessage(e)}},tg=class extends K6{static{s(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},h2=class extends c2{static{s(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e);return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(Rae(e.name),this.startImplementation(r).bind(this));return e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,r,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},oIe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new tg},pM=class extends t2{static{s(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,Object.assign(Object.assign(Object.assign({},oIe),{lookaheadStrategy:n?new Mu({maxLookahead:r.maxLookahead}):new a2}),r))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r){return this.RULE(e,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}}});function Z6(t,e,r){return lIe({parser:e,tokens:r,rules:new Map,ruleNames:new Map},t),e}function lIe(t,e){let r=Iv(e,!1),n=Wr(e.rules).filter(Sa).filter(i=>r.has(i));for(let i of n){let a=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});a.rules.set(i.name,t.parser.rule(i,n0(a,i.definition)))}}function n0(t,e,r=!1){let n;if(Mo(e))n=mIe(t,e);else if(Cu(e))n=cIe(t,e);else if(yl(e))n=n0(t,e.terminal);else if(Fd(e))n=Mae(t,e);else if(vl(e))n=uIe(t,e);else if(Wk(e))n=fIe(t,e);else if(Yk(e))n=dIe(t,e);else if(Kh(e))n=pIe(t,e);else if(wD(e)){let i=t.consume++;n=s(()=>t.parser.consume(i,io,e),"method")}else throw new Bd(e.$cstNode,`Unexpected element type: ${e.$type}`);return Iae(t,r?void 0:Q6(e),n,e.cardinality)}function cIe(t,e){let r=qd(e);return()=>t.parser.action(r,e)}function uIe(t,e){let r=e.rule.ref;if(Sa(r)){let n=t.subrule++,i=e.arguments.length>0?hIe(r,e.arguments):()=>({});return a=>t.parser.subrule(n,Nae(t,r),e,i(a))}else if(Ro(r)){let n=t.consume++,i=mM(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)jh(r);else throw new Bd(e.$cstNode,`Undefined rule type: ${e.$type}`)}function hIe(t,e){let r=e.map(n=>Iu(n.value));return n=>{let i={};for(let a=0;ae(n)||r(n)}else if(XL(t)){let e=Iu(t.left),r=Iu(t.right);return n=>e(n)&&r(n)}else if(tD(t)){let e=Iu(t.value);return r=>!e(r)}else if(aD(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(HL(t)){let e=!!t.true;return()=>e}jh(t)}function fIe(t,e){if(e.elements.length===1)return n0(t,e.elements[0]);{let r=[];for(let i of e.elements){let a={ALT:n0(t,i,!0)},o=Q6(i);o&&(a.GATE=Iu(o)),r.push(a)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{let o={ALT:s(()=>a.ALT(i),"ALT")},l=a.GATE;return l&&(o.GATE=()=>l(i)),o}))}}function dIe(t,e){if(e.elements.length===1)return n0(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:n0(t,l,!0)},h=Q6(l);h&&(u.GATE=Iu(h)),r.push(u)}let n=t.or++,i=s((l,u)=>{let h=u.getRuleStack().join("-");return`uGroup_${l}_${h}`},"idFunc"),a=s(l=>t.parser.alternatives(n,r.map((u,h)=>{let f={ALT:s(()=>!0,"ALT")},d=t.parser;f.ALT=()=>{if(u.ALT(l),!d.isRecording()){let m=i(n,d);d.unorderedGroups.get(m)||d.unorderedGroups.set(m,[]);let g=d.unorderedGroups.get(m);typeof g?.[h]>"u"&&(g[h]=!0)}};let p=u.GATE;return p?f.GATE=()=>p(l):f.GATE=()=>{let m=d.unorderedGroups.get(i(n,d));return!m?.[h]},f})),"alternatives"),o=Iae(t,Q6(e),a,"*");return l=>{o(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function pIe(t,e){let r=e.elements.map(n=>n0(t,n));return n=>r.forEach(i=>i(n))}function Q6(t){if(Kh(t))return t.guardCondition}function Mae(t,e,r=e.terminal){if(r)if(vl(r)&&Sa(r.rule.ref)){let n=t.subrule++;return i=>t.parser.subrule(n,Nae(t,r.rule.ref),e,i)}else if(vl(r)&&Ro(r.rule.ref)){let n=t.consume++,i=mM(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Mo(r)){let n=t.consume++,i=mM(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let n=e6(e.type.ref),i=n?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+qd(e.type.ref));return Mae(t,e,i)}}function mIe(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function Iae(t,e,r,n){let i=e&&Iu(e);if(!n)if(i){let a=t.or++;return o=>t.parser.alternatives(a,[{ALT:s(()=>r(o),"ALT"),GATE:s(()=>i(o),"GATE")},{ALT:$6(),GATE:s(()=>!i(o),"GATE")}])}else return r;if(n==="*"){let a=t.many++;return o=>t.parser.many(a,{DEF:s(()=>r(o),"DEF"),GATE:i?()=>i(o):void 0})}else if(n==="+"){let a=t.many++;if(i){let o=t.or++;return l=>t.parser.alternatives(o,[{ALT:s(()=>t.parser.atLeastOne(a,{DEF:s(()=>r(l),"DEF")}),"ALT"),GATE:s(()=>i(l),"GATE")},{ALT:$6(),GATE:s(()=>!i(l),"GATE")}])}else return o=>t.parser.atLeastOne(a,{DEF:s(()=>r(o),"DEF")})}else if(n==="?"){let a=t.optional++;return o=>t.parser.optional(a,{DEF:s(()=>r(o),"DEF"),GATE:i?()=>i(o):void 0})}else jh(n)}function Nae(t,e){let r=gIe(t,e),n=t.rules.get(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function gIe(t,e){if(Sa(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Sa(n);)(Kh(n)||Wk(n)||Yk(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function mM(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}var gM=_(()=>{"use strict";Zd();mc();Fk();Es();xl();s(Z6,"createParser");s(lIe,"buildRules");s(n0,"buildElement");s(cIe,"buildAction");s(uIe,"buildRuleCall");s(hIe,"buildRuleCallPredicate");s(Iu,"buildPredicate");s(fIe,"buildAlternatives");s(dIe,"buildUnorderedGroup");s(pIe,"buildGroup");s(Q6,"getGuardCondition");s(Mae,"buildCrossReference");s(mIe,"buildKeyword");s(Iae,"wrap");s(Nae,"getRule");s(gIe,"getRuleName");s(mM,"getToken")});function yM(t){let e=t.Grammar,r=t.parser.Lexer,n=new h2(t);return Z6(e,n,r.definition),n.finalize(),n}var vM=_(()=>{"use strict";f2();gM();s(yM,"createCompletionParser")});function xM(t){let e=Oae(t);return e.finalize(),e}function Oae(t){let e=t.Grammar,r=t.parser.Lexer,n=new u2(t);return Z6(e,n,r.definition)}var bM=_(()=>{"use strict";f2();gM();s(xM,"createLangiumParser");s(Oae,"prepareLangiumParser")});var i0,kM=_(()=>{"use strict";Zd();mc();Ha();xl();_m();Es();i0=class{static{s(this,"DefaultTokenBuilder")}buildTokens(e,r){let n=Wr(Iv(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return i.forEach(o=>{let l=o.PATTERN;typeof l=="object"&&l&&"test"in l&&Zk(l)?a.unshift(o):a.push(o)}),a}buildTerminalTokens(e){return e.filter(Ro).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Am(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n,LINE_BREAKS:!0};return e.hidden&&(i.GROUP=Zk(r)?jn.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")?!0:!!(e.source.includes("?<=")||e.source.includes("?(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Sa).flatMap(i=>gc(i).filter(Mo)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){return{name:e.value,PATTERN:this.buildKeywordPattern(e,n),LONGER_ALT:this.findLongerAlt(e,r)}}buildKeywordPattern(e,r){return r?new RegExp(jD(e.value)):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let a=i?.PATTERN;return a?.source&&KD("^"+a.source+"$",e.value)&&n.push(i),n},[])}}});var a0,xc,wM=_(()=>{"use strict";mc();xl();a0=class{static{s(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(Fd(n)&&(n=JD(n)),vl(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){var i;switch(e.name.toUpperCase()){case"INT":return xc.convertInt(r);case"STRING":return xc.convertString(r);case"ID":return xc.convertID(r)}switch((i=oR(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return xc.convertNumber(r);case"boolean":return xc.convertBoolean(r);case"bigint":return xc.convertBigint(r);case"date":return xc.convertDate(r);default:return r}}};(function(t){function e(h){let f="";for(let d=1;d{"use strict";Object.defineProperty(CM,"__esModule",{value:!0});var TM;function EM(){if(TM===void 0)throw new Error("No runtime abstraction layer installed");return TM}s(EM,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");TM=r}s(e,"install"),t.install=e})(EM||(EM={}));CM.default=EM});var Fae=is(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.stringArray=_a.array=_a.func=_a.error=_a.number=_a.string=_a.boolean=void 0;function yIe(t){return t===!0||t===!1}s(yIe,"boolean");_a.boolean=yIe;function Pae(t){return typeof t=="string"||t instanceof String}s(Pae,"string");_a.string=Pae;function vIe(t){return typeof t=="number"||t instanceof Number}s(vIe,"number");_a.number=vIe;function xIe(t){return t instanceof Error}s(xIe,"error");_a.error=xIe;function bIe(t){return typeof t=="function"}s(bIe,"func");_a.func=bIe;function Bae(t){return Array.isArray(t)}s(Bae,"array");_a.array=Bae;function kIe(t){return Bae(t)&&t.every(e=>Pae(e))}s(kIe,"stringArray");_a.stringArray=kIe});var AM=is(rg=>{"use strict";Object.defineProperty(rg,"__esModule",{value:!0});rg.Emitter=rg.Event=void 0;var wIe=SM(),zae;(function(t){let e={dispose(){}};t.None=function(){return e}})(zae||(rg.Event=zae={}));var _M=class{static{s(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:s(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,a=this._callbacks.length;i{this._callbacks||(this._callbacks=new _M),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:s(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};rg.Emitter=J6;J6._noop=function(){}});var $ae=is(ng=>{"use strict";Object.defineProperty(ng,"__esModule",{value:!0});ng.CancellationTokenSource=ng.CancellationToken=void 0;var TIe=SM(),EIe=Fae(),LM=AM(),ew;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:LM.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:LM.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||EIe.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}s(e,"is"),t.is=e})(ew||(ng.CancellationToken=ew={}));var CIe=Object.freeze(function(t,e){let r=(0,TIe.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),tw=class{static{s(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?CIe:(this._emitter||(this._emitter=new LM.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},DM=class{static{s(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new tw),this._token}cancel(){this._token?this._token.cancel():this._token=ew.Cancelled}dispose(){this._token?this._token instanceof tw&&this._token.dispose():this._token=ew.None}};ng.CancellationTokenSource=DM});var cr={};var No=_(()=>{"use strict";lr(cr,ka($ae(),1))});function MM(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}function Vae(){return RM=Date.now(),new cr.CancellationTokenSource}function Uae(t){Gae=t}function ef(t){return t===bc}async function Di(t){if(t===cr.CancellationToken.None)return;let e=Date.now();if(e-RM>=Gae&&(RM=e,await MM()),t.isCancellationRequested)throw bc}var RM,Gae,bc,Qa,Oo=_(()=>{"use strict";No();s(MM,"delayNextTick");RM=0,Gae=10;s(Vae,"startCancelableOperation");s(Uae,"setInterruptionPeriod");bc=Symbol("OperationCancelled");s(ef,"isOperationCancelled");s(Di,"interruptAndCheck");Qa=class{static{s(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}});function IM(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);IM(n,e),IM(i,e);let a=0,o=0,l=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function SIe(t){let e=Hae(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var rw,ig,Yae=_(()=>{"use strict";rw=class t{static{s(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=Hae(n.range),a=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(o,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),h=this._lineOffsets,f=qae(n.text,!1,a);if(u-l===f.length)for(let p=0,m=f.length;pe?i=o:n=o+1}let a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1r&&Wae(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}};(function(t){function e(i,a,o,l){return new rw(i,a,o,l)}s(e,"create"),t.create=e;function r(i,a,o){if(i instanceof rw)return i.update(a,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}s(r,"update"),t.update=r;function n(i,a){let o=i.getText(),l=IM(a.map(SIe),(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),u=0,h=[];for(let f of l){let d=i.offsetAt(f.range.start);if(du&&h.push(o.substring(u,d)),f.newText.length&&h.push(f.newText),u=i.offsetAt(f.range.end)}return h.push(o.substr(u)),h.join("")}s(n,"applyEdits"),t.applyEdits=n})(ig||(ig={}));s(IM,"mergeSort");s(qae,"computeLineOffsets");s(Wae,"isEOL");s(Hae,"getWellformedRange");s(SIe,"getWellformedEdit")});var Xae,_s,ag,NM=_(()=>{"use strict";(()=>{"use strict";var t={470:i=>{function a(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}s(a,"e");function o(u,h){for(var f,d="",p=0,m=-1,g=0,y=0;y<=u.length;++y){if(y2){var v=d.lastIndexOf("/");if(v!==d.length-1){v===-1?(d="",p=0):p=(d=d.slice(0,v)).length-1-d.lastIndexOf("/"),m=y,g=0;continue}}else if(d.length===2||d.length===1){d="",p=0,m=y,g=0;continue}}h&&(d.length>0?d+="/..":d="..",p=2)}else d.length>0?d+="/"+u.slice(m+1,y):d=u.slice(m+1,y),p=y-m-1;m=y,g=0}else f===46&&g!==-1?++g:g=-1}return d}s(o,"r");var l={resolve:s(function(){for(var u,h="",f=!1,d=arguments.length-1;d>=-1&&!f;d--){var p;d>=0?p=arguments[d]:(u===void 0&&(u=process.cwd()),p=u),a(p),p.length!==0&&(h=p+"/"+h,f=p.charCodeAt(0)===47)}return h=o(h,!f),f?h.length>0?"/"+h:"/":h.length>0?h:"."},"resolve"),normalize:s(function(u){if(a(u),u.length===0)return".";var h=u.charCodeAt(0)===47,f=u.charCodeAt(u.length-1)===47;return(u=o(u,!h)).length!==0||h||(u="."),u.length>0&&f&&(u+="/"),h?"/"+u:u},"normalize"),isAbsolute:s(function(u){return a(u),u.length>0&&u.charCodeAt(0)===47},"isAbsolute"),join:s(function(){if(arguments.length===0)return".";for(var u,h=0;h0&&(u===void 0?u=f:u+="/"+f)}return u===void 0?".":l.normalize(u)},"join"),relative:s(function(u,h){if(a(u),a(h),u===h||(u=l.resolve(u))===(h=l.resolve(h)))return"";for(var f=1;fy){if(h.charCodeAt(m+x)===47)return h.slice(m+x+1);if(x===0)return h.slice(m+x)}else p>y&&(u.charCodeAt(f+x)===47?v=x:x===0&&(v=0));break}var b=u.charCodeAt(f+x);if(b!==h.charCodeAt(m+x))break;b===47&&(v=x)}var k="";for(x=f+v+1;x<=d;++x)x!==d&&u.charCodeAt(x)!==47||(k.length===0?k+="..":k+="/..");return k.length>0?k+h.slice(m+v):(m+=v,h.charCodeAt(m)===47&&++m,h.slice(m))},"relative"),_makeLong:s(function(u){return u},"_makeLong"),dirname:s(function(u){if(a(u),u.length===0)return".";for(var h=u.charCodeAt(0),f=h===47,d=-1,p=!0,m=u.length-1;m>=1;--m)if((h=u.charCodeAt(m))===47){if(!p){d=m;break}}else p=!1;return d===-1?f?"/":".":f&&d===1?"//":u.slice(0,d)},"dirname"),basename:s(function(u,h){if(h!==void 0&&typeof h!="string")throw new TypeError('"ext" argument must be a string');a(u);var f,d=0,p=-1,m=!0;if(h!==void 0&&h.length>0&&h.length<=u.length){if(h.length===u.length&&h===u)return"";var g=h.length-1,y=-1;for(f=u.length-1;f>=0;--f){var v=u.charCodeAt(f);if(v===47){if(!m){d=f+1;break}}else y===-1&&(m=!1,y=f+1),g>=0&&(v===h.charCodeAt(g)?--g==-1&&(p=f):(g=-1,p=y))}return d===p?p=y:p===-1&&(p=u.length),u.slice(d,p)}for(f=u.length-1;f>=0;--f)if(u.charCodeAt(f)===47){if(!m){d=f+1;break}}else p===-1&&(m=!1,p=f+1);return p===-1?"":u.slice(d,p)},"basename"),extname:s(function(u){a(u);for(var h=-1,f=0,d=-1,p=!0,m=0,g=u.length-1;g>=0;--g){var y=u.charCodeAt(g);if(y!==47)d===-1&&(p=!1,d=g+1),y===46?h===-1?h=g:m!==1&&(m=1):h!==-1&&(m=-1);else if(!p){f=g+1;break}}return h===-1||d===-1||m===0||m===1&&h===d-1&&h===f+1?"":u.slice(h,d)},"extname"),format:s(function(u){if(u===null||typeof u!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof u);return function(h,f){var d=f.dir||f.root,p=f.base||(f.name||"")+(f.ext||"");return d?d===f.root?d+p:d+"/"+p:p}(0,u)},"format"),parse:s(function(u){a(u);var h={root:"",dir:"",base:"",ext:"",name:""};if(u.length===0)return h;var f,d=u.charCodeAt(0),p=d===47;p?(h.root="/",f=1):f=0;for(var m=-1,g=0,y=-1,v=!0,x=u.length-1,b=0;x>=f;--x)if((d=u.charCodeAt(x))!==47)y===-1&&(v=!1,y=x+1),d===46?m===-1?m=x:b!==1&&(b=1):m!==-1&&(b=-1);else if(!v){g=x+1;break}return m===-1||y===-1||b===0||b===1&&m===y-1&&m===g+1?y!==-1&&(h.base=h.name=g===0&&p?u.slice(1,y):u.slice(g,y)):(g===0&&p?(h.name=u.slice(1,m),h.base=u.slice(1,y)):(h.name=u.slice(g,m),h.base=u.slice(g,y)),h.ext=u.slice(m,y)),g>0?h.dir=u.slice(0,g-1):p&&(h.dir="/"),h},"parse"),sep:"/",delimiter:":",win32:null,posix:null};l.posix=l,i.exports=l}},e={};function r(i){var a=e[i];if(a!==void 0)return a.exports;var o=e[i]={exports:{}};return t[i](o,o.exports,r),o.exports}s(r,"r"),r.d=(i,a)=>{for(var o in a)r.o(a,o)&&!r.o(i,o)&&Object.defineProperty(i,o,{enumerable:!0,get:a[o]})},r.o=(i,a)=>Object.prototype.hasOwnProperty.call(i,a),r.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var n={};(()=>{let i;r.r(n),r.d(n,{URI:s(()=>p,"URI"),Utils:s(()=>R,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,o=/^\//,l=/^\/\//;function u(D,L){if(!D.scheme&&L)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${D.authority}", path: "${D.path}", query: "${D.query}", fragment: "${D.fragment}"}`);if(D.scheme&&!a.test(D.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(D.path){if(D.authority){if(!o.test(D.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(D.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}s(u,"s");let h="",f="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static{s(this,"f")}static isUri(L){return L instanceof p||!!L&&typeof L.authority=="string"&&typeof L.fragment=="string"&&typeof L.path=="string"&&typeof L.query=="string"&&typeof L.scheme=="string"&&typeof L.fsPath=="string"&&typeof L.with=="function"&&typeof L.toString=="function"}scheme;authority;path;query;fragment;constructor(L,P,M,F,I,O=!1){typeof L=="object"?(this.scheme=L.scheme||h,this.authority=L.authority||h,this.path=L.path||h,this.query=L.query||h,this.fragment=L.fragment||h):(this.scheme=function(z,N){return z||N?z:"file"}(L,O),this.authority=P||h,this.path=function(z,N){switch(z){case"https":case"http":case"file":N?N[0]!==f&&(N=f+N):N=f}return N}(this.scheme,M||h),this.query=F||h,this.fragment=I||h,u(this,O))}get fsPath(){return b(this,!1)}with(L){if(!L)return this;let{scheme:P,authority:M,path:F,query:I,fragment:O}=L;return P===void 0?P=this.scheme:P===null&&(P=h),M===void 0?M=this.authority:M===null&&(M=h),F===void 0?F=this.path:F===null&&(F=h),I===void 0?I=this.query:I===null&&(I=h),O===void 0?O=this.fragment:O===null&&(O=h),P===this.scheme&&M===this.authority&&F===this.path&&I===this.query&&O===this.fragment?this:new g(P,M,F,I,O)}static parse(L,P=!1){let M=d.exec(L);return M?new g(M[2]||h,T(M[4]||h),T(M[5]||h),T(M[7]||h),T(M[9]||h),P):new g(h,h,h,h,h)}static file(L){let P=h;if(i&&(L=L.replace(/\\/g,f)),L[0]===f&&L[1]===f){let M=L.indexOf(f,2);M===-1?(P=L.substring(2),L=f):(P=L.substring(2,M),L=L.substring(M)||f)}return new g("file",P,L,h,h)}static from(L){let P=new g(L.scheme,L.authority,L.path,L.query,L.fragment);return u(P,!0),P}toString(L=!1){return k(this,L)}toJSON(){return this}static revive(L){if(L){if(L instanceof p)return L;{let P=new g(L);return P._formatted=L.external,P._fsPath=L._sep===m?L.fsPath:null,P}}return L}}let m=i?1:void 0;class g extends p{static{s(this,"l")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(L=!1){return L?k(this,!0):(this._formatted||(this._formatted=k(this,!1)),this._formatted)}toJSON(){let L={$mid:1};return this._fsPath&&(L.fsPath=this._fsPath,L._sep=m),this._formatted&&(L.external=this._formatted),this.path&&(L.path=this.path),this.scheme&&(L.scheme=this.scheme),this.authority&&(L.authority=this.authority),this.query&&(L.query=this.query),this.fragment&&(L.fragment=this.fragment),L}}let y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v(D,L,P){let M,F=-1;for(let I=0;I=97&&O<=122||O>=65&&O<=90||O>=48&&O<=57||O===45||O===46||O===95||O===126||L&&O===47||P&&O===91||P&&O===93||P&&O===58)F!==-1&&(M+=encodeURIComponent(D.substring(F,I)),F=-1),M!==void 0&&(M+=D.charAt(I));else{M===void 0&&(M=D.substr(0,I));let z=y[O];z!==void 0?(F!==-1&&(M+=encodeURIComponent(D.substring(F,I)),F=-1),M+=z):F===-1&&(F=I)}}return F!==-1&&(M+=encodeURIComponent(D.substring(F))),M!==void 0?M:D}s(v,"d");function x(D){let L;for(let P=0;P1&&D.scheme==="file"?`//${D.authority}${D.path}`:D.path.charCodeAt(0)===47&&(D.path.charCodeAt(1)>=65&&D.path.charCodeAt(1)<=90||D.path.charCodeAt(1)>=97&&D.path.charCodeAt(1)<=122)&&D.path.charCodeAt(2)===58?L?D.path.substr(1):D.path[1].toLowerCase()+D.path.substr(2):D.path,i&&(P=P.replace(/\//g,"\\")),P}s(b,"m");function k(D,L){let P=L?x:v,M="",{scheme:F,authority:I,path:O,query:z,fragment:N}=D;if(F&&(M+=F,M+=":"),(I||F==="file")&&(M+=f,M+=f),I){let U=I.indexOf("@");if(U!==-1){let $=I.substr(0,U);I=I.substr(U+1),U=$.lastIndexOf(":"),U===-1?M+=P($,!1,!1):(M+=P($.substr(0,U),!1,!1),M+=":",M+=P($.substr(U+1),!1,!0)),M+="@"}I=I.toLowerCase(),U=I.lastIndexOf(":"),U===-1?M+=P(I,!1,!0):(M+=P(I.substr(0,U),!1,!0),M+=I.substr(U))}if(O){if(O.length>=3&&O.charCodeAt(0)===47&&O.charCodeAt(2)===58){let U=O.charCodeAt(1);U>=65&&U<=90&&(O=`/${String.fromCharCode(U+32)}:${O.substr(3)}`)}else if(O.length>=2&&O.charCodeAt(1)===58){let U=O.charCodeAt(0);U>=65&&U<=90&&(O=`${String.fromCharCode(U+32)}:${O.substr(2)}`)}M+=P(O,!0,!1)}return z&&(M+="?",M+=P(z,!1,!1)),N&&(M+="#",M+=L?N:v(N,!1,!1)),M}s(k,"y");function A(D){try{return decodeURIComponent(D)}catch{return D.length>3?D.substr(0,3)+A(D.substr(3)):D}}s(A,"v");let w=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function T(D){return D.match(w)?D.replace(w,L=>A(L)):D}s(T,"C");var C=r(470);let E=C.posix||C,S="/";var R;(function(D){D.joinPath=function(L,...P){return L.with({path:E.join(L.path,...P)})},D.resolvePath=function(L,...P){let M=L.path,F=!1;M[0]!==S&&(M=S+M,F=!0);let I=E.resolve(M,...P);return F&&I[0]===S&&!L.authority&&(I=I.substring(1)),L.with({path:I})},D.dirname=function(L){if(L.path.length===0||L.path===S)return L;let P=E.dirname(L.path);return P.length===1&&P.charCodeAt(0)===46&&(P=""),L.with({path:P})},D.basename=function(L){return E.basename(L.path)},D.extname=function(L){return E.extname(L.path)}})(R||(R={}))})(),Xae=n})();({URI:_s,Utils:ag}=Xae)});var Za,kc=_(()=>{"use strict";NM();(function(t){t.basename=ag.basename,t.dirname=ag.dirname,t.extname=ag.extname,t.joinPath=ag.joinPath,t.resolvePath=ag.resolvePath;function e(n,i){return n?.toString()===i?.toString()}s(e,"equals"),t.equals=e;function r(n,i){let a=typeof n=="string"?n:n.path,o=typeof i=="string"?i:i.path,l=a.split("/").filter(p=>p.length>0),u=o.split("/").filter(p=>p.length>0),h=0;for(;h{"use strict";Yae();sg();No();Es();kc();(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(un||(un={}));d2=class{static{s(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=cr.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??_s.parse(e.uri),n?this.createAsync(r,e,n):this.create(r,e)}fromString(e,r,n){return n?this.createAsync(r,e,n):this.create(r,e)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r){if(typeof r=="string"){let n=this.parse(e,r);return this.createLangiumDocument(n,e,void 0,r)}else if("$model"in r){let n={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}else{let n=this.parse(e,r.getText());return this.createLangiumDocument(n,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:un.Parsed,references:[],textDocument:n};else{let o=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:un.Parsed,references:[],get textDocument(){return o()}}}return e.value.$document=a,a}async update(e,r){var n,i;let a=(n=e.parseResult.value.$cstNode)===null||n===void 0?void 0:n.root.fullText,o=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),l=o?o.getText():await this.fileSystemProvider.readFile(e.uri);if(o)Object.defineProperty(e,"textDocument",{value:o});else{let u=this.createTextDocumentGetter(e.uri,l);Object.defineProperty(e,"textDocument",{get:u})}return a!==l&&(e.parseResult=await this.parseAsync(e.uri,l,r),e.parseResult.value.$document=e),e.state=un.Parsed,e}parse(e,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=ig.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},p2=class{static{s(this,"DefaultLangiumDocuments")}constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory}get all(){return Wr(this.documentMap.values())}addDocument(e){let r=e.uri.toString();if(this.documentMap.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentMap.set(r,e)}getDocument(e){let r=e.toString();return this.documentMap.get(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=un.Changed,n.precomputedScopes=void 0,n.references=[],n.diagnostics=void 0),n}deleteDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=un.Changed,this.documentMap.delete(r)),n}}});var m2,OM=_(()=>{"use strict";No();Do();Ha();Oo();sg();m2=class{static{s(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,r=cr.CancellationToken.None){for(let n of Io(e.parseResult.value))await Di(r),Cm(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if(n._ref===void 0)try{let i=this.getCandidate(e);if(Nd(i))n._ref=i;else if(n._nodeDescription=i,this.langiumDocuments().hasDocument(i.documentUri)){let a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){n._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${n.$refText}': ${i}`})}r.references.push(n)}unlink(e){for(let r of e.references)delete r._ref,delete r._nodeDescription;e.references=[]}getCandidate(e){let n=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return n??this.createLinkingError(e)}buildReference(e,r,n,i){let a=this,o={$refNode:n,$refText:i,get ref(){var l;if($n(this._ref))return this._ref;if(NL(this._nodeDescription)){let u=a.loadAstNode(this._nodeDescription);this._ref=u??a.createLinkingError({reference:o,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){let u=a.getLinkedNode({reference:o,container:e,property:r});if(u.error&&Ai(e).state{"use strict";xl();s(jae,"isNamed");g2=class{static{s(this,"DefaultNameProvider")}getName(e){if(jae(e))return e.name}getNameNode(e){return Nv(e.$cstNode,"name")}}});var y2,BM=_(()=>{"use strict";xl();Do();Ha();gl();Es();kc();y2=class{static{s(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){let r=aR(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(ua(i))return i.ref;if(Array.isArray(i)){for(let a of i)if(ua(a)&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return a.ref}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||PL(e,i)))return n}}}findDeclarationNode(e){let r=this.findDeclaration(e);if(r?.$cstNode){let n=this.nameProvider.getNameNode(r);return n??r.$cstNode}}findReferences(e,r){let n=[];if(r.includeDeclaration){let a=this.getReferenceToSelf(e);a&&n.push(a)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>Za.equals(a.sourceUri,r.documentUri))),n.push(...i),Wr(n)}getReferenceToSelf(e){let r=this.nameProvider.getNameNode(e);if(r){let n=Ai(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:Pd(r),local:!0}}}}});var wc,s0,og=_(()=>{"use strict";Es();wc=class{static{s(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return wm.sum(Wr(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){var r;return(r=this.map.get(e))!==null&&r!==void 0?r:[]}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Wr(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return Wr(this.map.keys())}values(){return Wr(this.map.values()).flat()}entriesGroupedByKey(){return Wr(this.map.entries())}},s0=class{static{s(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}});var v2,FM=_(()=>{"use strict";No();Ha();og();Oo();v2=class{static{s(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,r=cr.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,r)}async computeExportsForNode(e,r,n=Av,i=cr.CancellationToken.None){let a=[];this.exportNode(e,a,r);for(let o of n(e))await Di(i),this.exportNode(o,a,r);return a}exportNode(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async computeLocalScopes(e,r=cr.CancellationToken.None){let n=e.parseResult.value,i=new wc;for(let a of gc(n))await Di(r),this.processNode(a,e,i);return i}processNode(e,r,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}});var lg,x2,_Ie,zM=_(()=>{"use strict";Es();lg=class{static{s(this,"StreamScope")}constructor(e,r,n){var i;this.elements=e,this.outerScope=r,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===e.toLowerCase()):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}},x2=class{static{s(this,"MapScope")}constructor(e,r,n){var i;this.elements=new Map,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1;for(let a of e){let o=this.caseInsensitive?a.name.toLowerCase():a.name;this.elements.set(o,a)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=Wr(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},_Ie={getElement(){},getAllElements(){return wv}}});var cg,b2,o0,nw,ug,iw=_(()=>{"use strict";cg=class{static{s(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},b2=class extends cg{static{s(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},o0=class extends cg{static{s(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},nw=class extends o0{static{s(this,"DocumentCache")}constructor(e){super(r=>r.toString()),this.onDispose(e.workspace.DocumentBuilder.onUpdate((r,n)=>{let i=r.concat(n);for(let a of i)this.clear(a)}))}},ug=class extends b2{static{s(this,"WorkspaceCache")}constructor(e){super(),this.onDispose(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}});var k2,$M=_(()=>{"use strict";zM();Ha();Es();iw();k2=class{static{s(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new ug(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Ai(e.container).precomputedScopes;if(i){let o=e.container;do{let l=i.get(o);l.length>0&&r.push(Wr(l).filter(u=>this.reflection.isSubtype(u.type,n))),o=o.$container}while(o)}let a=this.getGlobalScope(n,e);for(let o=r.length-1;o>=0;o--)a=this.createScope(r[o],a);return a}createScope(e,r,n){return new lg(Wr(e),r,n)}createScopeForNodes(e,r,n){let i=Wr(e).map(a=>{let o=this.nameProvider.getName(a);if(o)return this.descriptions.createDescription(a,o)}).nonNullable();return new lg(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new x2(this.indexManager.allElements(e)))}}});function GM(t){return typeof t.$comment=="string"}function Kae(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var w2,aw=_(()=>{"use strict";NM();Do();Ha();xl();s(GM,"isAstNodeWithComment");s(Kae,"isIntermediateReference");w2=class{static{s(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r={}){let n=r?.replacer,i=s((o,l)=>this.replacer(o,l,r),"defaultReplacer"),a=n?(o,l)=>n(o,l,i):i;try{return this.currentDocument=Ai(e),JSON.stringify(e,a,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r={}){let n=JSON.parse(e);return this.linkNode(n,n,r),n}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:o,uriConverter:l}){var u,h,f,d;if(!this.ignoreProperties.has(e))if(ua(r)){let p=r.ref,m=n?r.$refText:void 0;if(p){let g=Ai(p),y="";this.currentDocument&&this.currentDocument!==g&&(l?y=l(g.uri,r):y=g.uri.toString());let v=this.astNodeLocator.getAstNodePath(p);return{$ref:`${y}#${v}`,$refText:m}}else return{$error:(h=(u=r.error)===null||u===void 0?void 0:u.message)!==null&&h!==void 0?h:"Could not resolve reference",$refText:m}}else if($n(r)){let p;if(a&&(p=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},r)),(!e||r.$document)&&p?.$textRegion&&(p.$textRegion.documentURI=(f=this.currentDocument)===null||f===void 0?void 0:f.uri.toString())),i&&!e&&(p??(p=Object.assign({},r)),p.$sourceText=(d=r.$cstNode)===null||d===void 0?void 0:d.text),o){p??(p=Object.assign({},r));let m=this.commentProvider.getComment(r);m&&(p.$comment=m.replace(/\r/g,""))}return p??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=s(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let o=tR(e.$cstNode,a).map(r);o.length!==0&&(i[a]=o)}),e}}linkNode(e,r,n,i,a,o){for(let[u,h]of Object.entries(e))if(Array.isArray(h))for(let f=0;f{"use strict";kc();T2=class{static{s(this,"DefaultServiceRegistry")}register(e){if(!this.singleton&&!this.map){this.singleton=e;return}if(!this.map&&(this.map={},this.singleton)){for(let r of this.singleton.LanguageMetaData.fileExtensions)this.map[r]=this.singleton;this.singleton=void 0}for(let r of e.LanguageMetaData.fileExtensions)this.map[r]!==void 0&&this.map[r]!==e&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${e.LanguageMetaData.languageId}'.`),this.map[r]=e}getServices(e){if(this.singleton!==void 0)return this.singleton;if(this.map===void 0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=Za.extname(e),n=this.map[r];if(!n)throw new Error(`The service registry contains no services for the extension '${r}'.`);return n}get all(){return this.singleton!==void 0?[this.singleton]:this.map!==void 0?Object.values(this.map):[]}}});function sw(t){return{code:t}}var hg,E2,C2=_(()=>{"use strict";og();Oo();Es();s(sw,"diagnosticData");(function(t){t.all=["fast","slow","built-in"]})(hg||(hg={}));E2=class{static{s(this,"ValidationRegistry")}constructor(e){this.entries=new wc,this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[i,a]of Object.entries(e)){let o=a;if(Array.isArray(o))for(let l of o){let u={check:this.wrapValidationException(l,r),category:n};this.addEntry(i,u)}else if(typeof o=="function"){let l={check:this.wrapValidationException(o,r),category:n};this.addEntry(i,l)}}}wrapValidationException(e,r){return async(n,i,a)=>{try{await e.call(r,n,i,a)}catch(o){if(ef(o))throw o;console.error("An error occurred during validation:",o);let l=o instanceof Error?o.message:String(o);o instanceof Error&&o.stack&&console.error(o.stack),i("error","An error occurred during validation: "+l,{node:n})}}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=Wr(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}}});function Qae(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Nv(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=nR(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function ow(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}var S2,Nu,UM=_(()=>{"use strict";No();xl();Ha();gl();Oo();C2();S2=class{static{s(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,r={},n=cr.CancellationToken.None){let i=e.parseResult,a=[];if(await Di(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(o=>{var l;return((l=o.data)===null||l===void 0?void 0:l.code)===Nu.LexingError})||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(o=>{var l;return((l=o.data)===null||l===void 0?void 0:l.code)===Nu.ParsingError}))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(o=>{var l;return((l=o.data)===null||l===void 0?void 0:l.code)===Nu.LinkingError}))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(o){if(ef(o))throw o;console.error("An error occurred during validation:",o)}return await Di(n),a}processLexingErrors(e,r,n){for(let i of e.lexerErrors){let a={severity:ow("error"),range:{start:{line:i.line-1,character:i.column-1},end:{line:i.line-1,character:i.column+i.length-1}},message:i.message,data:sw(Nu.LexingError),source:this.getSource()};r.push(a)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let o=i.previousToken;if(isNaN(o.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:o.endLine-1,character:o.endColumn};a={start:l,end:l}}}}else a=Tm(i.token);if(a){let o={severity:ow("error"),range:a,message:i.message,data:sw(Nu.ParsingError),source:this.getSource()};r.push(o)}}}processLinkingErrors(e,r,n){for(let i of e.references){let a=i.error;if(a){let o={node:a.container,property:a.property,index:a.index,data:{code:Nu.LinkingError,containerType:a.container.$type,property:a.property,refText:a.reference.$refText}};r.push(this.toDiagnostic("error",a.message,o))}}}async validateAst(e,r,n=cr.CancellationToken.None){let i=[],a=s((o,l,u)=>{i.push(this.toDiagnostic(o,l,u))},"acceptor");return await Promise.all(Io(e).map(async o=>{await Di(n);let l=this.validationRegistry.getChecks(o.$type,r.categories);for(let u of l)await u(o,a,n)})),i}toDiagnostic(e,r,n){return{message:r,range:Qae(n),severity:ow(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};s(Qae,"getDiagnosticRange");s(ow,"toDiagnosticSeverity");(function(t){t.LexingError="lexing-error",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Nu||(Nu={}))});var _2,A2,qM=_(()=>{"use strict";No();Do();Ha();gl();Oo();kc();_2=class{static{s(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n=Ai(e)){r??(r=this.nameProvider.getName(e));let i=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${i} has no name.`);let a,o=s(()=>{var l;return a??(a=Pd((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))},"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Pd(e.$cstNode),type:e.$type,documentUri:n.uri,path:i}}},A2=class{static{s(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=cr.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of Io(i))await Di(r),Cm(a).filter(o=>!Nd(o)).forEach(o=>{let l=this.createDescription(o);l&&n.push(l)});return n}createDescription(e){let r=e.reference.$nodeDescription,n=e.reference.$refNode;if(!r||!n)return;let i=Ai(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:r.documentUri,targetPath:r.path,segment:Pd(n),local:Za.equals(r.documentUri,i)}}}});var L2,WM=_(()=>{"use strict";L2=class{static{s(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;let o=a.indexOf(this.indexSeparator);if(o>0){let l=a.substring(0,o),u=parseInt(a.substring(o+1)),h=i[l];return h?.[u]}return i[a]},e)}}});var D2,HM=_(()=>{"use strict";Oo();D2=class{static{s(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new Qa,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var r,n;this.workspaceConfig=(n=(r=e.capabilities.workspace)===null||r===void 0?void 0:r.configuration)!==null&&n!==void 0?n:!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(r=>{this.updateSectionConfiguration(r,e.settings[r])})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}}});var l0,YM=_(()=>{"use strict";(function(t){function e(r){return{dispose:s(async()=>await r(),"dispose")}}s(e,"create"),t.create=e})(l0||(l0={}))});var R2,XM=_(()=>{"use strict";No();YM();og();Oo();Es();C2();sg();R2=class{static{s(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new wc,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=un.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=cr.CancellationToken.None){var i,a;for(let o of e){let l=o.uri.toString();if(o.state===un.Validated){if(typeof r.validation=="boolean"&&r.validation)o.state=un.IndexedReferences,o.diagnostics=void 0,this.buildState.delete(l);else if(typeof r.validation=="object"){let u=this.buildState.get(l),h=(i=u?.result)===null||i===void 0?void 0:i.validationChecks;if(h){let d=((a=r.validation.categories)!==null&&a!==void 0?a:hg.all).filter(p=>!h.includes(p));d.length>0&&(this.buildState.set(l,{completed:!1,options:{validation:Object.assign(Object.assign({},r.validation),{categories:d})},result:u.result}),o.state=un.IndexedReferences)}}}else this.buildState.delete(l)}this.currentState=un.Changed,await this.emitUpdate(e.map(o=>o.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=cr.CancellationToken.None){this.currentState=un.Changed;for(let o of r)this.langiumDocuments.deleteDocument(o),this.buildState.delete(o.toString()),this.indexManager.remove(o);for(let o of e){if(!this.langiumDocuments.invalidateDocument(o)){let u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},o);u.state=un.Changed,this.langiumDocuments.addDocument(u)}this.buildState.delete(o.toString())}let i=Wr(e).concat(r).map(o=>o.toString()).toSet();this.langiumDocuments.all.filter(o=>!i.has(o.uri.toString())&&this.shouldRelink(o,i)).forEach(o=>{this.serviceRegistry.getServices(o.uri).references.Linker.unlink(o),o.state=Math.min(o.state,un.ComputedScopes),o.diagnostics=void 0}),await this.emitUpdate(e,r),await Di(n);let a=this.langiumDocuments.all.filter(o=>{var l;return o.staten(e,r)))}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),l0.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,un.Parsed,n,a=>this.langiumDocumentFactory.update(a,n)),await this.runCancelable(e,un.IndexedContent,n,a=>this.indexManager.updateContent(a,n)),await this.runCancelable(e,un.ComputedScopes,n,async a=>{let o=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.precomputedScopes=await o.computeLocalScopes(a,n)}),await this.runCancelable(e,un.Linked,n,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,n)),await this.runCancelable(e,un.IndexedReferences,n,a=>this.indexManager.updateReferences(a,n));let i=e.filter(a=>this.shouldValidate(a));await this.runCancelable(i,un.Validated,n,a=>this.validate(a,n));for(let a of e){let o=this.buildState.get(a.uri.toString());o&&(o.completed=!0)}}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){let a=e.filter(o=>o.state{this.buildPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;if(r&&"path"in r?i=r:n=r,n??(n=cr.CancellationToken.None),i){let a=this.langiumDocuments.getDocument(i);if(a&&a.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject(bc):new Promise((a,o)=>{let l=this.onBuildPhase(e,()=>{if(l.dispose(),u.dispose(),i){let h=this.langiumDocuments.getDocument(i);a(h?.uri)}else a(void 0)}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),o(bc)})})}async notifyBuildPhase(e,r,n){if(e.length===0)return;let i=this.buildPhaseListeners.get(r);for(let a of i)await Di(n),await a(e,n)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){var n,i;let a=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,o=this.getBuildOptions(e).validation,l=typeof o=="object"?o:void 0,u=await a.validateDocument(e,l,r);e.diagnostics?e.diagnostics.push(...u):e.diagnostics=u;let h=this.buildState.get(e.uri.toString());if(h){(n=h.result)!==null&&n!==void 0||(h.result={});let f=(i=l?.categories)!==null&&i!==void 0?i:hg.all;h.result.validationChecks?h.result.validationChecks.push(...f):h.result.validationChecks=[...f]}}getBuildOptions(e){var r,n;return(n=(r=this.buildState.get(e.uri.toString()))===null||r===void 0?void 0:r.options)!==null&&n!==void 0?n:{}}}});var M2,jM=_(()=>{"use strict";Ha();iw();No();Es();kc();M2=class{static{s(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new o0,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Ai(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(o=>{Za.equals(o.targetUri,n)&&o.targetPath===r&&i.push(o)})}),Wr(i)}allElements(e,r){let n=Wr(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){var n;return r?this.symbolByTypeIndex.get(e,r,()=>{var a;return((a=this.symbolIndex.get(e))!==null&&a!==void 0?a:[]).filter(l=>this.astReflection.isSubtype(l.type,r))}):(n=this.symbolIndex.get(e))!==null&&n!==void 0?n:[]}remove(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r),this.referenceIndex.delete(r)}async updateContent(e,r=cr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=cr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}});var I2,KM=_(()=>{"use strict";No();Oo();kc();I2=class{static{s(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new Qa,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}initialize(e){var r;this.folders=(r=e.workspaceFolders)!==null&&r!==void 0?r:void 0}initialized(e){return this.mutex.write(r=>{var n;return this.initializeWorkspace((n=this.folders)!==null&&n!==void 0?n:[],r)})}async initializeWorkspace(e,r=cr.CancellationToken.None){let n=await this.performStartup(e);await Di(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=this.serviceRegistry.all.flatMap(a=>a.LanguageMetaData.fileExtensions),n=[],i=s(a=>{n.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)},"collector");return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(a=>[a,this.getRootFolder(a)]).map(async a=>this.traverseFolder(...a,r,i))),this._ready.resolve(),n}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return _s.parse(e.uri)}async traverseFolder(e,r,n,i){let a=await this.fileSystemProvider.readDirectory(r);await Promise.all(a.map(async o=>{if(this.includeEntry(e,o,n)){if(o.isDirectory)await this.traverseFolder(e,o.uri,n,i);else if(o.isFile){let l=await this.langiumDocuments.getOrCreateDocument(o.uri);i(l)}}}))}includeEntry(e,r,n){let i=Za.basename(r.uri);if(i.startsWith("."))return!1;if(r.isDirectory)return i!=="node_modules"&&i!=="out";if(r.isFile){let a=Za.extname(r.uri);return n.includes(a)}return!1}}});function Zae(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function ZM(t){return t&&"modes"in t&&"defaultMode"in t}function QM(t){return!Zae(t)&&!ZM(t)}var N2,JM=_(()=>{"use strict";Zd();N2=class{static{s(this,"DefaultLexer")}constructor(e){let r=e.parser.TokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=QM(r)?Object.values(r):r;this.chevrotainLexer=new jn(n,{positionTracking:"full"})}get definition(){return this.tokenTypes}tokenize(e){var r;let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:(r=n.groups.hidden)!==null&&r!==void 0?r:[]}}toTokenTypeDictionary(e){if(QM(e))return e;let r=ZM(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};s(Zae,"isTokenTypeArray");s(ZM,"isIMultiModeLexerDefinition");s(QM,"isTokenTypeDictionary")});function rI(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Pr.create(0,0));let a=tse(t),o=iI(n),l=LIe({lines:a,position:i,options:o});return NIe({index:0,tokens:l,position:i})}function nI(t,e){let r=iI(e),n=tse(t);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],o=r.start,l=r.end;return!!o?.exec(i)&&!!l?.exec(a)}function tse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(YD)}function LIe(t){var e,r,n;let i=[],a=t.position.line,o=t.position.character;for(let l=0;l=f.length){if(i.length>0){let m=Pr.create(a,o);i.push({type:"break",content:"",range:gr.create(m,m)})}}else{Jae.lastIndex=d;let m=Jae.exec(f);if(m){let g=m[0],y=m[1],v=Pr.create(a,o+d),x=Pr.create(a,o+d+g.length);i.push({type:"tag",content:y,range:gr.create(v,x)}),d+=g.length,d=tI(f,d)}if(d0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function DIe(t,e,r,n){let i=[];if(t.length===0){let a=Pr.create(r,n),o=Pr.create(r,n+e.length);i.push({type:"text",content:e,range:gr.create(a,o)})}else{let a=0;for(let l of t){let u=l.index,h=e.substring(a,u);h.length>0&&i.push({type:"text",content:e.substring(a,u),range:gr.create(Pr.create(r,a+n),Pr.create(r,u+n))});let f=h.length+1,d=l[1];if(i.push({type:"inline-tag",content:d,range:gr.create(Pr.create(r,a+f+n),Pr.create(r,a+f+d.length+n))}),f+=d.length,l.length===4){f+=l[2].length;let p=l[3];i.push({type:"text",content:p,range:gr.create(Pr.create(r,a+f+n),Pr.create(r,a+f+p.length+n))})}else i.push({type:"text",content:"",range:gr.create(Pr.create(r,a+f+n),Pr.create(r,a+f+n))});a=u+l[0].length}let o=e.substring(a);o.length>0&&i.push({type:"text",content:o,range:gr.create(Pr.create(r,a+n),Pr.create(r,a+n+o.length))})}return i}function tI(t,e){let r=t.substring(e).match(RIe);return r?e+r.index:t.length}function IIe(t){let e=t.match(MIe);if(e&&typeof e.index=="number")return e.index}function NIe(t){var e,r,n,i;let a=Pr.create(t.position.line,t.position.character);if(t.tokens.length===0)return new lw([],gr.create(a,a));let o=[];for(;t.index0){let u=tI(e,a);o=e.substring(u),e=e.substring(0,a)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(o=`\`${o}\``),(i=(n=r.renderLink)===null||n===void 0?void 0:n.call(r,e,o))!==null&&i!==void 0?i:zIe(e,o)}}function zIe(t,e){try{return _s.parse(t,!0),`[${e}](${t})`}catch{return t}}function ese(t){return t.endsWith(` +`)?` +`:` + +`}var Jae,AIe,RIe,MIe,lw,O2,P2,cw,aI=_(()=>{"use strict";hM();_m();kc();s(rI,"parseJSDoc");s(nI,"isJSDoc");s(tse,"getLines");Jae=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,AIe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;s(LIe,"tokenize");s(DIe,"buildInlineTokens");RIe=/\S/,MIe=/\s*$/;s(tI,"skipWhitespace");s(IIe,"lastCharacter");s(NIe,"parseJSDocComment");s(OIe,"parseJSDocElement");s(PIe,"appendEmptyLine");s(rse,"parseJSDocText");s(BIe,"parseJSDocInline");s(nse,"parseJSDocTag");s(ise,"parseJSDocLine");s(iI,"normalizeOptions");s(eI,"normalizeOption");lw=class{static{s(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=ese(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=ese(r)+i}return r.trim()}},O2=class{static{s(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} +${r}`),this.inline?`{${e}}`:e}toMarkdown(e){var r,n;return(n=(r=e?.renderTag)===null||r===void 0?void 0:r.call(e,this))!==null&&n!==void 0?n:this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=FIe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i} +${r}`),this.inline?`{${i}}`:i}};s(FIe,"renderInlineTag");s(zIe,"renderLinkDefault");P2=class{static{s(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` +`)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` +`)}return r}},cw=class{static{s(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};s(ese,"fillNewlines")});var B2,sI=_(()=>{"use strict";Ha();aI();B2=class{static{s(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&nI(r))return rI(r).toMarkdown({renderLink:s((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:s(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){var i;let a=(i=this.findNameInPrecomputedScopes(e,r))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,r);if(a&&a.nameSegment){let o=a.nameSegment.range.start.line+1,l=a.nameSegment.range.start.character+1,u=a.documentUri.with({fragment:`L${o},${l}`});return`[${n}](${u.toString()})`}else return}documentationTagRenderer(e,r){}findNameInPrecomputedScopes(e,r){let i=Ai(e).precomputedScopes;if(!i)return;let a=e;do{let l=i.get(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}});var F2,oI=_(()=>{"use strict";aw();gl();F2=class{static{s(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var r;return GM(e)?e.$comment:(r=FL(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||r===void 0?void 0:r.text}}});var Kn={};var lI=_(()=>{"use strict";lr(Kn,ka(AM(),1))});var z2,cI,uI,hI=_(()=>{"use strict";Oo();lI();z2=class{static{s(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e){return Promise.resolve(this.syncParser.parse(e))}},cI=class{static{s(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Qa,a,o=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{o.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Qa;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(bc)}),this.queue.push(r),r.promise}},uI=class{static{s(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new Kn.Emitter,this.deferred=new Qa,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let o=a;this.deferred.resolve(o),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(bc),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Qa,this.sendMessage(e),this.deferred.promise}}});var $2,fI=_(()=>{"use strict";No();Oo();$2=class{static{s(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new cr.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=new cr.CancellationTokenSource;return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n){let i=new Qa,a={action:r,deferred:i,cancellationToken:n??cr.CancellationToken.None};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){ef(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}});var G2,dI=_(()=>{"use strict";X6();mc();Do();Ha();og();gl();G2=class{static{s(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new s0,this.tokenTypeIdMap=new s0,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors.map(r=>Object.assign({},r)),parserErrors:e.parserErrors.map(r=>Object.assign({},r)),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Io(e))r.set(i,{});if(e.$cstNode)for(let i of Od(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let o=[];n[i]=o;for(let l of a)$n(l)?o.push(this.dehydrateAstNode(l,r)):ua(l)?o.push(this.dehydrateReference(l,r)):o.push(l)}else $n(a)?n[i]=this.dehydrateAstNode(a,r):ua(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return kv(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),to(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):Xh(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let a of Io(e))r.set(a,{});let i;if(e.$cstNode)for(let a of Od(e.$cstNode)){let o;"fullText"in a?(o=new eg(a.fullText),i=o):"content"in a?o=new r0:"tokenType"in a&&(o=this.hydrateCstLeafNode(a)),o&&(n.set(a,o),o.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let o=[];n[i]=o;for(let l of a)$n(l)?o.push(this.setParent(this.hydrateAstNode(l,r),n)):ua(l)?o.push(this.hydrateReference(l,n,i,r)):o.push(l)}else $n(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ua(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),to(i))for(let a of e.content){let o=this.hydrateCstNode(a,r,n++);i.content.push(o)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,o=e.startColumn,l=e.endLine,u=e.endColumn,h=e.hidden;return new t0(n,i,{start:{line:a,character:o},end:{line:l,character:u}},r,h)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap();let r=this.grammarElementIdMap.getKey(e);if(r)return r;throw new Error("Invalid grammar element id: "+e)}createGrammarElementIdMap(){let e=0;for(let r of Io(this.grammar))Cv(r)&&this.grammarElementIdMap.set(r,e++)}}});function kl(t){return{documentation:{CommentProvider:s(e=>new F2(e),"CommentProvider"),DocumentationProvider:s(e=>new B2(e),"DocumentationProvider")},parser:{AsyncParser:s(e=>new z2(e),"AsyncParser"),GrammarConfig:s(e=>cR(e),"GrammarConfig"),LangiumParser:s(e=>xM(e),"LangiumParser"),CompletionParser:s(e=>yM(e),"CompletionParser"),ValueConverter:s(()=>new a0,"ValueConverter"),TokenBuilder:s(()=>new i0,"TokenBuilder"),Lexer:s(e=>new N2(e),"Lexer"),ParserErrorMessageProvider:s(()=>new tg,"ParserErrorMessageProvider")},workspace:{AstNodeLocator:s(()=>new L2,"AstNodeLocator"),AstNodeDescriptionProvider:s(e=>new _2(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:s(e=>new A2(e),"ReferenceDescriptionProvider")},references:{Linker:s(e=>new m2(e),"Linker"),NameProvider:s(()=>new g2,"NameProvider"),ScopeProvider:s(e=>new k2(e),"ScopeProvider"),ScopeComputation:s(e=>new v2(e),"ScopeComputation"),References:s(e=>new y2(e),"References")},serializer:{Hydrator:s(e=>new G2(e),"Hydrator"),JsonSerializer:s(e=>new w2(e),"JsonSerializer")},validation:{DocumentValidator:s(e=>new S2(e),"DocumentValidator"),ValidationRegistry:s(e=>new E2(e),"ValidationRegistry")},shared:s(()=>t.shared,"shared")}}function wl(t){return{ServiceRegistry:s(()=>new T2,"ServiceRegistry"),workspace:{LangiumDocuments:s(e=>new p2(e),"LangiumDocuments"),LangiumDocumentFactory:s(e=>new d2(e),"LangiumDocumentFactory"),DocumentBuilder:s(e=>new R2(e),"DocumentBuilder"),IndexManager:s(e=>new M2(e),"IndexManager"),WorkspaceManager:s(e=>new I2(e),"WorkspaceManager"),FileSystemProvider:s(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:s(()=>new $2,"WorkspaceLock"),ConfigurationProvider:s(e=>new D2(e),"ConfigurationProvider")}}}var pI=_(()=>{"use strict";uR();vM();bM();kM();wM();OM();PM();BM();FM();$M();aw();VM();UM();C2();qM();WM();HM();XM();sg();jM();KM();JM();sI();oI();f2();hI();fI();dI();s(kl,"createDefaultCoreModule");s(wl,"createDefaultSharedCoreModule")});function Aa(t,e,r,n,i,a,o,l,u){let h=[t,e,r,n,i,a,o,l,u].reduce(uw,{});return lse(h)}function ose(t){if(t&&t[gI])for(let e of Object.values(t))ose(e);return t}function lse(t,e){let r=new Proxy({},{deleteProperty:s(()=>!1,"deleteProperty"),get:s((n,i)=>sse(n,i,t,e||r),"get"),getOwnPropertyDescriptor:s((n,i)=>(sse(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:s((n,i)=>i in t,"has"),ownKeys:s(()=>[...Reflect.ownKeys(t),gI],"ownKeys")});return r[gI]=!0,r}function sse(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===ase)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=ase;try{t[e]=typeof i=="function"?i(n):lse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function uw(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!==void 0){let i=t[r];i!==null&&n!==null&&typeof i=="object"&&typeof n=="object"?t[r]=uw(i,n):t[r]=n}}return t}var mI,gI,ase,yI=_(()=>{"use strict";(function(t){t.merge=(e,r)=>uw(uw({},e),r)})(mI||(mI={}));s(Aa,"inject");gI=Symbol("isProxy");s(ose,"eagerLoad");s(lse,"_inject");ase=Symbol();s(sse,"_resolve");s(uw,"_merge")});var cse=_(()=>{"use strict"});var use=_(()=>{"use strict";oI();sI();aI()});var hse=_(()=>{"use strict"});var fse=_(()=>{"use strict";uR();hse()});var dse=_(()=>{"use strict"});var pse=_(()=>{"use strict";hI();vM();X6();bM();f2();JM();dse();kM();wM()});var mse=_(()=>{"use strict";OM();PM();BM();zM();FM();$M()});var gse=_(()=>{"use strict";dI();aw()});var hw,Tl,vI=_(()=>{"use strict";hw=class{static{s(this,"EmptyFileSystemProvider")}readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},Tl={fileSystemProvider:s(()=>new hw,"fileSystemProvider")}});function VIe(){let t=Aa(wl(Tl),GIe),e=Aa(kl({shared:t}),$Ie);return t.ServiceRegistry.register(e),e}function c0(t){var e;let r=VIe(),n=r.serializer.JsonSerializer.deserialize(t);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,_s.parse(`memory://${(e=n.name)!==null&&e!==void 0?e:"grammar"}.langium`)),n}var $Ie,GIe,yse=_(()=>{"use strict";pI();yI();mc();vI();kc();$Ie={Grammar:s(()=>{},"Grammar"),LanguageMetaData:s(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},GIe={AstReflection:s(()=>new Em,"AstReflection")};s(VIe,"createMinimalGrammarServices");s(c0,"loadGrammarFromJson")});var wr={};ur(wr,{AstUtils:()=>jk,BiMap:()=>s0,Cancellation:()=>cr,ContextCache:()=>o0,CstUtils:()=>Bk,DONE_RESULT:()=>Wa,Deferred:()=>Qa,Disposable:()=>l0,DisposableCache:()=>cg,DocumentCache:()=>nw,EMPTY_STREAM:()=>wv,ErrorWithLocation:()=>Bd,GrammarUtils:()=>t6,MultiMap:()=>wc,OperationCancelled:()=>bc,Reduction:()=>wm,RegExpUtils:()=>Jk,SimpleCache:()=>b2,StreamImpl:()=>ro,TreeStreamImpl:()=>pc,URI:()=>_s,UriUtils:()=>Za,WorkspaceCache:()=>ug,assertUnreachable:()=>jh,delayNextTick:()=>MM,interruptAndCheck:()=>Di,isOperationCancelled:()=>ef,loadGrammarFromJson:()=>c0,setInterruptionPeriod:()=>Uae,startCancelableOperation:()=>Vae,stream:()=>Wr});var vse=_(()=>{"use strict";iw();lI();lr(wr,Kn);og();YM();Fk();yse();Oo();Es();kc();Ha();No();gl();xl();_m()});var xse=_(()=>{"use strict";UM();C2()});var bse=_(()=>{"use strict";qM();WM();HM();XM();sg();vI();jM();fI();KM()});var ha={};ur(ha,{AbstractAstReflection:()=>Id,AbstractCstNode:()=>l2,AbstractLangiumParser:()=>c2,AbstractParserErrorMessageProvider:()=>K6,AbstractThreadedAsyncParser:()=>cI,AstUtils:()=>jk,BiMap:()=>s0,Cancellation:()=>cr,CompositeCstNodeImpl:()=>r0,ContextCache:()=>o0,CstNodeBuilder:()=>o2,CstUtils:()=>Bk,DONE_RESULT:()=>Wa,DatatypeSymbol:()=>j6,DefaultAstNodeDescriptionProvider:()=>_2,DefaultAstNodeLocator:()=>L2,DefaultAsyncParser:()=>z2,DefaultCommentProvider:()=>F2,DefaultConfigurationProvider:()=>D2,DefaultDocumentBuilder:()=>R2,DefaultDocumentValidator:()=>S2,DefaultHydrator:()=>G2,DefaultIndexManager:()=>M2,DefaultJsonSerializer:()=>w2,DefaultLangiumDocumentFactory:()=>d2,DefaultLangiumDocuments:()=>p2,DefaultLexer:()=>N2,DefaultLinker:()=>m2,DefaultNameProvider:()=>g2,DefaultReferenceDescriptionProvider:()=>A2,DefaultReferences:()=>y2,DefaultScopeComputation:()=>v2,DefaultScopeProvider:()=>k2,DefaultServiceRegistry:()=>T2,DefaultTokenBuilder:()=>i0,DefaultValueConverter:()=>a0,DefaultWorkspaceLock:()=>$2,DefaultWorkspaceManager:()=>I2,Deferred:()=>Qa,Disposable:()=>l0,DisposableCache:()=>cg,DocumentCache:()=>nw,DocumentState:()=>un,DocumentValidator:()=>Nu,EMPTY_SCOPE:()=>_Ie,EMPTY_STREAM:()=>wv,EmptyFileSystem:()=>Tl,EmptyFileSystemProvider:()=>hw,ErrorWithLocation:()=>Bd,GrammarAST:()=>_v,GrammarUtils:()=>t6,JSDocDocumentationProvider:()=>B2,LangiumCompletionParser:()=>h2,LangiumParser:()=>u2,LangiumParserErrorMessageProvider:()=>tg,LeafCstNodeImpl:()=>t0,MapScope:()=>x2,Module:()=>mI,MultiMap:()=>wc,OperationCancelled:()=>bc,ParserWorker:()=>uI,Reduction:()=>wm,RegExpUtils:()=>Jk,RootCstNodeImpl:()=>eg,SimpleCache:()=>b2,StreamImpl:()=>ro,StreamScope:()=>lg,TextDocument:()=>ig,TreeStreamImpl:()=>pc,URI:()=>_s,UriUtils:()=>Za,ValidationCategory:()=>hg,ValidationRegistry:()=>E2,ValueConverter:()=>xc,WorkspaceCache:()=>ug,assertUnreachable:()=>jh,createCompletionParser:()=>yM,createDefaultCoreModule:()=>kl,createDefaultSharedCoreModule:()=>wl,createGrammarConfig:()=>cR,createLangiumParser:()=>xM,delayNextTick:()=>MM,diagnosticData:()=>sw,eagerLoad:()=>ose,getDiagnosticRange:()=>Qae,inject:()=>Aa,interruptAndCheck:()=>Di,isAstNode:()=>$n,isAstNodeDescription:()=>NL,isAstNodeWithComment:()=>GM,isCompositeCstNode:()=>to,isIMultiModeLexerDefinition:()=>ZM,isJSDoc:()=>nI,isLeafCstNode:()=>Xh,isLinkingError:()=>Nd,isNamed:()=>jae,isOperationCancelled:()=>ef,isReference:()=>ua,isRootCstNode:()=>kv,isTokenTypeArray:()=>Zae,isTokenTypeDictionary:()=>QM,loadGrammarFromJson:()=>c0,parseJSDoc:()=>rI,prepareLangiumParser:()=>Oae,setInterruptionPeriod:()=>Uae,startCancelableOperation:()=>Vae,stream:()=>Wr,toDiagnosticSeverity:()=>ow});var Ou=_(()=>{"use strict";pI();yI();VM();cse();Do();use();fse();pse();mse();gse();vse();lr(ha,wr);xse();bse();mc()});function Sse(t){return Tc.isInstance(t,xI)}function _se(t){return Tc.isInstance(t,bI)}function Ase(t){return Tc.isInstance(t,HIe)}function Lse(t){return Tc.isInstance(t,kI)}function Rse(t){return Tc.isInstance(t,Dse)}function Mse(t){return Tc.isInstance(t,wI)}function Nse(t){return Tc.isInstance(t,Ise)}function Pse(t){return Tc.isInstance(t,Ose)}function Fse(t){return Tc.isInstance(t,Bse)}function $se(t){return Tc.isInstance(t,zse)}var UIe,_t,Cse,xI,qIe,WIe,bI,HIe,kI,Dse,wI,Ise,Ose,Bse,zse,YIe,Gse,Tc,kse,XIe,wse,jIe,Tse,KIe,Ese,QIe,ZIe,JIe,eNe,tNe,Pu,TI,EI,CI,SI,rNe,nNe,iNe,aNe,fw,u0,Ec,sNe,Cc=_(()=>{"use strict";Ou();Ou();Ou();Ou();UIe=Object.defineProperty,_t=s((t,e)=>UIe(t,"name",{value:e,configurable:!0}),"__name"),Cse="Statement",xI="Branch";s(Sse,"isBranch");_t(Sse,"isBranch");qIe="Checkout",WIe="CherryPicking",bI="Commit";s(_se,"isCommit");_t(_se,"isCommit");HIe="Common";s(Ase,"isCommon");_t(Ase,"isCommon");kI="GitGraph";s(Lse,"isGitGraph");_t(Lse,"isGitGraph");Dse="Info";s(Rse,"isInfo");_t(Rse,"isInfo");wI="Merge";s(Mse,"isMerge");_t(Mse,"isMerge");Ise="Packet";s(Nse,"isPacket");_t(Nse,"isPacket");Ose="PacketBlock";s(Pse,"isPacketBlock");_t(Pse,"isPacketBlock");Bse="Pie";s(Fse,"isPie");_t(Fse,"isPie");zse="PieSection";s($se,"isPieSection");_t($se,"isPieSection");YIe="Direction",Gse=class extends Id{static{s(this,"MermaidAstReflection")}static{_t(this,"MermaidAstReflection")}getAllTypes(){return["Branch","Checkout","CherryPicking","Commit","Common","Direction","GitGraph","Info","Merge","Packet","PacketBlock","Pie","PieSection","Statement"]}computeIsSubtype(t,e){switch(t){case xI:case qIe:case WIe:case bI:case wI:return this.isSubtype(Cse,e);case YIe:return this.isSubtype(kI,e);default:return!1}}getReferenceType(t){let e=`${t.container.$type}:${t.property}`;switch(e){default:throw new Error(`${e} is not a valid reference id.`)}}getTypeMetaData(t){switch(t){case"Branch":return{name:"Branch",properties:[{name:"name"},{name:"order"}]};case"Checkout":return{name:"Checkout",properties:[{name:"branch"}]};case"CherryPicking":return{name:"CherryPicking",properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case"Commit":return{name:"Commit",properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Common":return{name:"Common",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"GitGraph":return{name:"GitGraph",properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case"Info":return{name:"Info",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Merge":return{name:"Merge",properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Packet":return{name:"Packet",properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case"PacketBlock":return{name:"PacketBlock",properties:[{name:"end"},{name:"label"},{name:"start"}]};case"Pie":return{name:"Pie",properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case"PieSection":return{name:"PieSection",properties:[{name:"label"},{name:"value"}]};case"Direction":return{name:"Direction",properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};default:return{name:t,properties:[]}}}},Tc=new Gse,XIe=_t(()=>kse??(kse=c0('{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","name":"Info","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"InfoGrammar"),jIe=_t(()=>wse??(wse=c0(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","name":"Packet","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),KIe=_t(()=>Tse??(Tse=c0('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","name":"Pie","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"PieGrammar"),QIe=_t(()=>Ese??(Ese=c0(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","name":"GitGraph","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),ZIe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},JIe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},eNe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},tNe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},Pu={AstReflection:_t(()=>new Gse,"AstReflection")},TI={Grammar:_t(()=>XIe(),"Grammar"),LanguageMetaData:_t(()=>ZIe,"LanguageMetaData"),parser:{}},EI={Grammar:_t(()=>jIe(),"Grammar"),LanguageMetaData:_t(()=>JIe,"LanguageMetaData"),parser:{}},CI={Grammar:_t(()=>KIe(),"Grammar"),LanguageMetaData:_t(()=>eNe,"LanguageMetaData"),parser:{}},SI={Grammar:_t(()=>QIe(),"Grammar"),LanguageMetaData:_t(()=>tNe,"LanguageMetaData"),parser:{}},rNe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,nNe=/accTitle[\t ]*:([^\n\r]*)/,iNe=/title([\t ][^\n\r]*|)/,aNe={ACC_DESCR:rNe,ACC_TITLE:nNe,TITLE:iNe},fw=class extends a0{static{s(this,"AbstractMermaidValueConverter")}static{_t(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=aNe[t.name];if(n===void 0)return;let i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},u0=class extends fw{static{s(this,"CommonValueConverter")}static{_t(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},Ec=class extends i0{static{s(this,"AbstractMermaidTokenBuilder")}static{_t(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},sNe=class extends Ec{static{s(this,"CommonTokenBuilder")}static{_t(this,"CommonTokenBuilder")}}});function pw(t=Tl){let e=Aa(wl(t),Pu),r=Aa(kl({shared:e}),SI,dw);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var oNe,dw,_I=_(()=>{"use strict";Cc();Ou();oNe=class extends Ec{static{s(this,"GitGraphTokenBuilder")}static{_t(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},dw={parser:{TokenBuilder:_t(()=>new oNe,"TokenBuilder"),ValueConverter:_t(()=>new u0,"ValueConverter")}};s(pw,"createGitGraphServices");_t(pw,"createGitGraphServices")});function gw(t=Tl){let e=Aa(wl(t),Pu),r=Aa(kl({shared:e}),TI,mw);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var lNe,mw,AI=_(()=>{"use strict";Cc();Ou();lNe=class extends Ec{static{s(this,"InfoTokenBuilder")}static{_t(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},mw={parser:{TokenBuilder:_t(()=>new lNe,"TokenBuilder"),ValueConverter:_t(()=>new u0,"ValueConverter")}};s(gw,"createInfoServices");_t(gw,"createInfoServices")});function vw(t=Tl){let e=Aa(wl(t),Pu),r=Aa(kl({shared:e}),EI,yw);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var cNe,yw,LI=_(()=>{"use strict";Cc();Ou();cNe=class extends Ec{static{s(this,"PacketTokenBuilder")}static{_t(this,"PacketTokenBuilder")}constructor(){super(["packet-beta"])}},yw={parser:{TokenBuilder:_t(()=>new cNe,"TokenBuilder"),ValueConverter:_t(()=>new u0,"ValueConverter")}};s(vw,"createPacketServices");_t(vw,"createPacketServices")});function bw(t=Tl){let e=Aa(wl(t),Pu),r=Aa(kl({shared:e}),CI,xw);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var uNe,hNe,xw,DI=_(()=>{"use strict";Cc();Ou();uNe=class extends Ec{static{s(this,"PieTokenBuilder")}static{_t(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},hNe=class extends fw{static{s(this,"PieValueConverter")}static{_t(this,"PieValueConverter")}runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},xw={parser:{TokenBuilder:_t(()=>new uNe,"TokenBuilder"),ValueConverter:_t(()=>new hNe,"ValueConverter")}};s(bw,"createPieServices");_t(bw,"createPieServices")});var Vse={};ur(Vse,{InfoModule:()=>mw,createInfoServices:()=>gw});var Use=_(()=>{"use strict";AI();Cc()});var qse={};ur(qse,{PacketModule:()=>yw,createPacketServices:()=>vw});var Wse=_(()=>{"use strict";LI();Cc()});var Hse={};ur(Hse,{PieModule:()=>xw,createPieServices:()=>bw});var Yse=_(()=>{"use strict";DI();Cc()});var Xse={};ur(Xse,{GitGraphModule:()=>dw,createGitGraphServices:()=>pw});var jse=_(()=>{"use strict";_I();Cc()});async function Bu(t,e){let r=fNe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);fg[t]||await r();let i=fg[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new dNe(i);return i.value}var fg,fNe,dNe,V2=_(()=>{"use strict";_I();AI();LI();DI();Cc();fg={},fNe={info:_t(async()=>{let{createInfoServices:t}=await Promise.resolve().then(()=>(Use(),Vse)),e=t().Info.parser.LangiumParser;fg.info=e},"info"),packet:_t(async()=>{let{createPacketServices:t}=await Promise.resolve().then(()=>(Wse(),qse)),e=t().Packet.parser.LangiumParser;fg.packet=e},"packet"),pie:_t(async()=>{let{createPieServices:t}=await Promise.resolve().then(()=>(Yse(),Hse)),e=t().Pie.parser.LangiumParser;fg.pie=e},"pie"),gitGraph:_t(async()=>{let{createGitGraphServices:t}=await Promise.resolve().then(()=>(jse(),Xse)),e=t().GitGraph.parser.LangiumParser;fg.gitGraph=e},"gitGraph")};s(Bu,"parse");_t(Bu,"parse");dNe=class extends Error{static{s(this,"MermaidParseError")}constructor(t){let e=t.lexerErrors.map(n=>n.message).join(` +`),r=t.parserErrors.map(n=>n.message).join(` +`);super(`Parsing failed: ${e} ${r}`),this.result=t}static{_t(this,"MermaidParseError")}}});function dg(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var kw=_(()=>{"use strict";s(dg,"populateCommonDb")});var Br,ww=_(()=>{"use strict";Br={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}});var pg,RI=_(()=>{"use strict";pg=class{constructor(e){this.init=e;this.records=this.init()}static{s(this,"ImperativeState")}reset(){this.records=this.init()}}});function MI(){return cA({length:7})}function mNe(t,e){let r=Object.create(null);return t.reduce((n,i)=>{let a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}function Kse(t,e,r){let n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}function Zse(t){let e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]),r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});let n=[r,e.id,e.seq];for(let i in nt.records.branches)nt.records.branches.get(i)===e.id&&n.push(i);if(V.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){let i=nt.records.commits.get(e.parents[0]);Kse(t,e,i),e.parents[1]&&t.push(nt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){let i=nt.records.commits.get(e.parents[0]);Kse(t,e,i)}}t=mNe(t,i=>i.id),Zse(t)}var pNe,h0,nt,gNe,yNe,vNe,xNe,bNe,kNe,wNe,Qse,TNe,ENe,CNe,SNe,_Ne,Jse,ANe,LNe,DNe,Tw,II=_(()=>{"use strict";it();pr();zs();Qt();Ci();ww();RI();Pl();pNe=dr.gitGraph,h0=s(()=>ms({...pNe,..._r().gitGraph}),"getConfig"),nt=new pg(()=>{let t=h0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});s(MI,"getID");s(mNe,"uniqBy");gNe=s(function(t){nt.records.direction=t},"setDirection"),yNe=s(function(t){V.debug("options str",t),t=t?.trim(),t=t||"{}";try{nt.records.options=JSON.parse(t)}catch(e){V.error("error while parsing gitGraph options",e.message)}},"setOptions"),vNe=s(function(){return nt.records.options},"getOptions"),xNe=s(function(t){let e=t.msg,r=t.id,n=t.type,i=t.tags;V.info("commit",e,r,n,i),V.debug("Entering commit:",e,r,n,i);let a=h0();r=$e.sanitizeText(r,a),e=$e.sanitizeText(e,a),i=i?.map(l=>$e.sanitizeText(l,a));let o={id:r||nt.records.seq+"-"+MI(),message:e,seq:nt.records.seq++,type:n??Br.NORMAL,tags:i??[],parents:nt.records.head==null?[]:[nt.records.head.id],branch:nt.records.currBranch};nt.records.head=o,V.info("main branch",a.mainBranchName),nt.records.commits.set(o.id,o),nt.records.branches.set(nt.records.currBranch,o.id),V.debug("in pushCommit "+o.id)},"commit"),bNe=s(function(t){let e=t.name,r=t.order;if(e=$e.sanitizeText(e,h0()),nt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);nt.records.branches.set(e,nt.records.head!=null?nt.records.head.id:null),nt.records.branchConfig.set(e,{name:e,order:r}),Qse(e),V.debug("in createBranch")},"branch"),kNe=s(t=>{let e=t.branch,r=t.id,n=t.type,i=t.tags,a=h0();e=$e.sanitizeText(e,a),r&&(r=$e.sanitizeText(r,a));let o=nt.records.branches.get(nt.records.currBranch),l=nt.records.branches.get(e),u=o?nt.records.commits.get(o):void 0,h=l?nt.records.commits.get(l):void 0;if(u&&h&&u.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(nt.records.currBranch===e){let p=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(u===void 0||!u){let p=new Error(`Incorrect usage of "merge". Current branch (${nt.records.currBranch})has no commits`);throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},p}if(!nt.records.branches.has(e)){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},p}if(h===void 0||!h){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},p}if(u===h){let p=new Error('Incorrect usage of "merge". Both branches have same head');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(r&&nt.records.commits.has(r)){let p=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom Id");throw p.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},p}let f=l||"",d={id:r||`${nt.records.seq}-${MI()}`,message:`merged branch ${e} into ${nt.records.currBranch}`,seq:nt.records.seq++,parents:nt.records.head==null?[]:[nt.records.head.id,f],branch:nt.records.currBranch,type:Br.MERGE,customType:n,customId:!!r,tags:i??[]};nt.records.head=d,nt.records.commits.set(d.id,d),nt.records.branches.set(nt.records.currBranch,d.id),V.debug(nt.records.branches),V.debug("in mergeBranch")},"merge"),wNe=s(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;V.debug("Entering cherryPick:",e,r,n);let a=h0();if(e=$e.sanitizeText(e,a),r=$e.sanitizeText(r,a),n=n?.map(u=>$e.sanitizeText(u,a)),i=$e.sanitizeText(i,a),!e||!nt.records.commits.has(e)){let u=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw u.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},u}let o=nt.records.commits.get(e);if(o===void 0||!o)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(o.parents)&&o.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let l=o.branch;if(o.type===Br.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!nt.records.commits.has(r)){if(l===nt.records.currBranch){let d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let u=nt.records.branches.get(nt.records.currBranch);if(u===void 0||!u){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${nt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let h=nt.records.commits.get(u);if(h===void 0||!h){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${nt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let f={id:nt.records.seq+"-"+MI(),message:`cherry-picked ${o?.message} into ${nt.records.currBranch}`,seq:nt.records.seq++,parents:nt.records.head==null?[]:[nt.records.head.id,o.id],branch:nt.records.currBranch,type:Br.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${o.id}${o.type===Br.MERGE?`|parent:${i}`:""}`]};nt.records.head=f,nt.records.commits.set(f.id,f),nt.records.branches.set(nt.records.currBranch,f.id),V.debug(nt.records.branches),V.debug("in cherryPick")}},"cherryPick"),Qse=s(function(t){if(t=$e.sanitizeText(t,h0()),nt.records.branches.has(t)){nt.records.currBranch=t;let e=nt.records.branches.get(nt.records.currBranch);e===void 0||!e?nt.records.head=null:nt.records.head=nt.records.commits.get(e)??null}else{let e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");s(Kse,"upsert");s(Zse,"prettyPrintCommitHistory");TNe=s(function(){V.debug(nt.records.commits);let t=Jse()[0];Zse([t])},"prettyPrint"),ENe=s(function(){nt.reset(),br()},"clear"),CNe=s(function(){return[...nt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),SNe=s(function(){return nt.records.branches},"getBranches"),_Ne=s(function(){return nt.records.commits},"getCommits"),Jse=s(function(){let t=[...nt.records.commits.values()];return t.forEach(function(e){V.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),ANe=s(function(){return nt.records.currBranch},"getCurrentBranch"),LNe=s(function(){return nt.records.direction},"getDirection"),DNe=s(function(){return nt.records.head},"getHead"),Tw={commitType:Br,getConfig:h0,setDirection:gNe,setOptions:yNe,getOptions:vNe,commit:xNe,branch:bNe,merge:kNe,cherryPick:wNe,checkout:Qse,prettyPrint:TNe,clear:ENe,getBranchesAsObjArray:CNe,getBranches:SNe,getCommits:_Ne,getCommitsArray:Jse,getCurrentBranch:ANe,getDirection:LNe,getHead:DNe,setAccTitle:Ar,getAccTitle:Gr,getAccDescription:Ur,setAccDescription:Vr,setDiagramTitle:an,getDiagramTitle:Qr}});var RNe,MNe,INe,NNe,ONe,PNe,BNe,eoe,toe=_(()=>{"use strict";V2();it();kw();II();ww();RNe=s((t,e)=>{dg(t,e),t.dir&&e.setDirection(t.dir);for(let r of t.statements)MNe(r,e)},"populate"),MNe=s((t,e)=>{let n={Commit:s(i=>e.commit(INe(i)),"Commit"),Branch:s(i=>e.branch(NNe(i)),"Branch"),Merge:s(i=>e.merge(ONe(i)),"Merge"),Checkout:s(i=>e.checkout(PNe(i)),"Checkout"),CherryPicking:s(i=>e.cherryPick(BNe(i)),"CherryPicking")}[t.$type];n?n(t):V.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),INe=s(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?Br[t.type]:Br.NORMAL,tags:t.tags??void 0}),"parseCommit"),NNe=s(t=>({name:t.name,order:t.order??0}),"parseBranch"),ONe=s(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?Br[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),PNe=s(t=>t.branch,"parseCheckout"),BNe=s(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),eoe={parse:s(async t=>{let e=await Bu("gitGraph",t);V.debug(e),RNe(e,Tw)},"parse")}});var FNe,Po,rf,nf,Sc,Fu,f0,As,Ls,Ew,U2,Cw,tf,yr,zNe,noe,ioe,$Ne,GNe,VNe,UNe,qNe,WNe,HNe,YNe,XNe,jNe,KNe,QNe,roe,ZNe,q2,JNe,eOe,tOe,rOe,nOe,aoe,soe=_(()=>{"use strict";Xt();gt();it();pr();ww();FNe=le(),Po=FNe?.gitGraph,rf=10,nf=40,Sc=4,Fu=2,f0=8,As=new Map,Ls=new Map,Ew=30,U2=new Map,Cw=[],tf=0,yr="LR",zNe=s(()=>{As.clear(),Ls.clear(),U2.clear(),tf=0,Cw=[],yr="LR"},"clear"),noe=s(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),ioe=s(t=>{let e,r,n;return yr==="BT"?(r=s((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=s((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{let a=yr==="TB"||yr=="BT"?Ls.get(i)?.y:Ls.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),$Ne=s(t=>{let e="",r=1/0;return t.forEach(n=>{let i=Ls.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),GNe=s((t,e,r)=>{let n=r,i=r,a=[];t.forEach(o=>{let l=e.get(o);if(!l)throw new Error(`Commit not found for key ${o}`);l.parents.length?(n=UNe(l),i=Math.max(n,i)):a.push(l),qNe(l,n)}),n=i,a.forEach(o=>{WNe(o,n,r)}),t.forEach(o=>{let l=e.get(o);if(l?.parents.length){let u=$Ne(l.parents);n=Ls.get(u).y-nf,n<=i&&(i=n);let h=As.get(l.branch).pos,f=n-rf;Ls.set(l.id,{x:h,y:f})}})},"setParallelBTPos"),VNe=s(t=>{let e=ioe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);let r=Ls.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),UNe=s(t=>VNe(t)+nf,"calculateCommitPosition"),qNe=s((t,e)=>{let r=As.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);let n=r.pos,i=e+rf;return Ls.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),WNe=s((t,e,r)=>{let n=As.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);let i=e+r,a=n.pos;Ls.set(t.id,{x:a,y:i})},"setRootPosition"),HNe=s((t,e,r,n,i,a)=>{if(a===Br.HIGHLIGHT)t.append("rect").attr("x",r.x-10).attr("y",r.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%f0} ${n}-outer`),t.append("rect").attr("x",r.x-6).attr("y",r.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%f0} ${n}-inner`);else if(a===Br.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`);else{let o=t.append("circle");if(o.attr("cx",r.x),o.attr("cy",r.y),o.attr("r",e.type===Br.MERGE?9:10),o.attr("class",`commit ${e.id} commit${i%f0}`),a===Br.MERGE){let l=t.append("circle");l.attr("cx",r.x),l.attr("cy",r.y),l.attr("r",6),l.attr("class",`commit ${n} ${e.id} commit${i%f0}`)}a===Br.REVERSE&&t.append("path").attr("d",`M ${r.x-5},${r.y-5}L${r.x+5},${r.y+5}M${r.x-5},${r.y+5}L${r.x+5},${r.y-5}`).attr("class",`commit ${n} ${e.id} commit${i%f0}`)}},"drawCommitBullet"),YNe=s((t,e,r,n)=>{if(e.type!==Br.CHERRY_PICK&&(e.customId&&e.type===Br.MERGE||e.type!==Br.MERGE)&&Po?.showCommitLabel){let i=t.append("g"),a=i.insert("rect").attr("class","commit-label-bkg"),o=i.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(a.attr("x",r.posWithOffset-l.width/2-Fu).attr("y",r.y+13.5).attr("width",l.width+2*Fu).attr("height",l.height+2*Fu),yr==="TB"||yr==="BT"?(a.attr("x",r.x-(l.width+4*Sc+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*Sc)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),Po.rotateCommitLabel))if(yr==="TB"||yr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),a.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;i.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),XNe=s((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,o=0,l=[];for(let u of e.tags.reverse()){let h=t.insert("polygon"),f=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(u),p=d.node()?.getBBox();if(!p)throw new Error("Tag bbox not found");a=Math.max(a,p.width),o=Math.max(o,p.height),d.attr("x",r.posWithOffset-p.width/2),l.push({tag:d,hole:f,rect:h,yOffset:i}),i+=20}for(let{tag:u,hole:h,rect:f,yOffset:d}of l){let p=o/2,m=r.y-19.2-d;if(f.attr("class","tag-label-bkg").attr("points",` + ${n-a/2-Sc/2},${m+Fu} + ${n-a/2-Sc/2},${m-Fu} + ${r.posWithOffset-a/2-Sc},${m-p-Fu} + ${r.posWithOffset+a/2+Sc},${m-p-Fu} + ${r.posWithOffset+a/2+Sc},${m+p+Fu} + ${r.posWithOffset-a/2-Sc},${m+p+Fu}`),h.attr("cy",m).attr("cx",n-a/2+Sc/2).attr("r",1.5).attr("class","tag-hole"),yr==="TB"||yr==="BT"){let g=n+d;f.attr("class","tag-label-bkg").attr("points",` + ${r.x},${g+2} + ${r.x},${g-2} + ${r.x+rf},${g-p-2} + ${r.x+rf+a+4},${g-p-2} + ${r.x+rf+a+4},${g+p+2} + ${r.x+rf},${g+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),h.attr("cx",r.x+Sc/2).attr("cy",g).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("x",r.x+5).attr("y",g+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),jNe=s(t=>{switch(t.customType??t.type){case Br.NORMAL:return"commit-normal";case Br.REVERSE:return"commit-reverse";case Br.HIGHLIGHT:return"commit-highlight";case Br.MERGE:return"commit-merge";case Br.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),KNe=s((t,e,r,n)=>{let i={x:0,y:0};if(t.parents.length>0){let a=ioe(t.parents);if(a){let o=n.get(a)??i;return e==="TB"?o.y+nf:e==="BT"?(n.get(t.id)??i).y-nf:o.x+nf}}else return e==="TB"?Ew:e==="BT"?(n.get(t.id)??i).y-nf:0;return 0},"calculatePosition"),QNe=s((t,e,r)=>{let n=yr==="BT"&&r?e:e+rf,i=yr==="TB"||yr==="BT"?n:As.get(t.branch)?.pos,a=yr==="TB"||yr==="BT"?As.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:n}},"getCommitPosition"),roe=s((t,e,r)=>{if(!Po)throw new Error("GitGraph config not found");let n=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),a=yr==="TB"||yr==="BT"?Ew:0,o=[...e.keys()],l=Po?.parallelCommits??!1,u=s((f,d)=>{let p=e.get(f)?.seq,m=e.get(d)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys"),h=o.sort(u);yr==="BT"&&(l&&GNe(h,e,a),h=h.reverse()),h.forEach(f=>{let d=e.get(f);if(!d)throw new Error(`Commit not found for key ${f}`);l&&(a=KNe(d,yr,a,Ls));let p=QNe(d,a,l);if(r){let m=jNe(d),g=d.customType??d.type,y=As.get(d.branch)?.index??0;HNe(n,d,p,m,y,g),YNe(i,d,p,a),XNe(i,d,p,a)}yr==="TB"||yr==="BT"?Ls.set(d.id,{x:p.x,y:p.posWithOffset}):Ls.set(d.id,{x:p.posWithOffset,y:p.y}),a=yr==="BT"&&l?a+nf:a+nf+rf,a>tf&&(tf=a)})},"drawCommits"),ZNe=s((t,e,r,n,i)=>{let o=(yr==="TB"||yr==="BT"?r.xh.branch===o,"isOnBranchToGetCurve"),u=s(h=>h.seq>t.seq&&h.sequ(h)&&l(h))},"shouldRerouteArrow"),q2=s((t,e,r=0)=>{let n=t+Math.abs(t-e)/2;if(r>5)return n;if(Cw.every(o=>Math.abs(o-n)>=10))return Cw.push(n),n;let a=Math.abs(t-e);return q2(t,e-a/5,r+1)},"findLane"),JNe=s((t,e,r,n)=>{let i=Ls.get(e.id),a=Ls.get(r.id);if(i===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let o=ZNe(e,r,i,a,n),l="",u="",h=0,f=0,d=As.get(r.branch)?.index;r.type===Br.MERGE&&e.id!==r.parents[0]&&(d=As.get(e.branch)?.index);let p;if(o){l="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",h=10,f=10;let m=i.ya.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===Br.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${u} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${l} ${a.x} ${i.y+f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):yr==="BT"?(i.xa.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===Br.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${l} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):(i.ya.y&&(r.type===Br.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${u} ${i.x+f} ${a.y} L ${a.x} ${a.y}`),i.y===a.y&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`));if(p===void 0)throw new Error("Line definition not found");t.append("path").attr("d",p).attr("class","arrow arrow"+d%f0)},"drawArrow"),eOe=s((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{let i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{JNe(r,e.get(a),i,e)})})},"drawArrows"),tOe=s((t,e)=>{let r=t.append("g");e.forEach((n,i)=>{let a=i%f0,o=As.get(n.name)?.pos;if(o===void 0)throw new Error(`Position not found for branch ${n.name}`);let l=r.append("line");l.attr("x1",0),l.attr("y1",o),l.attr("x2",tf),l.attr("y2",o),l.attr("class","branch branch"+a),yr==="TB"?(l.attr("y1",Ew),l.attr("x1",o),l.attr("y2",tf),l.attr("x2",o)):yr==="BT"&&(l.attr("y1",tf),l.attr("x1",o),l.attr("y2",Ew),l.attr("x2",o)),Cw.push(o);let u=n.name,h=noe(u),f=r.insert("rect"),p=r.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);p.node().appendChild(h);let m=h.getBBox();f.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-m.width-4-(Po?.rotateCommitLabel===!0?30:0)).attr("y",-m.height/2+8).attr("width",m.width+18).attr("height",m.height+4),p.attr("transform","translate("+(-m.width-14-(Po?.rotateCommitLabel===!0?30:0))+", "+(o-m.height/2-1)+")"),yr==="TB"?(f.attr("x",o-m.width/2-10).attr("y",0),p.attr("transform","translate("+(o-m.width/2-5)+", 0)")):yr==="BT"?(f.attr("x",o-m.width/2-10).attr("y",tf),p.attr("transform","translate("+(o-m.width/2-5)+", "+tf+")")):f.attr("transform","translate(-19, "+(o-m.height/2)+")")})},"drawBranches"),rOe=s(function(t,e,r,n,i){return As.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(yr==="TB"||yr==="BT"?n.width/2:0),e},"setBranchPosition"),nOe=s(function(t,e,r,n){if(zNe(),V.debug("in gitgraph renderer",t+` +`,"id:",e,r),!Po)throw new Error("GitGraph config not found");let i=Po.rotateCommitLabel??!1,a=n.db;U2=a.getCommits();let o=a.getBranchesAsObjArray();yr=a.getDirection();let l=Me(`[id="${e}"]`),u=0;o.forEach((h,f)=>{let d=noe(h.name),p=l.append("g"),m=p.insert("g").attr("class","branchLabel"),g=m.insert("g").attr("class","label branch-label");g.node()?.appendChild(d);let y=d.getBBox();u=rOe(h.name,u,f,y,i),g.remove(),m.remove(),p.remove()}),roe(l,U2,!1),Po.showBranches&&tOe(l,o),eOe(l,U2),roe(l,U2,!0),dt.insertTitle(l,"gitTitleText",Po.titleTopMargin??0,a.getDiagramTitle()),mC(void 0,l,Po.diagramPadding,Po.useMaxWidth)},"draw"),aoe={draw:nOe}});var iOe,ooe,loe=_(()=>{"use strict";iOe=s(t=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(e=>` + .branch-label${e} { fill: ${t["gitBranchLabel"+e]}; } + .commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; } + .commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; } + .label${e} { fill: ${t["git"+e]}; } + .arrow${e} { stroke: ${t["git"+e]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${t.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};} + .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} + .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; } + .tag-hole { fill: ${t.textColor}; } + + .commit-merge { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + .commit-reverse { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`,"getStyles"),ooe=iOe});var coe={};ur(coe,{diagram:()=>aOe});var aOe,uoe=_(()=>{"use strict";toe();II();soe();loe();aOe={parser:eoe,db:Tw,renderer:aoe,styles:ooe}});var NI,doe,poe=_(()=>{"use strict";NI=function(){var t=s(function(P,M,F,I){for(F=F||{},I=P.length;I--;F[P[I]]=M);return F},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],o=[1,30],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,9],p=[1,10],m=[1,11],g=[1,12],y=[1,13],v=[1,14],x=[1,15],b=[1,16],k=[1,19],A=[1,20],w=[1,21],T=[1,22],C=[1,23],E=[1,25],S=[1,35],R={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:s(function(M,F,I,O,z,N,U){var $=N.length-1;switch(z){case 1:return N[$-1];case 2:this.$=[];break;case 3:N[$-1].push(N[$]),this.$=N[$-1];break;case 4:case 5:this.$=N[$];break;case 6:case 7:this.$=[];break;case 8:O.setWeekday("monday");break;case 9:O.setWeekday("tuesday");break;case 10:O.setWeekday("wednesday");break;case 11:O.setWeekday("thursday");break;case 12:O.setWeekday("friday");break;case 13:O.setWeekday("saturday");break;case 14:O.setWeekday("sunday");break;case 15:O.setWeekend("friday");break;case 16:O.setWeekend("saturday");break;case 17:O.setDateFormat(N[$].substr(11)),this.$=N[$].substr(11);break;case 18:O.enableInclusiveEndDates(),this.$=N[$].substr(18);break;case 19:O.TopAxis(),this.$=N[$].substr(8);break;case 20:O.setAxisFormat(N[$].substr(11)),this.$=N[$].substr(11);break;case 21:O.setTickInterval(N[$].substr(13)),this.$=N[$].substr(13);break;case 22:O.setExcludes(N[$].substr(9)),this.$=N[$].substr(9);break;case 23:O.setIncludes(N[$].substr(9)),this.$=N[$].substr(9);break;case 24:O.setTodayMarker(N[$].substr(12)),this.$=N[$].substr(12);break;case 27:O.setDiagramTitle(N[$].substr(6)),this.$=N[$].substr(6);break;case 28:this.$=N[$].trim(),O.setAccTitle(this.$);break;case 29:case 30:this.$=N[$].trim(),O.setAccDescription(this.$);break;case 31:O.addSection(N[$].substr(8)),this.$=N[$].substr(8);break;case 33:O.addTask(N[$-1],N[$]),this.$="task";break;case 34:this.$=N[$-1],O.setClickEvent(N[$-1],N[$],null);break;case 35:this.$=N[$-2],O.setClickEvent(N[$-2],N[$-1],N[$]);break;case 36:this.$=N[$-2],O.setClickEvent(N[$-2],N[$-1],null),O.setLink(N[$-2],N[$]);break;case 37:this.$=N[$-3],O.setClickEvent(N[$-3],N[$-2],N[$-1]),O.setLink(N[$-3],N[$]);break;case 38:this.$=N[$-2],O.setClickEvent(N[$-2],N[$],null),O.setLink(N[$-2],N[$-1]);break;case 39:this.$=N[$-3],O.setClickEvent(N[$-3],N[$-1],N[$]),O.setLink(N[$-3],N[$-2]);break;case 40:this.$=N[$-1],O.setLink(N[$-1],N[$]);break;case 41:case 47:this.$=N[$-1]+" "+N[$];break;case 42:case 43:case 45:this.$=N[$-2]+" "+N[$-1]+" "+N[$];break;case 44:case 46:this.$=N[$-3]+" "+N[$-2]+" "+N[$-1]+" "+N[$];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:o,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:k,31:A,33:w,35:T,36:C,37:24,38:E,40:S},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:o,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:k,31:A,33:w,35:T,36:C,37:24,38:E,40:S},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:s(function(M,F){if(F.recoverable)this.trace(M);else{var I=new Error(M);throw I.hash=F,I}},"parseError"),parse:s(function(M){var F=this,I=[0],O=[],z=[null],N=[],U=this.table,$="",W=0,ee=0,te=0,ce=2,Z=1,fe=N.slice.call(arguments,1),ne=Object.create(this.lexer),H={yy:{}};for(var Q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Q)&&(H.yy[Q]=this.yy[Q]);ne.setInput(M,H.yy),H.yy.lexer=ne,H.yy.parser=this,typeof ne.yylloc>"u"&&(ne.yylloc={});var K=ne.yylloc;N.push(K);var re=ne.options&&ne.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ie(ue){I.length=I.length-2*ue,z.length=z.length-ue,N.length=N.length-ue}s(ie,"popStack");function ye(){var ue;return ue=O.pop()||ne.lex()||Z,typeof ue!="number"&&(ue instanceof Array&&(O=ue,ue=O.pop()),ue=F.symbols_[ue]||ue),ue}s(ye,"lex");for(var j,De,oe,Re,Pe,Se,Ue={},Oe,_e,he,q;;){if(oe=I[I.length-1],this.defaultActions[oe]?Re=this.defaultActions[oe]:((j===null||typeof j>"u")&&(j=ye()),Re=U[oe]&&U[oe][j]),typeof Re>"u"||!Re.length||!Re[0]){var se="";q=[];for(Oe in U[oe])this.terminals_[Oe]&&Oe>ce&&q.push("'"+this.terminals_[Oe]+"'");ne.showPosition?se="Parse error on line "+(W+1)+`: +`+ne.showPosition()+` +Expecting `+q.join(", ")+", got '"+(this.terminals_[j]||j)+"'":se="Parse error on line "+(W+1)+": Unexpected "+(j==Z?"end of input":"'"+(this.terminals_[j]||j)+"'"),this.parseError(se,{text:ne.match,token:this.terminals_[j]||j,line:ne.yylineno,loc:K,expected:q})}if(Re[0]instanceof Array&&Re.length>1)throw new Error("Parse Error: multiple actions possible at state: "+oe+", token: "+j);switch(Re[0]){case 1:I.push(j),z.push(ne.yytext),N.push(ne.yylloc),I.push(Re[1]),j=null,De?(j=De,De=null):(ee=ne.yyleng,$=ne.yytext,W=ne.yylineno,K=ne.yylloc,te>0&&te--);break;case 2:if(_e=this.productions_[Re[1]][1],Ue.$=z[z.length-_e],Ue._$={first_line:N[N.length-(_e||1)].first_line,last_line:N[N.length-1].last_line,first_column:N[N.length-(_e||1)].first_column,last_column:N[N.length-1].last_column},re&&(Ue._$.range=[N[N.length-(_e||1)].range[0],N[N.length-1].range[1]]),Se=this.performAction.apply(Ue,[$,ee,W,H.yy,Re[1],z,N].concat(fe)),typeof Se<"u")return Se;_e&&(I=I.slice(0,-1*_e*2),z=z.slice(0,-1*_e),N=N.slice(0,-1*_e)),I.push(this.productions_[Re[1]][0]),z.push(Ue.$),N.push(Ue._$),he=U[I[I.length-2]][I[I.length-1]],I.push(he);break;case 3:return!0}}return!0},"parse")},D=function(){var P={EOF:1,parseError:s(function(F,I){if(this.yy.parser)this.yy.parser.parseError(F,I);else throw new Error(F)},"parseError"),setInput:s(function(M,F){return this.yy=F||this.yy||{},this._input=M,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var M=this._input[0];this.yytext+=M,this.yyleng++,this.offset++,this.match+=M,this.matched+=M;var F=M.match(/(?:\r\n?|\n).*/g);return F?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),M},"input"),unput:s(function(M){var F=M.length,I=M.split(/(?:\r\n?|\n)/g);this._input=M+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-F),this.offset-=F;var O=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),I.length-1&&(this.yylineno-=I.length-1);var z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:I?(I.length===O.length?this.yylloc.first_column:0)+O[O.length-I.length].length-I[0].length:this.yylloc.first_column-F},this.options.ranges&&(this.yylloc.range=[z[0],z[0]+this.yyleng-F]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(M){this.unput(this.match.slice(M))},"less"),pastInput:s(function(){var M=this.matched.substr(0,this.matched.length-this.match.length);return(M.length>20?"...":"")+M.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var M=this.match;return M.length<20&&(M+=this._input.substr(0,20-M.length)),(M.substr(0,20)+(M.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var M=this.pastInput(),F=new Array(M.length+1).join("-");return M+this.upcomingInput()+` +`+F+"^"},"showPosition"),test_match:s(function(M,F){var I,O,z;if(this.options.backtrack_lexer&&(z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(z.yylloc.range=this.yylloc.range.slice(0))),O=M[0].match(/(?:\r\n?|\n).*/g),O&&(this.yylineno+=O.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:O?O[O.length-1].length-O[O.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+M[0].length},this.yytext+=M[0],this.match+=M[0],this.matches=M,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(M[0].length),this.matched+=M[0],I=this.performAction.call(this,this.yy,this,F,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),I)return I;if(this._backtrack){for(var N in z)this[N]=z[N];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var M,F,I,O;this._more||(this.yytext="",this.match="");for(var z=this._currentRules(),N=0;NF[0].length)){if(F=I,O=N,this.options.backtrack_lexer){if(M=this.test_match(I,z[N]),M!==!1)return M;if(this._backtrack){F=!1;continue}else return!1}else if(!this.options.flex)break}return F?(M=this.test_match(F,z[O]),M!==!1?M:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var F=this.next();return F||this.lex()},"lex"),begin:s(function(F){this.conditionStack.push(F)},"begin"),popState:s(function(){var F=this.conditionStack.length-1;return F>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(F){return F=this.conditionStack.length-1-Math.abs(F||0),F>=0?this.conditionStack[F]:"INITIAL"},"topState"),pushState:s(function(F){this.begin(F)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(F,I,O,z){var N=z;switch(O){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return P}();R.lexer=D;function L(){this.yy={}}return s(L,"Parser"),L.prototype=R,R.Parser=L,new L}();NI.parser=NI;doe=NI});var moe=is((OI,PI)=>{"use strict";(function(t,e){typeof OI=="object"&&typeof PI<"u"?PI.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(OI,function(){"use strict";var t="day";return function(e,r,n){var i=s(function(l){return l.add(4-l.isoWeekday(),t)},"a"),a=r.prototype;a.isoWeekYear=function(){return i(this).year()},a.isoWeek=function(l){if(!this.$utils().u(l))return this.add(7*(l-this.isoWeek()),t);var u,h,f,d,p=i(this),m=(u=this.isoWeekYear(),h=this.$u,f=(h?n.utc:n)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,t));return p.diff(m,"week")+1},a.isoWeekday=function(l){return this.$utils().u(l)?this.day()||7:this.day(this.day()%7?l:l-7)};var o=a.startOf;a.startOf=function(l,u){var h=this.$utils(),f=!!h.u(u)||u;return h.p(l)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):o.bind(this)(l,u)}}})});var goe=is((BI,FI)=>{"use strict";(function(t,e){typeof BI=="object"&&typeof FI<"u"?FI.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_customParseFormat=e()})(BI,function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d\d/,n=/\d\d?/,i=/\d*[^-_:/,()\s\d]+/,a={},o=s(function(m){return(m=+m)+(m>68?1900:2e3)},"s"),l=s(function(m){return function(g){this[m]=+g}},"a"),u=[/[+-]\d\d:?(\d\d)?|Z/,function(m){(this.zone||(this.zone={})).offset=function(g){if(!g||g==="Z")return 0;var y=g.match(/([+-]|\d\d)/g),v=60*y[1]+(+y[2]||0);return v===0?0:y[0]==="+"?-v:v}(m)}],h=s(function(m){var g=a[m];return g&&(g.indexOf?g:g.s.concat(g.f))},"h"),f=s(function(m,g){var y,v=a.meridiem;if(v){for(var x=1;x<=24;x+=1)if(m.indexOf(v(x,0,g))>-1){y=x>12;break}}else y=m===(g?"pm":"PM");return y},"u"),d={A:[i,function(m){this.afternoon=f(m,!1)}],a:[i,function(m){this.afternoon=f(m,!0)}],S:[/\d/,function(m){this.milliseconds=100*+m}],SS:[r,function(m){this.milliseconds=10*+m}],SSS:[/\d{3}/,function(m){this.milliseconds=+m}],s:[n,l("seconds")],ss:[n,l("seconds")],m:[n,l("minutes")],mm:[n,l("minutes")],H:[n,l("hours")],h:[n,l("hours")],HH:[n,l("hours")],hh:[n,l("hours")],D:[n,l("day")],DD:[r,l("day")],Do:[i,function(m){var g=a.ordinal,y=m.match(/\d+/);if(this.day=y[0],g)for(var v=1;v<=31;v+=1)g(v).replace(/\[|\]/g,"")===m&&(this.day=v)}],M:[n,l("month")],MM:[r,l("month")],MMM:[i,function(m){var g=h("months"),y=(h("monthsShort")||g.map(function(v){return v.slice(0,3)})).indexOf(m)+1;if(y<1)throw new Error;this.month=y%12||y}],MMMM:[i,function(m){var g=h("months").indexOf(m)+1;if(g<1)throw new Error;this.month=g%12||g}],Y:[/[+-]?\d+/,l("year")],YY:[r,function(m){this.year=o(m)}],YYYY:[/\d{4}/,l("year")],Z:u,ZZ:u};function p(m){var g,y;g=m,y=a&&a.formats;for(var v=(m=g.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(C,E,S){var R=S&&S.toUpperCase();return E||y[S]||t[S]||y[R].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(D,L,P){return L||P.slice(1)})})).match(e),x=v.length,b=0;b-1)return new Date((F==="X"?1e3:1)*M);var O=p(F)(M),z=O.year,N=O.month,U=O.day,$=O.hours,W=O.minutes,ee=O.seconds,te=O.milliseconds,ce=O.zone,Z=new Date,fe=U||(z||N?1:Z.getDate()),ne=z||Z.getFullYear(),H=0;z&&!N||(H=N>0?N-1:Z.getMonth());var Q=$||0,K=W||0,re=ee||0,ie=te||0;return ce?new Date(Date.UTC(ne,H,fe,Q,K,re,ie+60*ce.offset*1e3)):I?new Date(Date.UTC(ne,H,fe,Q,K,re,ie)):new Date(ne,H,fe,Q,K,re,ie)}catch{return new Date("")}}(k,T,A),this.init(),R&&R!==!0&&(this.$L=this.locale(R).$L),S&&k!=this.format(T)&&(this.$d=new Date("")),a={}}else if(T instanceof Array)for(var D=T.length,L=1;L<=D;L+=1){w[1]=T[L-1];var P=y.apply(this,w);if(P.isValid()){this.$d=P.$d,this.$L=P.$L,this.init();break}L===D&&(this.$d=new Date(""))}else x.call(this,b)}}})});var yoe=is((zI,$I)=>{"use strict";(function(t,e){typeof zI=="object"&&typeof $I<"u"?$I.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(zI,function(){"use strict";return function(t,e){var r=e.prototype,n=r.format;r.format=function(i){var a=this,o=this.$locale();if(!this.isValid())return n.bind(this)(i);var l=this.$utils(),u=(i||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(h){switch(h){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return o.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return o.ordinal(a.week(),"W");case"w":case"ww":return l.s(a.week(),h==="w"?1:2,"0");case"W":case"WW":return l.s(a.isoWeek(),h==="W"?1:2,"0");case"k":case"kk":return l.s(String(a.$H===0?24:a.$H),h==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return h}});return n.bind(this)(u)}}})});function Ioe(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){let a="^\\s*"+i+"\\s*$",o=new RegExp(a);t[0].match(o)&&(e[i]=!0,t.shift(1),n=!0)})}var boe,ao,koe,woe,Toe,voe,_c,qI,WI,HI,W2,H2,YI,XI,Aw,gg,jI,Eoe,KI,Y2,QI,ZI,Lw,GI,cOe,uOe,hOe,fOe,dOe,pOe,mOe,gOe,yOe,vOe,xOe,bOe,kOe,wOe,TOe,EOe,COe,SOe,_Oe,AOe,LOe,DOe,ROe,Coe,MOe,IOe,NOe,Soe,OOe,VI,_oe,Aoe,Sw,mg,POe,BOe,UI,_w,Ri,Loe,FOe,d0,zOe,xoe,$Oe,Doe,GOe,Roe,VOe,UOe,Moe,Noe=_(()=>{"use strict";boe=ka(_p(),1),ao=ka(cb(),1),koe=ka(moe(),1),woe=ka(goe(),1),Toe=ka(yoe(),1);it();gt();pr();Ci();ao.default.extend(koe.default);ao.default.extend(woe.default);ao.default.extend(Toe.default);voe={friday:5,saturday:6},_c="",qI="",HI="",W2=[],H2=[],YI=new Map,XI=[],Aw=[],gg="",jI="",Eoe=["active","done","crit","milestone"],KI=[],Y2=!1,QI=!1,ZI="sunday",Lw="saturday",GI=0,cOe=s(function(){XI=[],Aw=[],gg="",KI=[],Sw=0,UI=void 0,_w=void 0,Ri=[],_c="",qI="",jI="",WI=void 0,HI="",W2=[],H2=[],Y2=!1,QI=!1,GI=0,YI=new Map,br(),ZI="sunday",Lw="saturday"},"clear"),uOe=s(function(t){qI=t},"setAxisFormat"),hOe=s(function(){return qI},"getAxisFormat"),fOe=s(function(t){WI=t},"setTickInterval"),dOe=s(function(){return WI},"getTickInterval"),pOe=s(function(t){HI=t},"setTodayMarker"),mOe=s(function(){return HI},"getTodayMarker"),gOe=s(function(t){_c=t},"setDateFormat"),yOe=s(function(){Y2=!0},"enableInclusiveEndDates"),vOe=s(function(){return Y2},"endDatesAreInclusive"),xOe=s(function(){QI=!0},"enableTopAxis"),bOe=s(function(){return QI},"topAxisEnabled"),kOe=s(function(t){jI=t},"setDisplayMode"),wOe=s(function(){return jI},"getDisplayMode"),TOe=s(function(){return _c},"getDateFormat"),EOe=s(function(t){W2=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),COe=s(function(){return W2},"getIncludes"),SOe=s(function(t){H2=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),_Oe=s(function(){return H2},"getExcludes"),AOe=s(function(){return YI},"getLinks"),LOe=s(function(t){gg=t,XI.push(t)},"addSection"),DOe=s(function(){return XI},"getSections"),ROe=s(function(){let t=xoe(),e=10,r=0;for(;!t&&r[\d\w- ]+)/.exec(r);if(i!==null){let o=null;for(let u of i.groups.ids.split(" ")){let h=d0(u);h!==void 0&&(!o||h.endTime>o.endTime)&&(o=h)}if(o)return o.endTime;let l=new Date;return l.setHours(0,0,0,0),l}let a=(0,ao.default)(r,e.trim(),!0);if(a.isValid())return a.toDate();{V.debug("Invalid date:"+r),V.debug("With date format:"+e.trim());let o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),_oe=s(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),Aoe=s(function(t,e,r,n=!1){r=r.trim();let a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let f=null;for(let p of a.groups.ids.split(" ")){let m=d0(p);m!==void 0&&(!f||m.startTime{window.open(r,"_self")}),YI.set(n,r))}),Doe(t,"clickable")},"setLink"),Doe=s(function(t,e){t.split(",").forEach(function(r){let n=d0(r);n!==void 0&&n.classes.push(e)})},"setClass"),GOe=s(function(t,e,r){if(le().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{dt.runFunc(e,...n)})},"setClickFun"),Roe=s(function(t,e){KI.push(function(){let r=document.querySelector(`[id="${t}"]`);r!==null&&r.addEventListener("click",function(){e()})},function(){let r=document.querySelector(`[id="${t}-text"]`);r!==null&&r.addEventListener("click",function(){e()})})},"pushFun"),VOe=s(function(t,e,r){t.split(",").forEach(function(n){GOe(n,e,r)}),Doe(t,"clickable")},"setClickEvent"),UOe=s(function(t){KI.forEach(function(e){e(t)})},"bindFunctions"),Moe={getConfig:s(()=>le().gantt,"getConfig"),clear:cOe,setDateFormat:gOe,getDateFormat:TOe,enableInclusiveEndDates:yOe,endDatesAreInclusive:vOe,enableTopAxis:xOe,topAxisEnabled:bOe,setAxisFormat:uOe,getAxisFormat:hOe,setTickInterval:fOe,getTickInterval:dOe,setTodayMarker:pOe,getTodayMarker:mOe,setAccTitle:Ar,getAccTitle:Gr,setDiagramTitle:an,getDiagramTitle:Qr,setDisplayMode:kOe,getDisplayMode:wOe,setAccDescription:Vr,getAccDescription:Ur,addSection:LOe,getSections:DOe,getTasks:ROe,addTask:FOe,findTaskById:d0,addTaskOrg:zOe,setIncludes:EOe,getIncludes:COe,setExcludes:SOe,getExcludes:_Oe,setClickEvent:VOe,setLink:$Oe,getLinks:AOe,bindFunctions:UOe,parseDuration:_oe,isInvalidDate:Coe,setWeekday:MOe,getWeekday:IOe,setWeekend:NOe};s(Ioe,"getTaskTags")});var Dw,qOe,Ooe,WOe,zu,HOe,Poe,Boe=_(()=>{"use strict";Dw=ka(cb(),1);it();Xt();Qt();gt();Un();qOe=s(function(){V.debug("Something is calling, setConf, remove the call")},"setConf"),Ooe={monday:wh,tuesday:H4,wednesday:Y4,thursday:Ql,friday:X4,saturday:j4,sunday:nl},WOe=s((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,o)=>a.startTime-o.startTime||a.order-o.order),i=0;for(let a of n)for(let o=0;o=r[o]){r[o]=a.endTime,a.order=o+e,o>i&&(i=o);break}return i},"getMaxIntersections"),HOe=s(function(t,e,r,n){let i=le().gantt,a=le().securityLevel,o;a==="sandbox"&&(o=Me("#i"+e));let l=a==="sandbox"?Me(o.nodes()[0].contentDocument.body):Me("body"),u=a==="sandbox"?o.nodes()[0].contentDocument:document,h=u.getElementById(e);zu=h.parentElement.offsetWidth,zu===void 0&&(zu=1200),i.useWidth!==void 0&&(zu=i.useWidth);let f=n.db.getTasks(),d=[];for(let E of f)d.push(E.type);d=C(d);let p={},m=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){let E={};for(let R of f)E[R.section]===void 0?E[R.section]=[R]:E[R.section].push(R);let S=0;for(let R of Object.keys(E)){let D=WOe(E[R],S)+1;S+=D,m+=D*(i.barHeight+i.barGap),p[R]=D}}else{m+=f.length*(i.barHeight+i.barGap);for(let E of d)p[E]=f.filter(S=>S.type===E).length}h.setAttribute("viewBox","0 0 "+zu+" "+m);let g=l.select(`[id="${e}"]`),y=Z4().domain([n4(f,function(E){return E.startTime}),r4(f,function(E){return E.endTime})]).rangeRound([0,zu-i.leftPadding-i.rightPadding]);function v(E,S){let R=E.startTime,D=S.startTime,L=0;return R>D?L=1:RU.order))].map(U=>E.find($=>$.order===U));g.append("g").selectAll("rect").data(I).enter().append("rect").attr("x",0).attr("y",function(U,$){return $=U.order,$*S+R-2}).attr("width",function(){return M-i.rightPadding/2}).attr("height",S).attr("class",function(U){for(let[$,W]of d.entries())if(U.type===W)return"section section"+$%i.numberSectionStyles;return"section section0"});let O=g.append("g").selectAll("rect").data(E).enter(),z=n.db.getLinks();if(O.append("rect").attr("id",function(U){return U.id}).attr("rx",3).attr("ry",3).attr("x",function(U){return U.milestone?y(U.startTime)+D+.5*(y(U.endTime)-y(U.startTime))-.5*L:y(U.startTime)+D}).attr("y",function(U,$){return $=U.order,$*S+R}).attr("width",function(U){return U.milestone?L:y(U.renderEndTime||U.endTime)-y(U.startTime)}).attr("height",L).attr("transform-origin",function(U,$){return $=U.order,(y(U.startTime)+D+.5*(y(U.endTime)-y(U.startTime))).toString()+"px "+($*S+R+.5*L).toString()+"px"}).attr("class",function(U){let $="task",W="";U.classes.length>0&&(W=U.classes.join(" "));let ee=0;for(let[ce,Z]of d.entries())U.type===Z&&(ee=ce%i.numberSectionStyles);let te="";return U.active?U.crit?te+=" activeCrit":te=" active":U.done?U.crit?te=" doneCrit":te=" done":U.crit&&(te+=" crit"),te.length===0&&(te=" task"),U.milestone&&(te=" milestone "+te),te+=ee,te+=" "+W,$+te}),O.append("text").attr("id",function(U){return U.id+"-text"}).text(function(U){return U.task}).attr("font-size",i.fontSize).attr("x",function(U){let $=y(U.startTime),W=y(U.renderEndTime||U.endTime);U.milestone&&($+=.5*(y(U.endTime)-y(U.startTime))-.5*L),U.milestone&&(W=$+L);let ee=this.getBBox().width;return ee>W-$?W+ee+1.5*i.leftPadding>M?$+D-5:W+D+5:(W-$)/2+$+D}).attr("y",function(U,$){return $=U.order,$*S+i.barHeight/2+(i.fontSize/2-2)+R}).attr("text-height",L).attr("class",function(U){let $=y(U.startTime),W=y(U.endTime);U.milestone&&(W=$+L);let ee=this.getBBox().width,te="";U.classes.length>0&&(te=U.classes.join(" "));let ce=0;for(let[fe,ne]of d.entries())U.type===ne&&(ce=fe%i.numberSectionStyles);let Z="";return U.active&&(U.crit?Z="activeCritText"+ce:Z="activeText"+ce),U.done?U.crit?Z=Z+" doneCritText"+ce:Z=Z+" doneText"+ce:U.crit&&(Z=Z+" critText"+ce),U.milestone&&(Z+=" milestoneText"),ee>W-$?W+ee+1.5*i.leftPadding>M?te+" taskTextOutsideLeft taskTextOutside"+ce+" "+Z:te+" taskTextOutsideRight taskTextOutside"+ce+" "+Z+" width-"+ee:te+" taskText taskText"+ce+" "+Z+" width-"+ee}),le().securityLevel==="sandbox"){let U;U=Me("#i"+e);let $=U.nodes()[0].contentDocument;O.filter(function(W){return z.has(W.id)}).each(function(W){var ee=$.querySelector("#"+W.id),te=$.querySelector("#"+W.id+"-text");let ce=ee.parentNode;var Z=$.createElement("a");Z.setAttribute("xlink:href",z.get(W.id)),Z.setAttribute("target","_top"),ce.appendChild(Z),Z.appendChild(ee),Z.appendChild(te)})}}s(b,"drawRects");function k(E,S,R,D,L,P,M,F){if(M.length===0&&F.length===0)return;let I,O;for(let{startTime:ee,endTime:te}of P)(I===void 0||eeO)&&(O=te);if(!I||!O)return;if((0,Dw.default)(O).diff((0,Dw.default)(I),"year")>5){V.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let z=n.db.getDateFormat(),N=[],U=null,$=(0,Dw.default)(I);for(;$.valueOf()<=O;)n.db.isInvalidDate($,z,M,F)?U?U.end=$:U={start:$,end:$}:U&&(N.push(U),U=null),$=$.add(1,"d");g.append("g").selectAll("rect").data(N).enter().append("rect").attr("id",function(ee){return"exclude-"+ee.start.format("YYYY-MM-DD")}).attr("x",function(ee){return y(ee.start)+R}).attr("y",i.gridLineStartPadding).attr("width",function(ee){let te=ee.end.add(1,"day");return y(te)-y(ee.start)}).attr("height",L-S-i.gridLineStartPadding).attr("transform-origin",function(ee,te){return(y(ee.start)+R+.5*(y(ee.end)-y(ee.start))).toString()+"px "+(te*E+.5*L).toString()+"px"}).attr("class","exclude-range")}s(k,"drawExcludeDays");function A(E,S,R,D){let L=AC(y).tickSize(-D+S+i.gridLineStartPadding).tickFormat(nd(n.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d")),M=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(M!==null){let F=M[1],I=M[2],O=n.db.getWeekday()||i.weekday;switch(I){case"millisecond":L.ticks(jl.every(F));break;case"second":L.ticks(Vs.every(F));break;case"minute":L.ticks(ou.every(F));break;case"hour":L.ticks(lu.every(F));break;case"day":L.ticks(vo.every(F));break;case"week":L.ticks(Ooe[O].every(F));break;case"month":L.ticks(cu.every(F));break}}if(g.append("g").attr("class","grid").attr("transform","translate("+E+", "+(D-50)+")").call(L).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let F=_C(y).tickSize(-D+S+i.gridLineStartPadding).tickFormat(nd(n.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d"));if(M!==null){let I=M[1],O=M[2],z=n.db.getWeekday()||i.weekday;switch(O){case"millisecond":F.ticks(jl.every(I));break;case"second":F.ticks(Vs.every(I));break;case"minute":F.ticks(ou.every(I));break;case"hour":F.ticks(lu.every(I));break;case"day":F.ticks(vo.every(I));break;case"week":F.ticks(Ooe[z].every(I));break;case"month":F.ticks(cu.every(I));break}}g.append("g").attr("class","grid").attr("transform","translate("+E+", "+S+")").call(F).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}s(A,"makeGrid");function w(E,S){let R=0,D=Object.keys(p).map(L=>[L,p[L]]);g.append("g").selectAll("text").data(D).enter().append(function(L){let P=L[0].split($e.lineBreakRegex),M=-(P.length-1)/2,F=u.createElementNS("http://www.w3.org/2000/svg","text");F.setAttribute("dy",M+"em");for(let[I,O]of P.entries()){let z=u.createElementNS("http://www.w3.org/2000/svg","tspan");z.setAttribute("alignment-baseline","central"),z.setAttribute("x","10"),I>0&&z.setAttribute("dy","1em"),z.textContent=O,F.appendChild(z)}return F}).attr("x",10).attr("y",function(L,P){if(P>0)for(let M=0;M{"use strict";YOe=s(t=>` + .mermaid-main-font { + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .exclude-range { + fill: ${t.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${t.sectionBkgColor}; + } + + .section2 { + fill: ${t.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${t.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${t.titleColor}; + } + + .sectionTitle1 { + fill: ${t.titleColor}; + } + + .sectionTitle2 { + fill: ${t.titleColor}; + } + + .sectionTitle3 { + fill: ${t.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${t.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${t.fontFamily}; + fill: ${t.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${t.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideRight { + fill: ${t.taskTextDarkColor}; + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideLeft { + fill: ${t.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${t.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${t.taskBkgColor}; + stroke: ${t.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${t.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${t.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${t.activeTaskBkgColor}; + stroke: ${t.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${t.doneTaskBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${t.critBorderColor}; + fill: ${t.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.titleColor||t.textColor}; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } +`,"getStyles"),Foe=YOe});var $oe={};ur($oe,{diagram:()=>XOe});var XOe,Goe=_(()=>{"use strict";poe();Noe();Boe();zoe();XOe={parser:doe,db:Moe,renderer:Poe,styles:Foe}});var qoe,Woe=_(()=>{"use strict";V2();it();qoe={parse:s(async t=>{let e=await Bu("info",t);V.debug(e)},"parse")}});var X2,JI=_(()=>{X2="11.0.2"});var JOe,ePe,Hoe,Yoe=_(()=>{"use strict";JI();JOe={version:X2},ePe=s(()=>JOe.version,"getVersion"),Hoe={getVersion:ePe}});var Bo,p0=_(()=>{"use strict";Xt();gt();Bo=s(t=>{let{securityLevel:e}=le(),r=Me("body");if(e==="sandbox"){let a=Me(`#i${t}`).node()?.contentDocument??document;r=Me(a.body)}return r.select(`#${t}`)},"selectSvgElement")});var tPe,Xoe,joe=_(()=>{"use strict";it();p0();Un();tPe=s((t,e,r)=>{V.debug(`rendering info diagram +`+t);let n=Bo(e);xr(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),Xoe={draw:tPe}});var Koe={};ur(Koe,{diagram:()=>rPe});var rPe,Qoe=_(()=>{"use strict";Woe();Yoe();joe();rPe={parser:qoe,db:Hoe,renderer:Xoe}});var ele,eN,Rw,tN,aPe,sPe,oPe,lPe,cPe,uPe,hPe,Mw,rN=_(()=>{"use strict";it();Ci();Pl();ele=dr.pie,eN={sections:new Map,showData:!1,config:ele},Rw=eN.sections,tN=eN.showData,aPe=structuredClone(ele),sPe=s(()=>structuredClone(aPe),"getConfig"),oPe=s(()=>{Rw=new Map,tN=eN.showData,br()},"clear"),lPe=s(({label:t,value:e})=>{Rw.has(t)||(Rw.set(t,e),V.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),cPe=s(()=>Rw,"getSections"),uPe=s(t=>{tN=t},"setShowData"),hPe=s(()=>tN,"getShowData"),Mw={getConfig:sPe,clear:oPe,setDiagramTitle:an,getDiagramTitle:Qr,setAccTitle:Ar,getAccTitle:Gr,setAccDescription:Vr,getAccDescription:Ur,addSection:lPe,getSections:cPe,setShowData:uPe,getShowData:hPe}});var fPe,tle,rle=_(()=>{"use strict";V2();it();kw();rN();fPe=s((t,e)=>{dg(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),tle={parse:s(async t=>{let e=await Bu("pie",t);V.debug(e),fPe(e,Mw)},"parse")}});var dPe,nle,ile=_(()=>{"use strict";dPe=s(t=>` + .pieCircle{ + stroke: ${t.pieStrokeColor}; + stroke-width : ${t.pieStrokeWidth}; + opacity : ${t.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${t.pieOuterStrokeColor}; + stroke-width: ${t.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${t.pieTitleTextSize}; + fill: ${t.pieTitleTextColor}; + font-family: ${t.fontFamily}; + } + .slice { + font-family: ${t.fontFamily}; + fill: ${t.pieSectionTextColor}; + font-size:${t.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${t.pieLegendTextColor}; + font-family: ${t.fontFamily}; + font-size: ${t.pieLegendTextSize}; + } +`,"getStyles"),nle=dPe});var pPe,mPe,ale,sle=_(()=>{"use strict";Xt();gt();it();p0();Un();pr();pPe=s(t=>{let e=[...t.entries()].map(n=>({label:n[0],value:n[1]})).sort((n,i)=>i.value-n.value);return i3().value(n=>n.value)(e)},"createPieArcs"),mPe=s((t,e,r,n)=>{V.debug(`rendering pie chart +`+t);let i=n.db,a=le(),o=ms(i.getConfig(),a.pie),l=40,u=18,h=4,f=450,d=f,p=Bo(e),m=p.append("g");m.attr("transform","translate("+d/2+","+f/2+")");let{themeVariables:g}=a,[y]=nc(g.pieOuterStrokeWidth);y??=2;let v=o.textPosition,x=Math.min(d,f)/2-l,b=sl().innerRadius(0).outerRadius(x),k=sl().innerRadius(x*v).outerRadius(x*v);m.append("circle").attr("cx",0).attr("cy",0).attr("r",x+y/2).attr("class","pieOuterCircle");let A=i.getSections(),w=pPe(A),T=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],C=au(T);m.selectAll("mySlices").data(w).enter().append("path").attr("d",b).attr("fill",L=>C(L.data.label)).attr("class","pieCircle");let E=0;A.forEach(L=>{E+=L}),m.selectAll("mySlices").data(w).enter().append("text").text(L=>(L.data.value/E*100).toFixed(0)+"%").attr("transform",L=>"translate("+k.centroid(L)+")").style("text-anchor","middle").attr("class","slice"),m.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText");let S=m.selectAll(".legend").data(C.domain()).enter().append("g").attr("class","legend").attr("transform",(L,P)=>{let M=u+h,F=M*C.domain().length/2,I=12*u,O=P*M-F;return"translate("+I+","+O+")"});S.append("rect").attr("width",u).attr("height",u).style("fill",C).style("stroke",C),S.data(w).append("text").attr("x",u+h).attr("y",u-h).text(L=>{let{label:P,value:M}=L.data;return i.getShowData()?`${P} [${M}]`:P});let R=Math.max(...S.selectAll("text").nodes().map(L=>L?.getBoundingClientRect().width??0)),D=d+l+u+h+R;p.attr("viewBox",`0 0 ${D} ${f}`),xr(p,f,D,o.useMaxWidth)},"draw"),ale={draw:mPe}});var ole={};ur(ole,{diagram:()=>gPe});var gPe,lle=_(()=>{"use strict";rle();rN();ile();sle();gPe={parser:tle,db:Mw,renderer:ale,styles:nle}});var nN,hle,fle=_(()=>{"use strict";nN=function(){var t=s(function(Ie,Ne,Be,ze){for(Be=Be||{},ze=Ie.length;ze--;Be[Ie[ze]]=Ne);return Be},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],o=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],h=[2,36],f=[1,37],d=[1,36],p=[1,38],m=[1,35],g=[1,43],y=[1,41],v=[1,14],x=[1,23],b=[1,18],k=[1,19],A=[1,20],w=[1,21],T=[1,22],C=[1,24],E=[1,25],S=[1,26],R=[1,27],D=[1,28],L=[1,29],P=[1,32],M=[1,33],F=[1,34],I=[1,39],O=[1,40],z=[1,42],N=[1,44],U=[1,62],$=[1,61],W=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],ee=[1,65],te=[1,66],ce=[1,67],Z=[1,68],fe=[1,69],ne=[1,70],H=[1,71],Q=[1,72],K=[1,73],re=[1,74],ie=[1,75],ye=[1,76],j=[4,5,6,7,8,9,10,11,12,13,14,15,18],De=[1,90],oe=[1,91],Re=[1,92],Pe=[1,99],Se=[1,93],Ue=[1,96],Oe=[1,94],_e=[1,95],he=[1,97],q=[1,98],se=[1,102],ue=[10,55,56,57],X=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],ae={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:s(function(Ne,Be,ze,qe,Fe,we,Je){var We=we.length-1;switch(Fe){case 23:this.$=we[We];break;case 24:this.$=we[We-1]+""+we[We];break;case 26:this.$=we[We-1]+we[We];break;case 27:this.$=[we[We].trim()];break;case 28:we[We-2].push(we[We].trim()),this.$=we[We-2];break;case 29:this.$=we[We-4],qe.addClass(we[We-2],we[We]);break;case 37:this.$=[];break;case 42:this.$=we[We].trim(),qe.setDiagramTitle(this.$);break;case 43:this.$=we[We].trim(),qe.setAccTitle(this.$);break;case 44:case 45:this.$=we[We].trim(),qe.setAccDescription(this.$);break;case 46:qe.addSection(we[We].substr(8)),this.$=we[We].substr(8);break;case 47:qe.addPoint(we[We-3],"",we[We-1],we[We],[]);break;case 48:qe.addPoint(we[We-4],we[We-3],we[We-1],we[We],[]);break;case 49:qe.addPoint(we[We-4],"",we[We-2],we[We-1],we[We]);break;case 50:qe.addPoint(we[We-5],we[We-4],we[We-2],we[We-1],we[We]);break;case 51:qe.setXAxisLeftText(we[We-2]),qe.setXAxisRightText(we[We]);break;case 52:we[We-1].text+=" \u27F6 ",qe.setXAxisLeftText(we[We-1]);break;case 53:qe.setXAxisLeftText(we[We]);break;case 54:qe.setYAxisBottomText(we[We-2]),qe.setYAxisTopText(we[We]);break;case 55:we[We-1].text+=" \u27F6 ",qe.setYAxisBottomText(we[We-1]);break;case 56:qe.setYAxisBottomText(we[We]);break;case 57:qe.setQuadrant1Text(we[We]);break;case 58:qe.setQuadrant2Text(we[We]);break;case 59:qe.setQuadrant3Text(we[We]);break;case 60:qe.setQuadrant4Text(we[We]);break;case 64:this.$={text:we[We],type:"text"};break;case 65:this.$={text:we[We-1].text+""+we[We],type:we[We-1].type};break;case 66:this.$={text:we[We],type:"text"};break;case 67:this.$={text:we[We],type:"markdown"};break;case 68:this.$=we[We];break;case 69:this.$=we[We-1]+""+we[We];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(o,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(u,h,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:k,39:A,41:w,42:T,48:C,50:E,51:S,52:R,53:D,54:L,60:P,61:M,63:F,64:I,65:O,66:z,67:N}),t(o,[2,34]),{27:45,55:n,56:i,57:a},t(u,[2,37]),t(u,h,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:k,39:A,41:w,42:T,48:C,50:E,51:S,52:R,53:D,54:L,60:P,61:M,63:F,64:I,65:O,66:z,67:N}),t(u,[2,39]),t(u,[2,40]),t(u,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(u,[2,45]),t(u,[2,46]),{18:[1,50]},{4:f,5:d,10:p,12:m,13:g,14:y,43:51,58:31,60:P,61:M,63:F,64:I,65:O,66:z,67:N},{4:f,5:d,10:p,12:m,13:g,14:y,43:52,58:31,60:P,61:M,63:F,64:I,65:O,66:z,67:N},{4:f,5:d,10:p,12:m,13:g,14:y,43:53,58:31,60:P,61:M,63:F,64:I,65:O,66:z,67:N},{4:f,5:d,10:p,12:m,13:g,14:y,43:54,58:31,60:P,61:M,63:F,64:I,65:O,66:z,67:N},{4:f,5:d,10:p,12:m,13:g,14:y,43:55,58:31,60:P,61:M,63:F,64:I,65:O,66:z,67:N},{4:f,5:d,10:p,12:m,13:g,14:y,43:56,58:31,60:P,61:M,63:F,64:I,65:O,66:z,67:N},{4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,44:[1,57],47:[1,58],58:60,59:59,63:F,64:I,65:O,66:z,67:N},t(W,[2,64]),t(W,[2,66]),t(W,[2,67]),t(W,[2,70]),t(W,[2,71]),t(W,[2,72]),t(W,[2,73]),t(W,[2,74]),t(W,[2,75]),t(W,[2,76]),t(W,[2,77]),t(W,[2,78]),t(W,[2,79]),t(W,[2,80]),t(o,[2,35]),t(u,[2,38]),t(u,[2,42]),t(u,[2,43]),t(u,[2,44]),{3:64,4:ee,5:te,6:ce,7:Z,8:fe,9:ne,10:H,11:Q,12:K,13:re,14:ie,15:ye,21:63},t(u,[2,53],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,49:[1,77],63:F,64:I,65:O,66:z,67:N}),t(u,[2,56],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,49:[1,78],63:F,64:I,65:O,66:z,67:N}),t(u,[2,57],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,63:F,64:I,65:O,66:z,67:N}),t(u,[2,58],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,63:F,64:I,65:O,66:z,67:N}),t(u,[2,59],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,63:F,64:I,65:O,66:z,67:N}),t(u,[2,60],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,63:F,64:I,65:O,66:z,67:N}),{45:[1,79]},{44:[1,80]},t(W,[2,65]),t(W,[2,81]),t(W,[2,82]),t(W,[2,83]),{3:82,4:ee,5:te,6:ce,7:Z,8:fe,9:ne,10:H,11:Q,12:K,13:re,14:ie,15:ye,18:[1,81]},t(j,[2,23]),t(j,[2,1]),t(j,[2,2]),t(j,[2,3]),t(j,[2,4]),t(j,[2,5]),t(j,[2,6]),t(j,[2,7]),t(j,[2,8]),t(j,[2,9]),t(j,[2,10]),t(j,[2,11]),t(j,[2,12]),t(u,[2,52],{58:31,43:83,4:f,5:d,10:p,12:m,13:g,14:y,60:P,61:M,63:F,64:I,65:O,66:z,67:N}),t(u,[2,55],{58:31,43:84,4:f,5:d,10:p,12:m,13:g,14:y,60:P,61:M,63:F,64:I,65:O,66:z,67:N}),{46:[1,85]},{45:[1,86]},{4:De,5:oe,6:Re,8:Pe,11:Se,13:Ue,16:89,17:Oe,18:_e,19:he,20:q,22:88,23:87},t(j,[2,24]),t(u,[2,51],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,63:F,64:I,65:O,66:z,67:N}),t(u,[2,54],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,63:F,64:I,65:O,66:z,67:N}),t(u,[2,47],{22:88,16:89,23:100,4:De,5:oe,6:Re,8:Pe,11:Se,13:Ue,17:Oe,18:_e,19:he,20:q}),{46:[1,101]},t(u,[2,29],{10:se}),t(ue,[2,27],{16:103,4:De,5:oe,6:Re,8:Pe,11:Se,13:Ue,17:Oe,18:_e,19:he,20:q}),t(X,[2,25]),t(X,[2,13]),t(X,[2,14]),t(X,[2,15]),t(X,[2,16]),t(X,[2,17]),t(X,[2,18]),t(X,[2,19]),t(X,[2,20]),t(X,[2,21]),t(X,[2,22]),t(u,[2,49],{10:se}),t(u,[2,48],{22:88,16:89,23:104,4:De,5:oe,6:Re,8:Pe,11:Se,13:Ue,17:Oe,18:_e,19:he,20:q}),{4:De,5:oe,6:Re,8:Pe,11:Se,13:Ue,16:89,17:Oe,18:_e,19:he,20:q,22:105},t(X,[2,26]),t(u,[2,50],{10:se}),t(ue,[2,28],{16:103,4:De,5:oe,6:Re,8:Pe,11:Se,13:Ue,17:Oe,18:_e,19:he,20:q})],defaultActions:{8:[2,30],9:[2,31]},parseError:s(function(Ne,Be){if(Be.recoverable)this.trace(Ne);else{var ze=new Error(Ne);throw ze.hash=Be,ze}},"parseError"),parse:s(function(Ne){var Be=this,ze=[0],qe=[],Fe=[null],we=[],Je=this.table,We="",or=0,Cr=0,Ut=0,ar=2,ut=1,Rt=we.slice.call(arguments,1),Qe=Object.create(this.lexer),Dt={yy:{}};for(var qt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,qt)&&(Dt.yy[qt]=this.yy[qt]);Qe.setInput(Ne,Dt.yy),Dt.yy.lexer=Qe,Dt.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var yt=Qe.yylloc;we.push(yt);var Et=Qe.options&&Qe.options.ranges;typeof Dt.yy.parseError=="function"?this.parseError=Dt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(En){ze.length=ze.length-2*En,Fe.length=Fe.length-En,we.length=we.length-En}s(pt,"popStack");function Wt(){var En;return En=qe.pop()||Qe.lex()||ut,typeof En!="number"&&(En instanceof Array&&(qe=En,En=qe.pop()),En=Be.symbols_[En]||En),En}s(Wt,"lex");for(var ot,fr,vt,Bt,Sr,zi,rr={},Vn,Tn,Ki,ci;;){if(vt=ze[ze.length-1],this.defaultActions[vt]?Bt=this.defaultActions[vt]:((ot===null||typeof ot>"u")&&(ot=Wt()),Bt=Je[vt]&&Je[vt][ot]),typeof Bt>"u"||!Bt.length||!Bt[0]){var Pa="";ci=[];for(Vn in Je[vt])this.terminals_[Vn]&&Vn>ar&&ci.push("'"+this.terminals_[Vn]+"'");Qe.showPosition?Pa="Parse error on line "+(or+1)+`: +`+Qe.showPosition()+` +Expecting `+ci.join(", ")+", got '"+(this.terminals_[ot]||ot)+"'":Pa="Parse error on line "+(or+1)+": Unexpected "+(ot==ut?"end of input":"'"+(this.terminals_[ot]||ot)+"'"),this.parseError(Pa,{text:Qe.match,token:this.terminals_[ot]||ot,line:Qe.yylineno,loc:yt,expected:ci})}if(Bt[0]instanceof Array&&Bt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+vt+", token: "+ot);switch(Bt[0]){case 1:ze.push(ot),Fe.push(Qe.yytext),we.push(Qe.yylloc),ze.push(Bt[1]),ot=null,fr?(ot=fr,fr=null):(Cr=Qe.yyleng,We=Qe.yytext,or=Qe.yylineno,yt=Qe.yylloc,Ut>0&&Ut--);break;case 2:if(Tn=this.productions_[Bt[1]][1],rr.$=Fe[Fe.length-Tn],rr._$={first_line:we[we.length-(Tn||1)].first_line,last_line:we[we.length-1].last_line,first_column:we[we.length-(Tn||1)].first_column,last_column:we[we.length-1].last_column},Et&&(rr._$.range=[we[we.length-(Tn||1)].range[0],we[we.length-1].range[1]]),zi=this.performAction.apply(rr,[We,Cr,or,Dt.yy,Bt[1],Fe,we].concat(Rt)),typeof zi<"u")return zi;Tn&&(ze=ze.slice(0,-1*Tn*2),Fe=Fe.slice(0,-1*Tn),we=we.slice(0,-1*Tn)),ze.push(this.productions_[Bt[1]][0]),Fe.push(rr.$),we.push(rr._$),Ki=Je[ze[ze.length-2]][ze[ze.length-1]],ze.push(Ki);break;case 3:return!0}}return!0},"parse")},pe=function(){var Ie={EOF:1,parseError:s(function(Be,ze){if(this.yy.parser)this.yy.parser.parseError(Be,ze);else throw new Error(Be)},"parseError"),setInput:s(function(Ne,Be){return this.yy=Be||this.yy||{},this._input=Ne,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var Ne=this._input[0];this.yytext+=Ne,this.yyleng++,this.offset++,this.match+=Ne,this.matched+=Ne;var Be=Ne.match(/(?:\r\n?|\n).*/g);return Be?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ne},"input"),unput:s(function(Ne){var Be=Ne.length,ze=Ne.split(/(?:\r\n?|\n)/g);this._input=Ne+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Be),this.offset-=Be;var qe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ze.length-1&&(this.yylineno-=ze.length-1);var Fe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ze?(ze.length===qe.length?this.yylloc.first_column:0)+qe[qe.length-ze.length].length-ze[0].length:this.yylloc.first_column-Be},this.options.ranges&&(this.yylloc.range=[Fe[0],Fe[0]+this.yyleng-Be]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(Ne){this.unput(this.match.slice(Ne))},"less"),pastInput:s(function(){var Ne=this.matched.substr(0,this.matched.length-this.match.length);return(Ne.length>20?"...":"")+Ne.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var Ne=this.match;return Ne.length<20&&(Ne+=this._input.substr(0,20-Ne.length)),(Ne.substr(0,20)+(Ne.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var Ne=this.pastInput(),Be=new Array(Ne.length+1).join("-");return Ne+this.upcomingInput()+` +`+Be+"^"},"showPosition"),test_match:s(function(Ne,Be){var ze,qe,Fe;if(this.options.backtrack_lexer&&(Fe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Fe.yylloc.range=this.yylloc.range.slice(0))),qe=Ne[0].match(/(?:\r\n?|\n).*/g),qe&&(this.yylineno+=qe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:qe?qe[qe.length-1].length-qe[qe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ne[0].length},this.yytext+=Ne[0],this.match+=Ne[0],this.matches=Ne,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ne[0].length),this.matched+=Ne[0],ze=this.performAction.call(this,this.yy,this,Be,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ze)return ze;if(this._backtrack){for(var we in Fe)this[we]=Fe[we];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ne,Be,ze,qe;this._more||(this.yytext="",this.match="");for(var Fe=this._currentRules(),we=0;weBe[0].length)){if(Be=ze,qe=we,this.options.backtrack_lexer){if(Ne=this.test_match(ze,Fe[we]),Ne!==!1)return Ne;if(this._backtrack){Be=!1;continue}else return!1}else if(!this.options.flex)break}return Be?(Ne=this.test_match(Be,Fe[qe]),Ne!==!1?Ne:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var Be=this.next();return Be||this.lex()},"lex"),begin:s(function(Be){this.conditionStack.push(Be)},"begin"),popState:s(function(){var Be=this.conditionStack.length-1;return Be>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(Be){return Be=this.conditionStack.length-1-Math.abs(Be||0),Be>=0?this.conditionStack[Be]:"INITIAL"},"topState"),pushState:s(function(Be){this.begin(Be)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(Be,ze,qe,Fe){var we=Fe;switch(qe){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return Ie}();ae.lexer=pe;function de(){this.yy={}}return s(de,"Parser"),de.prototype=ae,ae.Parser=de,new de}();nN.parser=nN;hle=nN});var Ja,Iw,dle=_(()=>{"use strict";Xt();Pl();it();vb();Ja=j0(),Iw=class{constructor(){this.classes=new Map;this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{s(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:dr.quadrantChart?.chartWidth||500,chartWidth:dr.quadrantChart?.chartHeight||500,titlePadding:dr.quadrantChart?.titlePadding||10,titleFontSize:dr.quadrantChart?.titleFontSize||20,quadrantPadding:dr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:dr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:dr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:dr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:dr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:dr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:dr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:dr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:dr.quadrantChart?.pointLabelFontSize||12,pointRadius:dr.quadrantChart?.pointRadius||5,xAxisPosition:dr.quadrantChart?.xAxisPosition||"top",yAxisPosition:dr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:dr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:dr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:Ja.quadrant1Fill,quadrant2Fill:Ja.quadrant2Fill,quadrant3Fill:Ja.quadrant3Fill,quadrant4Fill:Ja.quadrant4Fill,quadrant1TextFill:Ja.quadrant1TextFill,quadrant2TextFill:Ja.quadrant2TextFill,quadrant3TextFill:Ja.quadrant3TextFill,quadrant4TextFill:Ja.quadrant4TextFill,quadrantPointFill:Ja.quadrantPointFill,quadrantPointTextFill:Ja.quadrantPointTextFill,quadrantXAxisTextFill:Ja.quadrantXAxisTextFill,quadrantYAxisTextFill:Ja.quadrantYAxisTextFill,quadrantTitleFill:Ja.quadrantTitleFill,quadrantInternalBorderStrokeFill:Ja.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:Ja.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,V.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){V.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){V.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){let a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,o={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},l=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,u={left:this.config.yAxisPosition==="left"&&n?l:0,right:this.config.yAxisPosition==="right"&&n?l:0},h=this.config.titleFontSize+this.config.titlePadding*2,f={top:i?h:0},d=this.config.quadrantPadding+u.left,p=this.config.quadrantPadding+o.top+f.top,m=this.config.chartWidth-this.config.quadrantPadding*2-u.left-u.right,g=this.config.chartHeight-this.config.quadrantPadding*2-o.top-o.bottom-f.top,y=m/2,v=g/2;return{xAxisSpace:o,yAxisSpace:u,titleSpace:f,quadrantSpace:{quadrantLeft:d,quadrantTop:p,quadrantWidth:m,quadrantHalfWidth:y,quadrantHeight:g,quadrantHalfHeight:v}}}getAxisLabels(e,r,n,i){let{quadrantSpace:a,titleSpace:o}=i,{quadrantHalfHeight:l,quadrantHeight:u,quadrantLeft:h,quadrantHalfWidth:f,quadrantTop:d,quadrantWidth:p}=a,m=!!this.data.xAxisRightText,g=!!this.data.yAxisTopText,y=[];return this.data.xAxisLeftText&&r&&y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+o.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+f+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+o.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+u-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+l-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),y}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:o}=r,l=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:o,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:o,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:o+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:o+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(let u of l)u.text.x=u.x+u.width/2,this.data.points.length===0?(u.text.y=u.y+u.height/2,u.text.horizontalPos="middle"):(u.text.y=u.y+this.config.quadrantTextTopPadding,u.text.horizontalPos="top");return l}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:o}=r,l=rl().domain([0,1]).range([i,o+i]),u=rl().domain([0,1]).range([n+a,a]);return this.data.points.map(f=>{let d=this.classes.get(f.className);return d&&(f={...d,...f}),{x:l(f.x),y:u(f.y),fill:f.color??this.themeConfig.quadrantPointFill,radius:f.radius??this.config.pointRadius,text:{text:f.text,fill:this.themeConfig.quadrantPointTextFill,x:l(f.x),y:u(f.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:f.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:f.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:o,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:h}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:o-r,y1:u,x2:o+h+r,y2:u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:o+h,y1:u+r,x2:o+h,y2:u+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:o-r,y1:u+a,x2:o+h+r,y2:u+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:o,y1:u+r,x2:o,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:o+l,y1:u+r,x2:o+l,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:o+r,y1:u+i,x2:o+h-r,y2:u+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}}});function iN(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function ple(t){return!/^\d+$/.test(t)}function mle(t){return!/^\d+px$/.test(t)}var m0,gle=_(()=>{"use strict";m0=class extends Error{static{s(this,"InvalidStyleError")}constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}};s(iN,"validateHexCode");s(ple,"validateNumber");s(mle,"validateSizeInPixels")});function $u(t){return $r(t.trim(),xPe)}function bPe(t){fa.setData({quadrant1Text:$u(t.text)})}function kPe(t){fa.setData({quadrant2Text:$u(t.text)})}function wPe(t){fa.setData({quadrant3Text:$u(t.text)})}function TPe(t){fa.setData({quadrant4Text:$u(t.text)})}function EPe(t){fa.setData({xAxisLeftText:$u(t.text)})}function CPe(t){fa.setData({xAxisRightText:$u(t.text)})}function SPe(t){fa.setData({yAxisTopText:$u(t.text)})}function _Pe(t){fa.setData({yAxisBottomText:$u(t.text)})}function aN(t){let e={};for(let r of t){let[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(ple(i))throw new m0(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(iN(i))throw new m0(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(iN(i))throw new m0(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(mle(i))throw new m0(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}function APe(t,e,r,n,i){let a=aN(i);fa.addPoints([{x:r,y:n,text:$u(t.text),className:e,...a}])}function LPe(t,e){fa.addClass(t,aN(e))}function DPe(t){fa.setConfig({chartWidth:t})}function RPe(t){fa.setConfig({chartHeight:t})}function MPe(){let t=le(),{themeVariables:e,quadrantChart:r}=t;return r&&fa.setConfig(r),fa.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),fa.setData({titleText:Qr()}),fa.build()}var xPe,fa,IPe,yle,vle=_(()=>{"use strict";gt();Qt();Ci();dle();gle();xPe=le();s($u,"textSanitizer");fa=new Iw;s(bPe,"setQuadrant1Text");s(kPe,"setQuadrant2Text");s(wPe,"setQuadrant3Text");s(TPe,"setQuadrant4Text");s(EPe,"setXAxisLeftText");s(CPe,"setXAxisRightText");s(SPe,"setYAxisTopText");s(_Pe,"setYAxisBottomText");s(aN,"parseStyles");s(APe,"addPoint");s(LPe,"addClass");s(DPe,"setWidth");s(RPe,"setHeight");s(MPe,"getQuadrantData");IPe=s(function(){fa.clear(),br()},"clear"),yle={setWidth:DPe,setHeight:RPe,setQuadrant1Text:bPe,setQuadrant2Text:kPe,setQuadrant3Text:wPe,setQuadrant4Text:TPe,setXAxisLeftText:EPe,setXAxisRightText:CPe,setYAxisTopText:SPe,setYAxisBottomText:_Pe,parseStyles:aN,addPoint:APe,addClass:LPe,getQuadrantData:MPe,clear:IPe,setAccTitle:Ar,getAccTitle:Gr,setDiagramTitle:an,getDiagramTitle:Qr,getAccDescription:Ur,setAccDescription:Vr}});var NPe,xle,ble=_(()=>{"use strict";Xt();gt();it();Un();NPe=s((t,e,r,n)=>{function i(E){return E==="top"?"hanging":"middle"}s(i,"getDominantBaseLine");function a(E){return E==="left"?"start":"middle"}s(a,"getTextAnchor");function o(E){return`translate(${E.x}, ${E.y}) rotate(${E.rotation||0})`}s(o,"getTransformation");let l=le();V.debug(`Rendering quadrant chart +`+t);let u=l.securityLevel,h;u==="sandbox"&&(h=Me("#i"+e));let d=(u==="sandbox"?Me(h.nodes()[0].contentDocument.body):Me("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),m=l.quadrantChart?.chartWidth??500,g=l.quadrantChart?.chartHeight??500;xr(d,g,m,l.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+m+" "+g),n.db.setHeight(g),n.db.setWidth(m);let y=n.db.getQuadrantData(),v=p.append("g").attr("class","quadrants"),x=p.append("g").attr("class","border"),b=p.append("g").attr("class","data-points"),k=p.append("g").attr("class","labels"),A=p.append("g").attr("class","title");y.title&&A.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",i(y.title.horizontalPos)).attr("text-anchor",a(y.title.verticalPos)).attr("transform",o(y.title)).text(y.title.text),y.borderLines&&x.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",E=>E.x1).attr("y1",E=>E.y1).attr("x2",E=>E.x2).attr("y2",E=>E.y2).style("stroke",E=>E.strokeFill).style("stroke-width",E=>E.strokeWidth);let w=v.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");w.append("rect").attr("x",E=>E.x).attr("y",E=>E.y).attr("width",E=>E.width).attr("height",E=>E.height).attr("fill",E=>E.fill),w.append("text").attr("x",0).attr("y",0).attr("fill",E=>E.text.fill).attr("font-size",E=>E.text.fontSize).attr("dominant-baseline",E=>i(E.text.horizontalPos)).attr("text-anchor",E=>a(E.text.verticalPos)).attr("transform",E=>o(E.text)).text(E=>E.text.text),k.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(E=>E.text).attr("fill",E=>E.fill).attr("font-size",E=>E.fontSize).attr("dominant-baseline",E=>i(E.horizontalPos)).attr("text-anchor",E=>a(E.verticalPos)).attr("transform",E=>o(E));let C=b.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");C.append("circle").attr("cx",E=>E.x).attr("cy",E=>E.y).attr("r",E=>E.radius).attr("fill",E=>E.fill).attr("stroke",E=>E.strokeColor).attr("stroke-width",E=>E.strokeWidth),C.append("text").attr("x",0).attr("y",0).text(E=>E.text.text).attr("fill",E=>E.text.fill).attr("font-size",E=>E.text.fontSize).attr("dominant-baseline",E=>i(E.text.horizontalPos)).attr("text-anchor",E=>a(E.text.verticalPos)).attr("transform",E=>o(E.text))},"draw"),xle={draw:NPe}});var kle={};ur(kle,{diagram:()=>OPe});var OPe,wle=_(()=>{"use strict";fle();vle();ble();OPe={parser:hle,db:yle,renderer:xle,styles:s(()=>"","styles")}});var sN,Cle,Sle=_(()=>{"use strict";sN=function(){var t=s(function(F,I,O,z){for(O=O||{},z=F.length;z--;O[F[z]]=I);return O},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],o=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],u=[1,25],h=[1,26],f=[1,28],d=[1,29],p=[1,30],m=[1,31],g=[1,32],y=[1,33],v=[1,34],x=[1,35],b=[1,36],k=[1,37],A=[1,43],w=[1,42],T=[1,47],C=[1,50],E=[1,10,12,14,16,18,19,21,23,34,35,36],S=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],R=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],D=[1,64],L={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:s(function(I,O,z,N,U,$,W){var ee=$.length-1;switch(U){case 5:N.setOrientation($[ee]);break;case 9:N.setDiagramTitle($[ee].text.trim());break;case 12:N.setLineData({text:"",type:"text"},$[ee]);break;case 13:N.setLineData($[ee-1],$[ee]);break;case 14:N.setBarData({text:"",type:"text"},$[ee]);break;case 15:N.setBarData($[ee-1],$[ee]);break;case 16:this.$=$[ee].trim(),N.setAccTitle(this.$);break;case 17:case 18:this.$=$[ee].trim(),N.setAccDescription(this.$);break;case 19:this.$=$[ee-1];break;case 20:this.$=[Number($[ee-2]),...$[ee]];break;case 21:this.$=[Number($[ee])];break;case 22:N.setXAxisTitle($[ee]);break;case 23:N.setXAxisTitle($[ee-1]);break;case 24:N.setXAxisTitle({type:"text",text:""});break;case 25:N.setXAxisBand($[ee]);break;case 26:N.setXAxisRangeData(Number($[ee-2]),Number($[ee]));break;case 27:this.$=$[ee-1];break;case 28:this.$=[$[ee-2],...$[ee]];break;case 29:this.$=[$[ee]];break;case 30:N.setYAxisTitle($[ee]);break;case 31:N.setYAxisTitle($[ee-1]);break;case 32:N.setYAxisTitle({type:"text",text:""});break;case 33:N.setYAxisRangeData(Number($[ee-2]),Number($[ee]));break;case 37:this.$={text:$[ee],type:"text"};break;case 38:this.$={text:$[ee],type:"text"};break;case 39:this.$={text:$[ee],type:"markdown"};break;case 40:this.$=$[ee];break;case 41:this.$=$[ee-1]+""+$[ee];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:o}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:o}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:o}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(l,[2,34]),t(l,[2,35]),t(l,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:o}),{1:[2,3]},t(l,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:o}),{11:23,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},{11:39,13:38,24:A,27:w,29:40,30:41,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},{11:45,15:44,27:T,33:46,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},{11:49,17:48,24:C,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},{11:52,17:51,24:C,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},{20:[1,53]},{22:[1,54]},t(E,[2,18]),{1:[2,2]},t(E,[2,8]),t(E,[2,9]),t(S,[2,37],{40:55,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k}),t(S,[2,38]),t(S,[2,39]),t(R,[2,40]),t(R,[2,42]),t(R,[2,43]),t(R,[2,44]),t(R,[2,45]),t(R,[2,46]),t(R,[2,47]),t(R,[2,48]),t(R,[2,49]),t(R,[2,50]),t(R,[2,51]),t(E,[2,10]),t(E,[2,22],{30:41,29:56,24:A,27:w}),t(E,[2,24]),t(E,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},t(E,[2,11]),t(E,[2,30],{33:60,27:T}),t(E,[2,32]),{31:[1,61]},t(E,[2,12]),{17:62,24:C},{25:63,27:D},t(E,[2,14]),{17:65,24:C},t(E,[2,16]),t(E,[2,17]),t(R,[2,41]),t(E,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(E,[2,31]),{27:[1,69]},t(E,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(E,[2,15]),t(E,[2,26]),t(E,[2,27]),{11:59,32:72,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},t(E,[2,33]),t(E,[2,19]),{25:73,27:D},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:s(function(I,O){if(O.recoverable)this.trace(I);else{var z=new Error(I);throw z.hash=O,z}},"parseError"),parse:s(function(I){var O=this,z=[0],N=[],U=[null],$=[],W=this.table,ee="",te=0,ce=0,Z=0,fe=2,ne=1,H=$.slice.call(arguments,1),Q=Object.create(this.lexer),K={yy:{}};for(var re in this.yy)Object.prototype.hasOwnProperty.call(this.yy,re)&&(K.yy[re]=this.yy[re]);Q.setInput(I,K.yy),K.yy.lexer=Q,K.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var ie=Q.yylloc;$.push(ie);var ye=Q.options&&Q.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(ae){z.length=z.length-2*ae,U.length=U.length-ae,$.length=$.length-ae}s(j,"popStack");function De(){var ae;return ae=N.pop()||Q.lex()||ne,typeof ae!="number"&&(ae instanceof Array&&(N=ae,ae=N.pop()),ae=O.symbols_[ae]||ae),ae}s(De,"lex");for(var oe,Re,Pe,Se,Ue,Oe,_e={},he,q,se,ue;;){if(Pe=z[z.length-1],this.defaultActions[Pe]?Se=this.defaultActions[Pe]:((oe===null||typeof oe>"u")&&(oe=De()),Se=W[Pe]&&W[Pe][oe]),typeof Se>"u"||!Se.length||!Se[0]){var X="";ue=[];for(he in W[Pe])this.terminals_[he]&&he>fe&&ue.push("'"+this.terminals_[he]+"'");Q.showPosition?X="Parse error on line "+(te+1)+`: +`+Q.showPosition()+` +Expecting `+ue.join(", ")+", got '"+(this.terminals_[oe]||oe)+"'":X="Parse error on line "+(te+1)+": Unexpected "+(oe==ne?"end of input":"'"+(this.terminals_[oe]||oe)+"'"),this.parseError(X,{text:Q.match,token:this.terminals_[oe]||oe,line:Q.yylineno,loc:ie,expected:ue})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Pe+", token: "+oe);switch(Se[0]){case 1:z.push(oe),U.push(Q.yytext),$.push(Q.yylloc),z.push(Se[1]),oe=null,Re?(oe=Re,Re=null):(ce=Q.yyleng,ee=Q.yytext,te=Q.yylineno,ie=Q.yylloc,Z>0&&Z--);break;case 2:if(q=this.productions_[Se[1]][1],_e.$=U[U.length-q],_e._$={first_line:$[$.length-(q||1)].first_line,last_line:$[$.length-1].last_line,first_column:$[$.length-(q||1)].first_column,last_column:$[$.length-1].last_column},ye&&(_e._$.range=[$[$.length-(q||1)].range[0],$[$.length-1].range[1]]),Oe=this.performAction.apply(_e,[ee,ce,te,K.yy,Se[1],U,$].concat(H)),typeof Oe<"u")return Oe;q&&(z=z.slice(0,-1*q*2),U=U.slice(0,-1*q),$=$.slice(0,-1*q)),z.push(this.productions_[Se[1]][0]),U.push(_e.$),$.push(_e._$),se=W[z[z.length-2]][z[z.length-1]],z.push(se);break;case 3:return!0}}return!0},"parse")},P=function(){var F={EOF:1,parseError:s(function(O,z){if(this.yy.parser)this.yy.parser.parseError(O,z);else throw new Error(O)},"parseError"),setInput:s(function(I,O){return this.yy=O||this.yy||{},this._input=I,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var I=this._input[0];this.yytext+=I,this.yyleng++,this.offset++,this.match+=I,this.matched+=I;var O=I.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),I},"input"),unput:s(function(I){var O=I.length,z=I.split(/(?:\r\n?|\n)/g);this._input=I+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var N=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),z.length-1&&(this.yylineno-=z.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:z?(z.length===N.length?this.yylloc.first_column:0)+N[N.length-z.length].length-z[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(I){this.unput(this.match.slice(I))},"less"),pastInput:s(function(){var I=this.matched.substr(0,this.matched.length-this.match.length);return(I.length>20?"...":"")+I.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var I=this.match;return I.length<20&&(I+=this._input.substr(0,20-I.length)),(I.substr(0,20)+(I.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var I=this.pastInput(),O=new Array(I.length+1).join("-");return I+this.upcomingInput()+` +`+O+"^"},"showPosition"),test_match:s(function(I,O){var z,N,U;if(this.options.backtrack_lexer&&(U={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(U.yylloc.range=this.yylloc.range.slice(0))),N=I[0].match(/(?:\r\n?|\n).*/g),N&&(this.yylineno+=N.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:N?N[N.length-1].length-N[N.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+I[0].length},this.yytext+=I[0],this.match+=I[0],this.matches=I,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(I[0].length),this.matched+=I[0],z=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),z)return z;if(this._backtrack){for(var $ in U)this[$]=U[$];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var I,O,z,N;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),$=0;$O[0].length)){if(O=z,N=$,this.options.backtrack_lexer){if(I=this.test_match(z,U[$]),I!==!1)return I;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(I=this.test_match(O,U[N]),I!==!1?I:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var O=this.next();return O||this.lex()},"lex"),begin:s(function(O){this.conditionStack.push(O)},"begin"),popState:s(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:s(function(O){this.begin(O)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(O,z,N,U){var $=U;switch(N){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";break;case 17:return this.pushState("axis_data"),"Y_AXIS";break;case 18:return this.pushState("axis_band_data"),24;break;case 19:return 31;case 20:return this.pushState("data"),16;break;case 21:return this.pushState("data"),18;break;case 22:return this.pushState("data_inner"),24;break;case 23:return 27;case 24:return this.popState(),26;break;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return F}();L.lexer=P;function M(){this.yy={}}return s(M,"Parser"),M.prototype=L,L.Parser=M,new M}();sN.parser=sN;Cle=sN});function oN(t){return t.type==="bar"}function Nw(t){return t.type==="band"}function yg(t){return t.type==="linear"}var Ow=_(()=>{"use strict";s(oN,"isBarPlot");s(Nw,"isBandAxisData");s(yg,"isLinearAxisData")});var vg,lN=_(()=>{"use strict";ic();vg=class{constructor(e){this.parentGroup=e}static{s(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,o)=>Math.max(o.length,a),0)*r,height:r};let n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(let a of e){let o=KY(i,1,a),l=o?o.width:a.length*r,u=o?o.height:r;n.width=Math.max(n.width,l),n.height=Math.max(n.height,u)}return i.remove(),n}}});var xg,cN=_(()=>{"use strict";xg=class{constructor(e,r,n,i){this.axisConfig=e;this.title=r;this.textDimensionCalculator=n;this.axisThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0};this.axisPosition="left";this.showTitle=!1;this.showLabel=!1;this.showTick=!1;this.showAxisLine=!1;this.outerPadding=0;this.titleTextHeight=0;this.labelTextHeight=0;this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{s(this,"BaseAxis")}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){let e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.width;this.outerPadding=Math.min(n.width/2,i);let a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.height;this.outerPadding=Math.min(n.height/2,i);let a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}});var Pw,_le=_(()=>{"use strict";Xt();it();cN();Pw=class extends xg{static{s(this,"BandAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=xp().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=xp().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),V.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}}});var Bw,Ale=_(()=>{"use strict";Xt();cN();Bw=class extends xg{static{s(this,"LinearAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=rl().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=rl().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}}});function uN(t,e,r,n){let i=new vg(n);return Nw(t)?new Pw(e,r,t.categories,t.title,i):new Bw(e,r,[t.min,t.max],t.title,i)}var Lle=_(()=>{"use strict";Ow();lN();_le();Ale();s(uN,"getAxis")});function Dle(t,e,r,n){let i=new vg(n);return new hN(i,t,e,r)}var hN,Rle=_(()=>{"use strict";lN();hN=class{constructor(e,r,n,i){this.textDimensionCalculator=e;this.chartConfig=r;this.chartData=n;this.chartThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{s(this,"ChartTitle")}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}};s(Dle,"getChartTitleComponent")});var Fw,Mle=_(()=>{"use strict";Xt();Fw=class{constructor(e,r,n,i,a){this.plotData=e;this.xAxis=r;this.yAxis=n;this.orientation=i;this.plotIndex=a}static{s(this,"LinePlot")}getDrawableElement(){let e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]),r;return this.orientation==="horizontal"?r=ra().y(n=>n[0]).x(n=>n[1])(e):r=ra().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}});var zw,Ile=_(()=>{"use strict";zw=class{constructor(e,r,n,i,a,o){this.barData=e;this.boundingRect=r;this.xAxis=n;this.yAxis=i;this.orientation=a;this.plotIndex=o}static{s(this,"BarPlot")}getDrawableElement(){let e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}});function Nle(t,e,r){return new fN(t,e,r)}var fN,Ole=_(()=>{"use strict";Mle();Ile();fN=class{constructor(e,r,n){this.chartConfig=e;this.chartData=r;this.chartThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0}}static{s(this,"BasePlot")}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let e=[];for(let[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{let i=new Fw(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{let i=new zw(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}};s(Nle,"getPlotComponent")});var $w,Ple=_(()=>{"use strict";Lle();Rle();Ole();Ow();$w=class{constructor(e,r,n,i){this.chartConfig=e;this.chartData=r;this.componentStore={title:Dle(e,r,n,i),plot:Nle(e,r,n),xAxis:uN(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:uN(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}static{s(this,"Orchestrator")}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:a,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("bottom"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=l.height,this.componentStore.yAxis.setAxisPosition("left"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=l.width,e-=l.width,e>0&&(a+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:o}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+o}),this.componentStore.yAxis.setRange([i,i+o]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(u=>oN(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,o=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),l=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:o,height:l});e-=u.width,r-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=u.height,r-=u.height,this.componentStore.xAxis.setAxisPosition("left"),u=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=u.width,i=u.width,this.componentStore.yAxis.setAxisPosition("top"),u=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=u.height,a=n+u.height,e>0&&(o+=e,e=0),r>0&&(l+=r,r=0),this.componentStore.plot.calculateSpace({width:o,height:l}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+o]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+l]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(h=>oN(h))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}}});var Gw,Ble=_(()=>{"use strict";Ple();Gw=class{static{s(this,"XYChartBuilder")}static build(e,r,n,i){return new $w(e,r,n,i).getDrawableElement()}}});function zle(){let t=j0(),e=_r();return ms(t.xyChart,e.themeVariables.xyChart)}function $le(){let t=_r();return ms(dr.xyChart,t.xyChart)}function Gle(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function mN(t){let e=_r();return $r(t.trim(),e)}function zPe(t){Fle=t}function $Pe(t){t==="horizontal"?K2.chartOrientation="horizontal":K2.chartOrientation="vertical"}function GPe(t){Jr.xAxis.title=mN(t.text)}function Vle(t,e){Jr.xAxis={type:"linear",title:Jr.xAxis.title,min:t,max:e},Vw=!0}function VPe(t){Jr.xAxis={type:"band",title:Jr.xAxis.title,categories:t.map(e=>mN(e.text))},Vw=!0}function UPe(t){Jr.yAxis.title=mN(t.text)}function qPe(t,e){Jr.yAxis={type:"linear",title:Jr.yAxis.title,min:t,max:e},pN=!0}function WPe(t){let e=Math.min(...t),r=Math.max(...t),n=yg(Jr.yAxis)?Jr.yAxis.min:1/0,i=yg(Jr.yAxis)?Jr.yAxis.max:-1/0;Jr.yAxis={type:"linear",title:Jr.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}function Ule(t){let e=[];if(t.length===0)return e;if(!Vw){let r=yg(Jr.xAxis)?Jr.xAxis.min:1/0,n=yg(Jr.xAxis)?Jr.xAxis.max:-1/0;Vle(Math.min(r,1),Math.max(n,t.length))}if(pN||WPe(t),Nw(Jr.xAxis)&&(e=Jr.xAxis.categories.map((r,n)=>[r,t[n]])),yg(Jr.xAxis)){let r=Jr.xAxis.min,n=Jr.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let o=r;o<=n;o+=i)a.push(`${o}`);e=a.map((o,l)=>[o,t[l]])}return e}function qle(t){return dN[t===0?0:t%dN.length]}function HPe(t,e){let r=Ule(e);Jr.plots.push({type:"line",strokeFill:qle(j2),strokeWidth:2,data:r}),j2++}function YPe(t,e){let r=Ule(e);Jr.plots.push({type:"bar",fill:qle(j2),data:r}),j2++}function XPe(){if(Jr.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return Jr.title=Qr(),Gw.build(K2,Jr,Q2,Fle)}function jPe(){return Q2}function KPe(){return K2}var j2,Fle,K2,Q2,Jr,dN,Vw,pN,QPe,Wle,Hle=_(()=>{"use strict";zs();Pl();vb();pr();Qt();Ci();Ble();Ow();j2=0,K2=$le(),Q2=zle(),Jr=Gle(),dN=Q2.plotColorPalette.split(",").map(t=>t.trim()),Vw=!1,pN=!1;s(zle,"getChartDefaultThemeConfig");s($le,"getChartDefaultConfig");s(Gle,"getChartDefaultData");s(mN,"textSanitizer");s(zPe,"setTmpSVGG");s($Pe,"setOrientation");s(GPe,"setXAxisTitle");s(Vle,"setXAxisRangeData");s(VPe,"setXAxisBand");s(UPe,"setYAxisTitle");s(qPe,"setYAxisRangeData");s(WPe,"setYAxisRangeFromPlotData");s(Ule,"transformDataWithoutCategory");s(qle,"getPlotColorFromPalette");s(HPe,"setLineData");s(YPe,"setBarData");s(XPe,"getDrawableElem");s(jPe,"getChartThemeConfig");s(KPe,"getChartConfig");QPe=s(function(){br(),j2=0,K2=$le(),Jr=Gle(),Q2=zle(),dN=Q2.plotColorPalette.split(",").map(t=>t.trim()),Vw=!1,pN=!1},"clear"),Wle={getDrawableElem:XPe,clear:QPe,setAccTitle:Ar,getAccTitle:Gr,setDiagramTitle:an,getDiagramTitle:Qr,getAccDescription:Ur,setAccDescription:Vr,setOrientation:$Pe,setXAxisTitle:GPe,setXAxisRangeData:Vle,setXAxisBand:VPe,setYAxisTitle:UPe,setYAxisRangeData:qPe,setLineData:HPe,setBarData:YPe,setTmpSVGG:zPe,getChartThemeConfig:jPe,getChartConfig:KPe}});var ZPe,Yle,Xle=_(()=>{"use strict";it();p0();Un();ZPe=s((t,e,r,n)=>{let i=n.db,a=i.getChartThemeConfig(),o=i.getChartConfig();function l(v){return v==="top"?"text-before-edge":"middle"}s(l,"getDominantBaseLine");function u(v){return v==="left"?"start":v==="right"?"end":"middle"}s(u,"getTextAnchor");function h(v){return`translate(${v.x}, ${v.y}) rotate(${v.rotation||0})`}s(h,"getTextTransformation"),V.debug(`Rendering xychart chart +`+t);let f=Bo(e),d=f.append("g").attr("class","main"),p=d.append("rect").attr("width",o.width).attr("height",o.height).attr("class","background");xr(f,o.height,o.width,!0),f.attr("viewBox",`0 0 ${o.width} ${o.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(f.append("g").attr("class","mermaid-tmp-group"));let m=i.getDrawableElem(),g={};function y(v){let x=d,b="";for(let[k]of v.entries()){let A=d;k>0&&g[b]&&(A=g[b]),b+=v[k],x=g[b],x||(x=g[b]=A.append("g").attr("class",v[k]))}return x}s(y,"getGroup");for(let v of m){if(v.data.length===0)continue;let x=y(v.groupTexts);switch(v.type){case"rect":x.selectAll("rect").data(v.data).enter().append("rect").attr("x",b=>b.x).attr("y",b=>b.y).attr("width",b=>b.width).attr("height",b=>b.height).attr("fill",b=>b.fill).attr("stroke",b=>b.strokeFill).attr("stroke-width",b=>b.strokeWidth);break;case"text":x.selectAll("text").data(v.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",b=>b.fill).attr("font-size",b=>b.fontSize).attr("dominant-baseline",b=>l(b.verticalPos)).attr("text-anchor",b=>u(b.horizontalPos)).attr("transform",b=>h(b)).text(b=>b.text);break;case"path":x.selectAll("path").data(v.data).enter().append("path").attr("d",b=>b.path).attr("fill",b=>b.fill?b.fill:"none").attr("stroke",b=>b.strokeFill).attr("stroke-width",b=>b.strokeWidth);break}}},"draw"),Yle={draw:ZPe}});var jle={};ur(jle,{diagram:()=>JPe});var JPe,Kle=_(()=>{"use strict";Sle();Hle();Xle();JPe={parser:Cle,db:Wle,renderer:Yle}});var gN,Jle,ece=_(()=>{"use strict";gN=function(){var t=s(function(ce,Z,fe,ne){for(fe=fe||{},ne=ce.length;ne--;fe[ce[ne]]=Z);return fe},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],o=[1,18],l=[2,7],u=[1,22],h=[1,23],f=[1,24],d=[1,25],p=[1,26],m=[1,27],g=[1,20],y=[1,28],v=[1,29],x=[62,63],b=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],k=[1,47],A=[1,48],w=[1,49],T=[1,50],C=[1,51],E=[1,52],S=[1,53],R=[53,54],D=[1,64],L=[1,60],P=[1,61],M=[1,62],F=[1,63],I=[1,65],O=[1,69],z=[1,70],N=[1,67],U=[1,68],$=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],W={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:s(function(Z,fe,ne,H,Q,K,re){var ie=K.length-1;switch(Q){case 4:this.$=K[ie].trim(),H.setAccTitle(this.$);break;case 5:case 6:this.$=K[ie].trim(),H.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:H.addRequirement(K[ie-3],K[ie-4]);break;case 14:H.setNewReqId(K[ie-2]);break;case 15:H.setNewReqText(K[ie-2]);break;case 16:H.setNewReqRisk(K[ie-2]);break;case 17:H.setNewReqVerifyMethod(K[ie-2]);break;case 20:this.$=H.RequirementType.REQUIREMENT;break;case 21:this.$=H.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=H.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=H.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=H.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=H.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=H.RiskLevel.LOW_RISK;break;case 27:this.$=H.RiskLevel.MED_RISK;break;case 28:this.$=H.RiskLevel.HIGH_RISK;break;case 29:this.$=H.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=H.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=H.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=H.VerifyType.VERIFY_TEST;break;case 33:H.addElement(K[ie-3]);break;case 34:H.setNewElementType(K[ie-2]);break;case 35:H.setNewElementDocRef(K[ie-2]);break;case 38:H.addRelationship(K[ie-2],K[ie],K[ie-4]);break;case 39:H.addRelationship(K[ie-2],K[ie-4],K[ie]);break;case 40:this.$=H.Relationships.CONTAINS;break;case 41:this.$=H.Relationships.COPIES;break;case 42:this.$=H.Relationships.DERIVES;break;case 43:this.$=H.Relationships.SATISFIES;break;case 44:this.$=H.Relationships.VERIFIES;break;case 45:this.$=H.Relationships.REFINES;break;case 46:this.$=H.Relationships.TRACES;break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:o,7:13,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:o,7:31,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:o,7:32,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:o,7:33,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:o,7:34,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:o,7:35,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},t(x,[2,20]),t(x,[2,21]),t(x,[2,22]),t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(b,[2,49]),t(b,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:k,56:A,57:w,58:T,59:C,60:E,61:S},{52:54,55:k,56:A,57:w,58:T,59:C,60:E,61:S},{5:[1,55]},{5:[1,56]},{53:[1,57]},t(R,[2,40]),t(R,[2,41]),t(R,[2,42]),t(R,[2,43]),t(R,[2,44]),t(R,[2,45]),t(R,[2,46]),{54:[1,58]},{5:D,20:59,21:L,24:P,26:M,28:F,30:I},{5:O,30:z,46:66,47:N,49:U},{23:71,62:y,63:v},{23:72,62:y,63:v},t($,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:D,20:77,21:L,24:P,26:M,28:F,30:I},t($,[2,19]),t($,[2,33]),{22:[1,78]},{22:[1,79]},{5:O,30:z,46:80,47:N,49:U},t($,[2,37]),t($,[2,38]),t($,[2,39]),{23:81,62:y,63:v},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},t($,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},t($,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:D,20:106,21:L,24:P,26:M,28:F,30:I},{5:D,20:107,21:L,24:P,26:M,28:F,30:I},{5:D,20:108,21:L,24:P,26:M,28:F,30:I},{5:D,20:109,21:L,24:P,26:M,28:F,30:I},{5:O,30:z,46:110,47:N,49:U},{5:O,30:z,46:111,47:N,49:U},t($,[2,14]),t($,[2,15]),t($,[2,16]),t($,[2,17]),t($,[2,34]),t($,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:s(function(Z,fe){if(fe.recoverable)this.trace(Z);else{var ne=new Error(Z);throw ne.hash=fe,ne}},"parseError"),parse:s(function(Z){var fe=this,ne=[0],H=[],Q=[null],K=[],re=this.table,ie="",ye=0,j=0,De=0,oe=2,Re=1,Pe=K.slice.call(arguments,1),Se=Object.create(this.lexer),Ue={yy:{}};for(var Oe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Oe)&&(Ue.yy[Oe]=this.yy[Oe]);Se.setInput(Z,Ue.yy),Ue.yy.lexer=Se,Ue.yy.parser=this,typeof Se.yylloc>"u"&&(Se.yylloc={});var _e=Se.yylloc;K.push(_e);var he=Se.options&&Se.options.ranges;typeof Ue.yy.parseError=="function"?this.parseError=Ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function q(Je){ne.length=ne.length-2*Je,Q.length=Q.length-Je,K.length=K.length-Je}s(q,"popStack");function se(){var Je;return Je=H.pop()||Se.lex()||Re,typeof Je!="number"&&(Je instanceof Array&&(H=Je,Je=H.pop()),Je=fe.symbols_[Je]||Je),Je}s(se,"lex");for(var ue,X,ae,pe,de,Ie,Ne={},Be,ze,qe,Fe;;){if(ae=ne[ne.length-1],this.defaultActions[ae]?pe=this.defaultActions[ae]:((ue===null||typeof ue>"u")&&(ue=se()),pe=re[ae]&&re[ae][ue]),typeof pe>"u"||!pe.length||!pe[0]){var we="";Fe=[];for(Be in re[ae])this.terminals_[Be]&&Be>oe&&Fe.push("'"+this.terminals_[Be]+"'");Se.showPosition?we="Parse error on line "+(ye+1)+`: +`+Se.showPosition()+` +Expecting `+Fe.join(", ")+", got '"+(this.terminals_[ue]||ue)+"'":we="Parse error on line "+(ye+1)+": Unexpected "+(ue==Re?"end of input":"'"+(this.terminals_[ue]||ue)+"'"),this.parseError(we,{text:Se.match,token:this.terminals_[ue]||ue,line:Se.yylineno,loc:_e,expected:Fe})}if(pe[0]instanceof Array&&pe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ae+", token: "+ue);switch(pe[0]){case 1:ne.push(ue),Q.push(Se.yytext),K.push(Se.yylloc),ne.push(pe[1]),ue=null,X?(ue=X,X=null):(j=Se.yyleng,ie=Se.yytext,ye=Se.yylineno,_e=Se.yylloc,De>0&&De--);break;case 2:if(ze=this.productions_[pe[1]][1],Ne.$=Q[Q.length-ze],Ne._$={first_line:K[K.length-(ze||1)].first_line,last_line:K[K.length-1].last_line,first_column:K[K.length-(ze||1)].first_column,last_column:K[K.length-1].last_column},he&&(Ne._$.range=[K[K.length-(ze||1)].range[0],K[K.length-1].range[1]]),Ie=this.performAction.apply(Ne,[ie,j,ye,Ue.yy,pe[1],Q,K].concat(Pe)),typeof Ie<"u")return Ie;ze&&(ne=ne.slice(0,-1*ze*2),Q=Q.slice(0,-1*ze),K=K.slice(0,-1*ze)),ne.push(this.productions_[pe[1]][0]),Q.push(Ne.$),K.push(Ne._$),qe=re[ne[ne.length-2]][ne[ne.length-1]],ne.push(qe);break;case 3:return!0}}return!0},"parse")},ee=function(){var ce={EOF:1,parseError:s(function(fe,ne){if(this.yy.parser)this.yy.parser.parseError(fe,ne);else throw new Error(fe)},"parseError"),setInput:s(function(Z,fe){return this.yy=fe||this.yy||{},this._input=Z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var Z=this._input[0];this.yytext+=Z,this.yyleng++,this.offset++,this.match+=Z,this.matched+=Z;var fe=Z.match(/(?:\r\n?|\n).*/g);return fe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Z},"input"),unput:s(function(Z){var fe=Z.length,ne=Z.split(/(?:\r\n?|\n)/g);this._input=Z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-fe),this.offset-=fe;var H=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ne.length-1&&(this.yylineno-=ne.length-1);var Q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ne?(ne.length===H.length?this.yylloc.first_column:0)+H[H.length-ne.length].length-ne[0].length:this.yylloc.first_column-fe},this.options.ranges&&(this.yylloc.range=[Q[0],Q[0]+this.yyleng-fe]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(Z){this.unput(this.match.slice(Z))},"less"),pastInput:s(function(){var Z=this.matched.substr(0,this.matched.length-this.match.length);return(Z.length>20?"...":"")+Z.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var Z=this.match;return Z.length<20&&(Z+=this._input.substr(0,20-Z.length)),(Z.substr(0,20)+(Z.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var Z=this.pastInput(),fe=new Array(Z.length+1).join("-");return Z+this.upcomingInput()+` +`+fe+"^"},"showPosition"),test_match:s(function(Z,fe){var ne,H,Q;if(this.options.backtrack_lexer&&(Q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Q.yylloc.range=this.yylloc.range.slice(0))),H=Z[0].match(/(?:\r\n?|\n).*/g),H&&(this.yylineno+=H.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:H?H[H.length-1].length-H[H.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Z[0].length},this.yytext+=Z[0],this.match+=Z[0],this.matches=Z,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Z[0].length),this.matched+=Z[0],ne=this.performAction.call(this,this.yy,this,fe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var K in Q)this[K]=Q[K];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Z,fe,ne,H;this._more||(this.yytext="",this.match="");for(var Q=this._currentRules(),K=0;Kfe[0].length)){if(fe=ne,H=K,this.options.backtrack_lexer){if(Z=this.test_match(ne,Q[K]),Z!==!1)return Z;if(this._backtrack){fe=!1;continue}else return!1}else if(!this.options.flex)break}return fe?(Z=this.test_match(fe,Q[H]),Z!==!1?Z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var fe=this.next();return fe||this.lex()},"lex"),begin:s(function(fe){this.conditionStack.push(fe)},"begin"),popState:s(function(){var fe=this.conditionStack.length-1;return fe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(fe){return fe=this.conditionStack.length-1-Math.abs(fe||0),fe>=0?this.conditionStack[fe]:"INITIAL"},"topState"),pushState:s(function(fe){this.begin(fe)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(fe,ne,H,Q){var K=Q;switch(H){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return ne.yytext=ne.yytext.trim(),62;break}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return ce}();W.lexer=ee;function te(){this.yy={}}return s(te,"Parser"),te.prototype=W,W.Parser=te,new te}();gN.parser=gN;Jle=gN});var yN,Ds,Z2,af,J2,nBe,iBe,aBe,sBe,oBe,lBe,cBe,uBe,hBe,fBe,dBe,pBe,mBe,gBe,yBe,vBe,xBe,tce,rce=_(()=>{"use strict";gt();it();Ci();yN=[],Ds={},Z2=new Map,af={},J2=new Map,nBe={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},iBe={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},aBe={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},sBe={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},oBe=s((t,e)=>(Z2.has(t)||Z2.set(t,{name:t,type:e,id:Ds.id,text:Ds.text,risk:Ds.risk,verifyMethod:Ds.verifyMethod}),Ds={},Z2.get(t)),"addRequirement"),lBe=s(()=>Z2,"getRequirements"),cBe=s(t=>{Ds!==void 0&&(Ds.id=t)},"setNewReqId"),uBe=s(t=>{Ds!==void 0&&(Ds.text=t)},"setNewReqText"),hBe=s(t=>{Ds!==void 0&&(Ds.risk=t)},"setNewReqRisk"),fBe=s(t=>{Ds!==void 0&&(Ds.verifyMethod=t)},"setNewReqVerifyMethod"),dBe=s(t=>(J2.has(t)||(J2.set(t,{name:t,type:af.type,docRef:af.docRef}),V.info("Added new requirement: ",t)),af={},J2.get(t)),"addElement"),pBe=s(()=>J2,"getElements"),mBe=s(t=>{af!==void 0&&(af.type=t)},"setNewElementType"),gBe=s(t=>{af!==void 0&&(af.docRef=t)},"setNewElementDocRef"),yBe=s((t,e,r)=>{yN.push({type:t,src:e,dst:r})},"addRelationship"),vBe=s(()=>yN,"getRelationships"),xBe=s(()=>{yN=[],Ds={},Z2=new Map,af={},J2=new Map,br()},"clear"),tce={RequirementType:nBe,RiskLevel:iBe,VerifyType:aBe,Relationships:sBe,getConfig:s(()=>le().req,"getConfig"),addRequirement:oBe,getRequirements:lBe,setNewReqId:cBe,setNewReqText:uBe,setNewReqRisk:hBe,setNewReqVerifyMethod:fBe,setAccTitle:Ar,getAccTitle:Gr,setAccDescription:Vr,getAccDescription:Ur,addElement:dBe,getElements:pBe,setNewElementType:mBe,setNewElementDocRef:gBe,addRelationship:yBe,getRelationships:vBe,clear:xBe}});var bBe,nce,ice=_(()=>{"use strict";bBe=s(t=>` + + marker { + fill: ${t.relationColor}; + stroke: ${t.relationColor}; + } + + marker.cross { + stroke: ${t.lineColor}; + } + + svg { + font-family: ${t.fontFamily}; + font-size: ${t.fontSize}; + } + + .reqBox { + fill: ${t.requirementBackground}; + fill-opacity: 1.0; + stroke: ${t.requirementBorderColor}; + stroke-width: ${t.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${t.requirementTextColor}; + } + .reqLabelBox { + fill: ${t.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${t.requirementBorderColor}; + stroke-width: ${t.requirementBorderSize}; + } + .relationshipLine { + stroke: ${t.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${t.relationLabelColor}; + } + +`,"getStyles"),nce=bBe});var vN,kBe,xN,ace=_(()=>{"use strict";vN={CONTAINS:"contains",ARROW:"arrow"},kBe=s((t,e)=>{let r=t.append("defs").append("marker").attr("id",vN.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");r.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),r.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),r.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",vN.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${e.line_height},${e.line_height/2} + M${e.line_height},${e.line_height/2} + L0,${e.line_height}`).attr("stroke-width",1)},"insertLineEndings"),xN={ReqMarkers:vN,insertLineEndings:kBe}});var Qn,sce,oce,lce,cce,wBe,TBe,EBe,CBe,SBe,_Be,bg,ABe,uce,hce=_(()=>{"use strict";Xt();Dd();la();gt();it();Un();Qt();ace();Qn={},sce=0,oce=s((t,e)=>t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Qn.rect_min_width+"px").attr("height",Qn.rect_min_height+"px"),"newRectNode"),lce=s((t,e,r)=>{let n=Qn.rect_min_width/2,i=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",n).attr("y",Qn.rect_padding).attr("dominant-baseline","hanging"),a=0;r.forEach(h=>{a==0?i.append("tspan").attr("text-anchor","middle").attr("x",Qn.rect_min_width/2).attr("dy",0).text(h):i.append("tspan").attr("text-anchor","middle").attr("x",Qn.rect_min_width/2).attr("dy",Qn.line_height*.75).text(h),a++});let o=1.5*Qn.rect_padding,l=a*Qn.line_height*.75,u=o+l;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Qn.rect_min_width).attr("y1",u).attr("y2",u),{titleNode:i,y:u}},"newTitleNode"),cce=s((t,e,r,n)=>{let i=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",Qn.rect_padding).attr("y",n).attr("dominant-baseline","hanging"),a=0,o=30,l=[];return r.forEach(u=>{let h=u.length;for(;h>o&&a<3;){let f=u.substring(0,o);u=u.substring(o,u.length),h=u.length,l[l.length]=f,a++}if(a==3){let f=l[l.length-1];l[l.length-1]=f.substring(0,f.length-4)+"..."}else l[l.length]=u;a=0}),l.forEach(u=>{i.append("tspan").attr("x",Qn.rect_padding).attr("dy",Qn.line_height).text(u)}),i},"newBodyNode"),wBe=s((t,e,r,n)=>{let i=e.node().getTotalLength(),a=e.node().getPointAtLength(i*.5),o="rel"+sce;sce++;let u=t.append("text").attr("class","req relationshipLabel").attr("id",o).attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n).node().getBBox();t.insert("rect","#"+o).attr("class","req reqLabelBox").attr("x",a.x-u.width/2).attr("y",a.y-u.height/2).attr("width",u.width).attr("height",u.height).attr("fill","white").attr("fill-opacity","85%")},"addEdgeLabel"),TBe=s(function(t,e,r,n,i){let a=r.edge(bg(e.src),bg(e.dst)),o=ra().x(function(u){return u.x}).y(function(u){return u.y}),l=t.insert("path","#"+n).attr("class","er relationshipLine").attr("d",o(a.points)).attr("fill","none");e.type==i.db.Relationships.CONTAINS?l.attr("marker-start","url("+$e.getUrl(Qn.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(l.attr("stroke-dasharray","10,7"),l.attr("marker-end","url("+$e.getUrl(Qn.arrowMarkerAbsolute)+"#"+xN.ReqMarkers.ARROW+"_line_ending)")),wBe(t,l,Qn,`<<${e.type}>>`)},"drawRelationshipFromLayout"),EBe=s((t,e,r)=>{t.forEach((n,i)=>{i=bg(i),V.info("Added new requirement: ",i);let a=r.append("g").attr("id",i),o="req-"+i,l=oce(a,o),u=[],h=lce(a,i+"_title",[`<<${n.type}>>`,`${n.name}`]);u.push(h.titleNode);let f=cce(a,i+"_body",[`Id: ${n.id}`,`Text: ${n.text}`,`Risk: ${n.risk}`,`Verification: ${n.verifyMethod}`],h.y);u.push(f);let d=l.node().getBBox();e.setNode(i,{width:d.width,height:d.height,shape:"rect",id:i})})},"drawReqs"),CBe=s((t,e,r)=>{t.forEach((n,i)=>{let a=bg(i),o=r.append("g").attr("id",a),l="element-"+a,u=oce(o,l),h=[],f=lce(o,l+"_title",["<>",`${i}`]);h.push(f.titleNode);let d=cce(o,l+"_body",[`Type: ${n.type||"Not Specified"}`,`Doc Ref: ${n.docRef||"None"}`],f.y);h.push(d);let p=u.node().getBBox();e.setNode(a,{width:p.width,height:p.height,shape:"rect",id:a})})},"drawElements"),SBe=s((t,e)=>(t.forEach(function(r){let n=bg(r.src),i=bg(r.dst);e.setEdge(n,i,{relationship:r})}),t),"addRelationships"),_Be=s(function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&(t.select("#"+r),t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )"))})},"adjustEntities"),bg=s(t=>t.replace(/\s/g,"").replace(/\./g,"_"),"elementString"),ABe=s((t,e,r,n)=>{Qn=le().requirement;let i=Qn.securityLevel,a;i==="sandbox"&&(a=Me("#i"+e));let l=(i==="sandbox"?Me(a.nodes()[0].contentDocument.body):Me("body")).select(`[id='${e}']`);xN.insertLineEndings(l,Qn);let u=new ir({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Qn.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}}),h=n.db.getRequirements(),f=n.db.getElements(),d=n.db.getRelationships();EBe(h,u,l),CBe(f,u,l),SBe(d,u),eo(u),_Be(l,u),d.forEach(function(v){TBe(l,v,u,e,n)});let p=Qn.rect_padding,m=l.node().getBBox(),g=m.width+p*2,y=m.height+p*2;xr(l,y,g,Qn.useMaxWidth),l.attr("viewBox",`${m.x-p} ${m.y-p} ${g} ${y}`)},"draw"),uce={draw:ABe}});var fce={};ur(fce,{diagram:()=>LBe});var LBe,dce=_(()=>{"use strict";ece();rce();ice();hce();LBe={parser:Jle,db:tce,renderer:uce,styles:nce}});var bN,gce,yce=_(()=>{"use strict";bN=function(){var t=s(function(H,Q,K,re){for(K=K||{},re=H.length;re--;K[H[re]]=Q);return K},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],o=[1,11],l=[1,13],u=[1,14],h=[1,16],f=[1,17],d=[1,18],p=[1,24],m=[1,25],g=[1,26],y=[1,27],v=[1,28],x=[1,29],b=[1,30],k=[1,31],A=[1,32],w=[1,33],T=[1,34],C=[1,35],E=[1,36],S=[1,37],R=[1,38],D=[1,39],L=[1,41],P=[1,42],M=[1,43],F=[1,44],I=[1,45],O=[1,46],z=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],N=[4,5,16,50,52,53],U=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],W=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],ee=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],te=[68,69,70],ce=[1,122],Z={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:s(function(Q,K,re,ie,ye,j,De){var oe=j.length-1;switch(ye){case 3:return ie.apply(j[oe]),j[oe];break;case 4:case 9:this.$=[];break;case 5:case 10:j[oe-1].push(j[oe]),this.$=j[oe-1];break;case 6:case 7:case 11:case 12:this.$=j[oe];break;case 8:case 13:this.$=[];break;case 15:j[oe].type="createParticipant",this.$=j[oe];break;case 16:j[oe-1].unshift({type:"boxStart",boxData:ie.parseBoxData(j[oe-2])}),j[oe-1].push({type:"boxEnd",boxText:j[oe-2]}),this.$=j[oe-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(j[oe-2]),sequenceIndexStep:Number(j[oe-1]),sequenceVisible:!0,signalType:ie.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(j[oe-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:ie.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:ie.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:ie.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:ie.LINETYPE.ACTIVE_START,actor:j[oe-1].actor};break;case 23:this.$={type:"activeEnd",signalType:ie.LINETYPE.ACTIVE_END,actor:j[oe-1].actor};break;case 29:ie.setDiagramTitle(j[oe].substring(6)),this.$=j[oe].substring(6);break;case 30:ie.setDiagramTitle(j[oe].substring(7)),this.$=j[oe].substring(7);break;case 31:this.$=j[oe].trim(),ie.setAccTitle(this.$);break;case 32:case 33:this.$=j[oe].trim(),ie.setAccDescription(this.$);break;case 34:j[oe-1].unshift({type:"loopStart",loopText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.LOOP_START}),j[oe-1].push({type:"loopEnd",loopText:j[oe-2],signalType:ie.LINETYPE.LOOP_END}),this.$=j[oe-1];break;case 35:j[oe-1].unshift({type:"rectStart",color:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.RECT_START}),j[oe-1].push({type:"rectEnd",color:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.RECT_END}),this.$=j[oe-1];break;case 36:j[oe-1].unshift({type:"optStart",optText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.OPT_START}),j[oe-1].push({type:"optEnd",optText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.OPT_END}),this.$=j[oe-1];break;case 37:j[oe-1].unshift({type:"altStart",altText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.ALT_START}),j[oe-1].push({type:"altEnd",signalType:ie.LINETYPE.ALT_END}),this.$=j[oe-1];break;case 38:j[oe-1].unshift({type:"parStart",parText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.PAR_START}),j[oe-1].push({type:"parEnd",signalType:ie.LINETYPE.PAR_END}),this.$=j[oe-1];break;case 39:j[oe-1].unshift({type:"parStart",parText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.PAR_OVER_START}),j[oe-1].push({type:"parEnd",signalType:ie.LINETYPE.PAR_END}),this.$=j[oe-1];break;case 40:j[oe-1].unshift({type:"criticalStart",criticalText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.CRITICAL_START}),j[oe-1].push({type:"criticalEnd",signalType:ie.LINETYPE.CRITICAL_END}),this.$=j[oe-1];break;case 41:j[oe-1].unshift({type:"breakStart",breakText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.BREAK_START}),j[oe-1].push({type:"breakEnd",optText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.BREAK_END}),this.$=j[oe-1];break;case 43:this.$=j[oe-3].concat([{type:"option",optionText:ie.parseMessage(j[oe-1]),signalType:ie.LINETYPE.CRITICAL_OPTION},j[oe]]);break;case 45:this.$=j[oe-3].concat([{type:"and",parText:ie.parseMessage(j[oe-1]),signalType:ie.LINETYPE.PAR_AND},j[oe]]);break;case 47:this.$=j[oe-3].concat([{type:"else",altText:ie.parseMessage(j[oe-1]),signalType:ie.LINETYPE.ALT_ELSE},j[oe]]);break;case 48:j[oe-3].draw="participant",j[oe-3].type="addParticipant",j[oe-3].description=ie.parseMessage(j[oe-1]),this.$=j[oe-3];break;case 49:j[oe-1].draw="participant",j[oe-1].type="addParticipant",this.$=j[oe-1];break;case 50:j[oe-3].draw="actor",j[oe-3].type="addParticipant",j[oe-3].description=ie.parseMessage(j[oe-1]),this.$=j[oe-3];break;case 51:j[oe-1].draw="actor",j[oe-1].type="addParticipant",this.$=j[oe-1];break;case 52:j[oe-1].type="destroyParticipant",this.$=j[oe-1];break;case 53:this.$=[j[oe-1],{type:"addNote",placement:j[oe-2],actor:j[oe-1].actor,text:j[oe]}];break;case 54:j[oe-2]=[].concat(j[oe-1],j[oe-1]).slice(0,2),j[oe-2][0]=j[oe-2][0].actor,j[oe-2][1]=j[oe-2][1].actor,this.$=[j[oe-1],{type:"addNote",placement:ie.PLACEMENT.OVER,actor:j[oe-2].slice(0,2),text:j[oe]}];break;case 55:this.$=[j[oe-1],{type:"addLinks",actor:j[oe-1].actor,text:j[oe]}];break;case 56:this.$=[j[oe-1],{type:"addALink",actor:j[oe-1].actor,text:j[oe]}];break;case 57:this.$=[j[oe-1],{type:"addProperties",actor:j[oe-1].actor,text:j[oe]}];break;case 58:this.$=[j[oe-1],{type:"addDetails",actor:j[oe-1].actor,text:j[oe]}];break;case 61:this.$=[j[oe-2],j[oe]];break;case 62:this.$=j[oe];break;case 63:this.$=ie.PLACEMENT.LEFTOF;break;case 64:this.$=ie.PLACEMENT.RIGHTOF;break;case 65:this.$=[j[oe-4],j[oe-1],{type:"addMessage",from:j[oe-4].actor,to:j[oe-1].actor,signalType:j[oe-3],msg:j[oe],activate:!0},{type:"activeStart",signalType:ie.LINETYPE.ACTIVE_START,actor:j[oe-1].actor}];break;case 66:this.$=[j[oe-4],j[oe-1],{type:"addMessage",from:j[oe-4].actor,to:j[oe-1].actor,signalType:j[oe-3],msg:j[oe]},{type:"activeEnd",signalType:ie.LINETYPE.ACTIVE_END,actor:j[oe-4].actor}];break;case 67:this.$=[j[oe-3],j[oe-1],{type:"addMessage",from:j[oe-3].actor,to:j[oe-1].actor,signalType:j[oe-2],msg:j[oe]}];break;case 68:this.$={type:"addParticipant",actor:j[oe]};break;case 69:this.$=ie.LINETYPE.SOLID_OPEN;break;case 70:this.$=ie.LINETYPE.DOTTED_OPEN;break;case 71:this.$=ie.LINETYPE.SOLID;break;case 72:this.$=ie.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=ie.LINETYPE.DOTTED;break;case 74:this.$=ie.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=ie.LINETYPE.SOLID_CROSS;break;case 76:this.$=ie.LINETYPE.DOTTED_CROSS;break;case 77:this.$=ie.LINETYPE.SOLID_POINT;break;case 78:this.$=ie.LINETYPE.DOTTED_POINT;break;case 79:this.$=ie.parseMessage(j[oe].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},t(z,[2,5]),{9:47,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},t(z,[2,7]),t(z,[2,8]),t(z,[2,14]),{12:48,50:S,52:R,53:D},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:O},{22:55,70:O},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(z,[2,29]),t(z,[2,30]),{32:[1,61]},{34:[1,62]},t(z,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:O},{22:72,70:O},{22:73,70:O},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:O},{22:90,70:O},{22:91,70:O},{22:92,70:O},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(z,[2,6]),t(z,[2,15]),t(N,[2,9],{10:93}),t(z,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(z,[2,21]),{5:[1,97]},{5:[1,98]},t(z,[2,24]),t(z,[2,25]),t(z,[2,26]),t(z,[2,27]),t(z,[2,28]),t(z,[2,31]),t(z,[2,32]),t(U,i,{7:99}),t(U,i,{7:100}),t(U,i,{7:101}),t($,i,{40:102,7:103}),t(W,i,{42:104,7:105}),t(W,i,{7:105,42:106}),t(ee,i,{45:107,7:108}),t(U,i,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:O},t(te,[2,69]),t(te,[2,70]),t(te,[2,71]),t(te,[2,72]),t(te,[2,73]),t(te,[2,74]),t(te,[2,75]),t(te,[2,76]),t(te,[2,77]),t(te,[2,78]),{22:118,70:O},{22:120,58:119,70:O},{70:[2,63]},{70:[2,64]},{56:121,81:ce},{56:123,81:ce},{56:124,81:ce},{56:125,81:ce},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:S,52:R,53:D},{5:[1,131]},t(z,[2,19]),t(z,[2,20]),t(z,[2,22]),t(z,[2,23]),{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[1,132],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[1,133],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[1,134],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{16:[1,135]},{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[2,46],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,49:[1,136],50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{16:[1,137]},{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[2,44],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,48:[1,138],50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{16:[1,139]},{16:[1,140]},{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[2,42],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,47:[1,141],50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[1,142],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{15:[1,143]},t(z,[2,49]),{15:[1,144]},t(z,[2,51]),t(z,[2,52]),{22:145,70:O},{22:146,70:O},{56:147,81:ce},{56:148,81:ce},{56:149,81:ce},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(z,[2,16]),t(N,[2,10]),{12:151,50:S,52:R,53:D},t(N,[2,12]),t(N,[2,13]),t(z,[2,18]),t(z,[2,34]),t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),{15:[1,152]},t(z,[2,38]),{15:[1,153]},t(z,[2,39]),t(z,[2,40]),{15:[1,154]},t(z,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:ce},{56:158,81:ce},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:O},t(N,[2,11]),t($,i,{7:103,40:160}),t(W,i,{7:105,42:161}),t(ee,i,{7:108,45:162}),t(z,[2,48]),t(z,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:s(function(Q,K){if(K.recoverable)this.trace(Q);else{var re=new Error(Q);throw re.hash=K,re}},"parseError"),parse:s(function(Q){var K=this,re=[0],ie=[],ye=[null],j=[],De=this.table,oe="",Re=0,Pe=0,Se=0,Ue=2,Oe=1,_e=j.slice.call(arguments,1),he=Object.create(this.lexer),q={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(q.yy[se]=this.yy[se]);he.setInput(Q,q.yy),q.yy.lexer=he,q.yy.parser=this,typeof he.yylloc>"u"&&(he.yylloc={});var ue=he.yylloc;j.push(ue);var X=he.options&&he.options.ranges;typeof q.yy.parseError=="function"?this.parseError=q.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ae(Ut){re.length=re.length-2*Ut,ye.length=ye.length-Ut,j.length=j.length-Ut}s(ae,"popStack");function pe(){var Ut;return Ut=ie.pop()||he.lex()||Oe,typeof Ut!="number"&&(Ut instanceof Array&&(ie=Ut,Ut=ie.pop()),Ut=K.symbols_[Ut]||Ut),Ut}s(pe,"lex");for(var de,Ie,Ne,Be,ze,qe,Fe={},we,Je,We,or;;){if(Ne=re[re.length-1],this.defaultActions[Ne]?Be=this.defaultActions[Ne]:((de===null||typeof de>"u")&&(de=pe()),Be=De[Ne]&&De[Ne][de]),typeof Be>"u"||!Be.length||!Be[0]){var Cr="";or=[];for(we in De[Ne])this.terminals_[we]&&we>Ue&&or.push("'"+this.terminals_[we]+"'");he.showPosition?Cr="Parse error on line "+(Re+1)+`: +`+he.showPosition()+` +Expecting `+or.join(", ")+", got '"+(this.terminals_[de]||de)+"'":Cr="Parse error on line "+(Re+1)+": Unexpected "+(de==Oe?"end of input":"'"+(this.terminals_[de]||de)+"'"),this.parseError(Cr,{text:he.match,token:this.terminals_[de]||de,line:he.yylineno,loc:ue,expected:or})}if(Be[0]instanceof Array&&Be.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ne+", token: "+de);switch(Be[0]){case 1:re.push(de),ye.push(he.yytext),j.push(he.yylloc),re.push(Be[1]),de=null,Ie?(de=Ie,Ie=null):(Pe=he.yyleng,oe=he.yytext,Re=he.yylineno,ue=he.yylloc,Se>0&&Se--);break;case 2:if(Je=this.productions_[Be[1]][1],Fe.$=ye[ye.length-Je],Fe._$={first_line:j[j.length-(Je||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(Je||1)].first_column,last_column:j[j.length-1].last_column},X&&(Fe._$.range=[j[j.length-(Je||1)].range[0],j[j.length-1].range[1]]),qe=this.performAction.apply(Fe,[oe,Pe,Re,q.yy,Be[1],ye,j].concat(_e)),typeof qe<"u")return qe;Je&&(re=re.slice(0,-1*Je*2),ye=ye.slice(0,-1*Je),j=j.slice(0,-1*Je)),re.push(this.productions_[Be[1]][0]),ye.push(Fe.$),j.push(Fe._$),We=De[re[re.length-2]][re[re.length-1]],re.push(We);break;case 3:return!0}}return!0},"parse")},fe=function(){var H={EOF:1,parseError:s(function(K,re){if(this.yy.parser)this.yy.parser.parseError(K,re);else throw new Error(K)},"parseError"),setInput:s(function(Q,K){return this.yy=K||this.yy||{},this._input=Q,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var Q=this._input[0];this.yytext+=Q,this.yyleng++,this.offset++,this.match+=Q,this.matched+=Q;var K=Q.match(/(?:\r\n?|\n).*/g);return K?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Q},"input"),unput:s(function(Q){var K=Q.length,re=Q.split(/(?:\r\n?|\n)/g);this._input=Q+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-K),this.offset-=K;var ie=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),re.length-1&&(this.yylineno-=re.length-1);var ye=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:re?(re.length===ie.length?this.yylloc.first_column:0)+ie[ie.length-re.length].length-re[0].length:this.yylloc.first_column-K},this.options.ranges&&(this.yylloc.range=[ye[0],ye[0]+this.yyleng-K]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(Q){this.unput(this.match.slice(Q))},"less"),pastInput:s(function(){var Q=this.matched.substr(0,this.matched.length-this.match.length);return(Q.length>20?"...":"")+Q.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var Q=this.match;return Q.length<20&&(Q+=this._input.substr(0,20-Q.length)),(Q.substr(0,20)+(Q.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var Q=this.pastInput(),K=new Array(Q.length+1).join("-");return Q+this.upcomingInput()+` +`+K+"^"},"showPosition"),test_match:s(function(Q,K){var re,ie,ye;if(this.options.backtrack_lexer&&(ye={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ye.yylloc.range=this.yylloc.range.slice(0))),ie=Q[0].match(/(?:\r\n?|\n).*/g),ie&&(this.yylineno+=ie.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ie?ie[ie.length-1].length-ie[ie.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Q[0].length},this.yytext+=Q[0],this.match+=Q[0],this.matches=Q,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Q[0].length),this.matched+=Q[0],re=this.performAction.call(this,this.yy,this,K,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),re)return re;if(this._backtrack){for(var j in ye)this[j]=ye[j];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Q,K,re,ie;this._more||(this.yytext="",this.match="");for(var ye=this._currentRules(),j=0;jK[0].length)){if(K=re,ie=j,this.options.backtrack_lexer){if(Q=this.test_match(re,ye[j]),Q!==!1)return Q;if(this._backtrack){K=!1;continue}else return!1}else if(!this.options.flex)break}return K?(Q=this.test_match(K,ye[ie]),Q!==!1?Q:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var K=this.next();return K||this.lex()},"lex"),begin:s(function(K){this.conditionStack.push(K)},"begin"),popState:s(function(){var K=this.conditionStack.length-1;return K>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(K){return K=this.conditionStack.length-1-Math.abs(K||0),K>=0?this.conditionStack[K]:"INITIAL"},"topState"),pushState:s(function(K){this.begin(K)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(K,re,ie,ye){var j=ye;switch(ie){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;break;case 8:return this.begin("ID"),50;break;case 9:return this.begin("ID"),52;break;case 10:return 13;case 11:return this.begin("ID"),53;break;case 12:return re.yytext=re.yytext.trim(),this.begin("ALIAS"),70;break;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;break;case 14:return this.popState(),this.popState(),5;break;case 15:return this.begin("LINE"),36;break;case 16:return this.begin("LINE"),37;break;case 17:return this.begin("LINE"),38;break;case 18:return this.begin("LINE"),39;break;case 19:return this.begin("LINE"),49;break;case 20:return this.begin("LINE"),41;break;case 21:return this.begin("LINE"),43;break;case 22:return this.begin("LINE"),48;break;case 23:return this.begin("LINE"),44;break;case 24:return this.begin("LINE"),47;break;case 25:return this.begin("LINE"),46;break;case 26:return this.popState(),15;break;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;break;case 37:return this.begin("ID"),23;break;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;break;case 41:return this.popState(),"acc_title_value";break;case 42:return this.begin("acc_descr"),33;break;case 43:return this.popState(),"acc_descr_value";break;case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return re.yytext=re.yytext.trim(),70;break;case 53:return 73;case 54:return 74;case 55:return 75;case 56:return 76;case 57:return 71;case 58:return 72;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 80;case 63:return 81;case 64:return 68;case 65:return 69;case 66:return 5;case 67:return"INVALID"}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}};return H}();Z.lexer=fe;function ne(){this.yy={}}return s(ne,"Parser"),ne.prototype=Z,Z.Parser=ne,new ne}();bN.parser=bN;gce=bN});function wN(t,e){if(t.links==null)t.links=e;else for(let r in e)t.links[r]=e[r]}function wce(t,e){if(t.properties==null)t.properties=e;else for(let r in e)t.properties[r]=e[r]}function eFe(){wt.records.currentBox=void 0}var wt,IBe,kN,NBe,OBe,oi,PBe,BBe,FBe,zBe,$Be,GBe,VBe,tx,UBe,qBe,WBe,HBe,YBe,vce,g0,XBe,jBe,KBe,ex,QBe,ZBe,xce,bce,JBe,kce,Tce,tFe,Ece,TN,Cce=_(()=>{"use strict";gt();it();RI();Qt();Ci();wt=new pg(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),IBe=s(function(t){wt.records.boxes.push({name:t.text,wrap:t.wrap??g0(),fill:t.color,actorKeys:[]}),wt.records.currentBox=wt.records.boxes.slice(-1)[0]},"addBox"),kN=s(function(t,e,r,n){let i=wt.records.currentBox,a=wt.records.actors.get(t);if(a){if(wt.records.currentBox&&a.box&&wt.records.currentBox!==a.box)throw new Error(`A same participant should only be defined in one Box: ${a.name} can't be in '${a.box.name}' and in '${wt.records.currentBox.name}' at the same time.`);if(i=a.box?a.box:wt.records.currentBox,a.box=i,a&&e===a.name&&r==null)return}if(r?.text==null&&(r={text:e,type:n}),(n==null||r.text==null)&&(r={text:e,type:n}),wt.records.actors.set(t,{box:i,name:e,description:r.text,wrap:r.wrap??g0(),prevActor:wt.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:n??"participant"}),wt.records.prevActor){let o=wt.records.actors.get(wt.records.prevActor);o&&(o.nextActor=t)}wt.records.currentBox&&wt.records.currentBox.actorKeys.push(t),wt.records.prevActor=t},"addActor"),NBe=s(t=>{let e,r=0;if(!t)return 0;for(e=0;e>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},o}return wt.records.messages.push({from:t,to:e,message:r?.text??"",wrap:r?.wrap??g0(),type:n,activate:i}),!0},"addSignal"),PBe=s(function(){return wt.records.boxes.length>0},"hasAtLeastOneBox"),BBe=s(function(){return wt.records.boxes.some(t=>t.name)},"hasAtLeastOneBoxWithTitle"),FBe=s(function(){return wt.records.messages},"getMessages"),zBe=s(function(){return wt.records.boxes},"getBoxes"),$Be=s(function(){return wt.records.actors},"getActors"),GBe=s(function(){return wt.records.createdActors},"getCreatedActors"),VBe=s(function(){return wt.records.destroyedActors},"getDestroyedActors"),tx=s(function(t){return wt.records.actors.get(t)},"getActor"),UBe=s(function(){return[...wt.records.actors.keys()]},"getActorKeys"),qBe=s(function(){wt.records.sequenceNumbersEnabled=!0},"enableSequenceNumbers"),WBe=s(function(){wt.records.sequenceNumbersEnabled=!1},"disableSequenceNumbers"),HBe=s(()=>wt.records.sequenceNumbersEnabled,"showSequenceNumbers"),YBe=s(function(t){wt.records.wrapEnabled=t},"setWrap"),vce=s(t=>{if(t===void 0)return{};t=t.trim();let e=/^:?wrap:/.exec(t)!==null?!0:/^:?nowrap:/.exec(t)!==null?!1:void 0;return{cleanedText:(e===void 0?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:e}},"extractWrap"),g0=s(()=>wt.records.wrapEnabled!==void 0?wt.records.wrapEnabled:le().sequence?.wrap??!1,"autoWrap"),XBe=s(function(){wt.reset(),br()},"clear"),jBe=s(function(t){let e=t.trim(),{wrap:r,cleanedText:n}=vce(e),i={text:n,wrap:r};return V.debug(`parseMessage: ${JSON.stringify(i)}`),i},"parseMessage"),KBe=s(function(t){let e=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t),r=e?.[1]?e[1].trim():"transparent",n=e?.[2]?e[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",r)||(r="transparent",n=t.trim());else{let o=new Option().style;o.color=r,o.color!==r&&(r="transparent",n=t.trim())}let{wrap:i,cleanedText:a}=vce(n);return{text:a?$r(a,le()):void 0,color:r,wrap:i}},"parseBoxData"),ex={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34},QBe={FILLED:0,OPEN:1},ZBe={LEFTOF:0,RIGHTOF:1,OVER:2},xce=s(function(t,e,r){let n={actor:t,placement:e,message:r.text,wrap:r.wrap??g0()},i=[].concat(t,t);wt.records.notes.push(n),wt.records.messages.push({from:i[0],to:i[1],message:r.text,wrap:r.wrap??g0(),type:ex.NOTE,placement:e})},"addNote"),bce=s(function(t,e){let r=tx(t);try{let n=$r(e.text,le());n=n.replace(/&/g,"&"),n=n.replace(/=/g,"=");let i=JSON.parse(n);wN(r,i)}catch(n){V.error("error while parsing actor link text",n)}},"addLinks"),JBe=s(function(t,e){let r=tx(t);try{let n={},i=$r(e.text,le()),a=i.indexOf("@");i=i.replace(/&/g,"&"),i=i.replace(/=/g,"=");let o=i.slice(0,a-1).trim(),l=i.slice(a+1).trim();n[o]=l,wN(r,n)}catch(n){V.error("error while parsing actor link text",n)}},"addALink");s(wN,"insertLinks");kce=s(function(t,e){let r=tx(t);try{let n=$r(e.text,le()),i=JSON.parse(n);wce(r,i)}catch(n){V.error("error while parsing actor properties text",n)}},"addProperties");s(wce,"insertProperties");s(eFe,"boxEnd");Tce=s(function(t,e){let r=tx(t),n=document.getElementById(e.text);try{let i=n.innerHTML,a=JSON.parse(i);a.properties&&wce(r,a.properties),a.links&&wN(r,a.links)}catch(i){V.error("error while parsing actor details text",i)}},"addDetails"),tFe=s(function(t,e){if(t?.properties!==void 0)return t.properties[e]},"getActorProperty"),Ece=s(function(t){if(Array.isArray(t))t.forEach(function(e){Ece(e)});else switch(t.type){case"sequenceIndex":wt.records.messages.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":kN(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(wt.records.actors.has(t.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");wt.records.lastCreated=t.actor,kN(t.actor,t.actor,t.description,t.draw),wt.records.createdActors.set(t.actor,wt.records.messages.length);break;case"destroyParticipant":wt.records.lastDestroyed=t.actor,wt.records.destroyedActors.set(t.actor,wt.records.messages.length);break;case"activeStart":oi(t.actor,void 0,void 0,t.signalType);break;case"activeEnd":oi(t.actor,void 0,void 0,t.signalType);break;case"addNote":xce(t.actor,t.placement,t.text);break;case"addLinks":bce(t.actor,t.text);break;case"addALink":JBe(t.actor,t.text);break;case"addProperties":kce(t.actor,t.text);break;case"addDetails":Tce(t.actor,t.text);break;case"addMessage":if(wt.records.lastCreated){if(t.to!==wt.records.lastCreated)throw new Error("The created participant "+wt.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");wt.records.lastCreated=void 0}else if(wt.records.lastDestroyed){if(t.to!==wt.records.lastDestroyed&&t.from!==wt.records.lastDestroyed)throw new Error("The destroyed participant "+wt.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");wt.records.lastDestroyed=void 0}oi(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":IBe(t.boxData);break;case"boxEnd":eFe();break;case"loopStart":oi(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":oi(void 0,void 0,void 0,t.signalType);break;case"rectStart":oi(void 0,void 0,t.color,t.signalType);break;case"rectEnd":oi(void 0,void 0,void 0,t.signalType);break;case"optStart":oi(void 0,void 0,t.optText,t.signalType);break;case"optEnd":oi(void 0,void 0,void 0,t.signalType);break;case"altStart":oi(void 0,void 0,t.altText,t.signalType);break;case"else":oi(void 0,void 0,t.altText,t.signalType);break;case"altEnd":oi(void 0,void 0,void 0,t.signalType);break;case"setAccTitle":Ar(t.text);break;case"parStart":oi(void 0,void 0,t.parText,t.signalType);break;case"and":oi(void 0,void 0,t.parText,t.signalType);break;case"parEnd":oi(void 0,void 0,void 0,t.signalType);break;case"criticalStart":oi(void 0,void 0,t.criticalText,t.signalType);break;case"option":oi(void 0,void 0,t.optionText,t.signalType);break;case"criticalEnd":oi(void 0,void 0,void 0,t.signalType);break;case"breakStart":oi(void 0,void 0,t.breakText,t.signalType);break;case"breakEnd":oi(void 0,void 0,void 0,t.signalType);break}},"apply"),TN={addActor:kN,addMessage:OBe,addSignal:oi,addLinks:bce,addDetails:Tce,addProperties:kce,autoWrap:g0,setWrap:YBe,enableSequenceNumbers:qBe,disableSequenceNumbers:WBe,showSequenceNumbers:HBe,getMessages:FBe,getActors:$Be,getCreatedActors:GBe,getDestroyedActors:VBe,getActor:tx,getActorKeys:UBe,getActorProperty:tFe,getAccTitle:Gr,getBoxes:zBe,getDiagramTitle:Qr,setDiagramTitle:an,getConfig:s(()=>le().sequence,"getConfig"),clear:XBe,parseMessage:jBe,parseBoxData:KBe,LINETYPE:ex,ARROWTYPE:QBe,PLACEMENT:ZBe,addNote:xce,setAccTitle:Ar,apply:Ece,setAccDescription:Vr,getAccDescription:Ur,hasAtLeastOneBox:PBe,hasAtLeastOneBoxWithTitle:BBe}});var rFe,Sce,_ce=_(()=>{"use strict";rFe=s(t=>`.actor { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + + text.actor > tspan { + fill: ${t.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${t.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${t.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${t.signalColor}; + } + + #arrowhead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .sequenceNumber { + fill: ${t.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${t.signalColor}; + } + + #crosshead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .messageText { + fill: ${t.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${t.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${t.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation1 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation2 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${t.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + .actor-man circle, line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + stroke-width: 2px; + } +`,"getStyles"),Sce=rFe});var EN,sf,Lce,Dce,nFe,Ace,CN,iFe,aFe,rx,y0,Rce,Ac,SN,sFe,oFe,lFe,cFe,uFe,hFe,fFe,Mce,dFe,pFe,mFe,gFe,yFe,vFe,xFe,Ice,bFe,_N,kFe,Zn,Nce=_(()=>{"use strict";Qt();Iy();pr();EN=ka(_p(),1);zs();sf=18*2,Lce="actor-top",Dce="actor-bottom",nFe="actor-box",Ace="actor-man",CN=s(function(t,e){return ad(t,e)},"drawRect"),iFe=s(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};let a=e.links,o=e.actorCnt,l=e.rectData;var u="none";i&&(u="block !important");let h=t.append("g");h.attr("id","actor"+o+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var f="";l.class!==void 0&&(f=" "+l.class);let d=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+f),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",d),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,EN.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),kFe(n)(v,g,l.x+10,l.height+m,d,20,{class:"actor"},n),m+=30}}return p.attr("height",m),{height:l.height+m,width:d}},"drawPopup"),aFe=s(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),rx=s(async function(t,e,r=null){let n=t.append("foreignObject"),i=await hh(e.text,_r()),o=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(o.height)).attr("width",Math.round(o.width)),e.class==="noteText"){let l=t.node().firstChild;l.setAttribute("height",o.height+2*e.textMargin);let u=l.getBBox();n.attr("x",Math.round(u.x+u.width/2-o.width/2)).attr("y",Math.round(u.y+u.height/2-o.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let f=l;l=u,u=f}n.attr("x",Math.round(l+Math.abs(l-u)/2-o.width/2)),e.class==="loopText"?n.attr("y",Math.round(h)):n.attr("y",Math.round(h-o.height))}return[n]},"drawKatex"),y0=s(function(t,e){let r=0,n=0,i=e.text.split($e.lineBreakRegex),[a,o]=nc(e.fontSize),l=[],u=0,h=s(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=s(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=s(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=s(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[f,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(u=f*a);let p=t.append("text");p.attr("x",e.x),p.attr("y",h()),e.anchor!==void 0&&p.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&p.style("font-family",e.fontFamily),o!==void 0&&p.style("font-size",o),e.fontWeight!==void 0&&p.style("font-weight",e.fontWeight),e.fill!==void 0&&p.attr("fill",e.fill),e.class!==void 0&&p.attr("class",e.class),e.dy!==void 0?p.attr("dy",e.dy):u!==0&&p.attr("dy",u);let m=d||sA;if(e.tspan){let g=p.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(m)}else p.text(m);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(p._groups||p)[0][0].getBBox().height,r=n),l.push(p)}return l},"drawText"),Rce=s(function(t,e){function r(i,a,o,l,u){return i+","+a+" "+(i+o)+","+a+" "+(i+o)+","+(a+l-u)+" "+(i+o-u*1.2)+","+(a+l)+" "+i+","+(a+l)}s(r,"genPoints");let n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,y0(t,e),n},"drawLabel"),Ac=-1,SN=s((t,e,r,n)=>{t.select&&r.forEach(i=>{let a=e.get(i),o=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?o.attr("y2",a.stopy+a.height/2):n.mirrorActors&&o.attr("y2",a.stopy)})},"fixLifeLineHeights"),sFe=s(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,o=i+5,l=t.append("g").lower();var u=l;n||(Ac++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",aFe(`actor${Ac}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Ac).attr("x1",a).attr("y1",o).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Ac,e.links!=null&&u.attr("id","root-"+Ac));let h=ol();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${Dce}`:f+=` ${Lce}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.rx=3,h.ry=3,h.name=e.name;let d=CN(u,h);if(e.rectData=h,e.properties?.icon){let m=e.properties.icon.trim();m.charAt(0)==="@"?eW(u,h.x+h.width-20,h.y+10,m.substr(1)):Jq(u,h.x+h.width-20,h.y+10,m)}_N(r,Ei(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${nFe}`},r);let p=e.height;if(d.node){let m=d.node().getBBox();e.height=m.height,p=m.height}return p},"drawActorTypeParticipant"),oFe=s(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,o=i+80,l=t.append("g").lower();n||(Ac++,l.append("line").attr("id","actor"+Ac).attr("x1",a).attr("y1",o).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Ac);let u=t.append("g"),h=Ace;n?h+=` ${Dce}`:h+=` ${Lce}`,u.attr("class",h),u.attr("name",e.name);let f=ol();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor",f.rx=3,f.ry=3,u.append("line").attr("id","actor-man-torso"+Ac).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),u.append("line").attr("id","actor-man-arms"+Ac).attr("x1",a-sf/2).attr("y1",i+33).attr("x2",a+sf/2).attr("y2",i+33),u.append("line").attr("x1",a-sf/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),u.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+sf/2-2).attr("y2",i+60);let d=u.append("circle");d.attr("cx",e.x+e.width/2),d.attr("cy",i+10),d.attr("r",15),d.attr("width",e.width),d.attr("height",e.height);let p=u.node().getBBox();return e.height=p.height,_N(r,Ei(e.description))(e.description,u,f.x,f.y+35,f.width,f.height,{class:`actor ${Ace}`},r),e.height},"drawActorTypeActor"),lFe=s(async function(t,e,r,n){switch(e.type){case"actor":return await oFe(t,e,r,n);case"participant":return await sFe(t,e,r,n)}},"drawActor"),cFe=s(function(t,e,r){let i=t.append("g");Mce(i,e),e.name&&_N(r)(e.name,i,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),uFe=s(function(t){return t.append("g")},"anchorElement"),hFe=s(function(t,e,r,n,i){let a=ol(),o=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=r-e.starty,CN(o,a)},"drawActivation"),fFe=s(async function(t,e,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:f}=n,d=t.append("g"),p=s(function(y,v,x,b){return d.append("line").attr("x1",y).attr("y1",v).attr("x2",x).attr("y2",b).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(y){p(e.startx,y.y,e.stopx,y.y).style("stroke-dasharray","3, 3")});let m=My();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=l||50,m.height=o||20,m.textMargin=a,m.class="labelText",Rce(d,m),m=Ice(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+i+a,m.anchor="middle",m.valign="middle",m.textMargin=a,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=!0;let g=Ei(m.text)?await rx(d,m,e):y0(d,m);if(e.sectionTitles!==void 0){for(let[y,v]of Object.entries(e.sectionTitles))if(v.message){m.text=v.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[y].y+i+a,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=e.wrap,Ei(m.text)?(e.starty=e.sections[y].y,await rx(d,m,e)):y0(d,m);let x=Math.round(g.map(b=>(b._groups||b)[0][0].getBBox().height).reduce((b,k)=>b+k));e.sections[y].height+=x-(i+a)}}return e.height=Math.round(e.stopy-e.starty),d},"drawLoop"),Mce=s(function(t,e){v3(t,e)},"drawBackgroundRect"),dFe=s(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),pFe=s(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),mFe=s(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),gFe=s(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),yFe=s(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),vFe=s(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),xFe=s(function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),Ice=s(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),bFe=s(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),_N=function(){function t(a,o,l,u,h,f,d){let p=o.append("text").attr("x",l+h/2).attr("y",u+f/2+5).style("text-anchor","middle").text(a);i(p,d)}s(t,"byText");function e(a,o,l,u,h,f,d,p){let{actorFontSize:m,actorFontFamily:g,actorFontWeight:y}=p,[v,x]=nc(m),b=a.split($e.lineBreakRegex);for(let k=0;k{let o=v0(Ee),l=a.actorKeys.reduce((f,d)=>f+=t.get(d).width+(t.get(d).margin||0),0);l-=2*Ee.boxTextMargin,a.wrap&&(a.name=dt.wrapLabel(a.name,l-2*Ee.wrapPadding,o));let u=dt.calculateTextDimensions(a.name,o);i=$e.getMax(u.height,i);let h=$e.getMax(l,u.width+2*Ee.wrapPadding);if(a.margin=Ee.boxTextMargin,la.textMaxHeight=i),$e.getMax(n,Ee.height)}var Ee,He,wFe,v0,kg,AN,EFe,CFe,LN,Pce,Bce,Uw,Oce,_Fe,LFe,RFe,MFe,IFe,Fce,zce=_(()=>{"use strict";Xt();Nce();it();Qt();Iy();gt();Y0();pr();Un();Ee={},He={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:s(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(t=>t.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:s(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:s(function(t){this.boxes.push(t)},"addBox"),addActor:s(function(t){this.actors.push(t)},"addActor"),addLoop:s(function(t){this.loops.push(t)},"addLoop"),addMessage:s(function(t){this.messages.push(t)},"addMessage"),addNote:s(function(t){this.notes.push(t)},"addNote"),lastActor:s(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:s(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:s(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:s(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:s(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,Bce(le())},"init"),updateVal:s(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:s(function(t,e,r,n){let i=this,a=0;function o(l){return s(function(h){a++;let f=i.sequenceItems.length-a+1;i.updateVal(h,"starty",e-f*Ee.boxMargin,Math.min),i.updateVal(h,"stopy",n+f*Ee.boxMargin,Math.max),i.updateVal(He.data,"startx",t-f*Ee.boxMargin,Math.min),i.updateVal(He.data,"stopx",r+f*Ee.boxMargin,Math.max),l!=="activation"&&(i.updateVal(h,"startx",t-f*Ee.boxMargin,Math.min),i.updateVal(h,"stopx",r+f*Ee.boxMargin,Math.max),i.updateVal(He.data,"starty",e-f*Ee.boxMargin,Math.min),i.updateVal(He.data,"stopy",n+f*Ee.boxMargin,Math.max))},"updateItemBounds")}s(o,"updateFn"),this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))},"updateBounds"),insert:s(function(t,e,r,n){let i=$e.getMin(t,r),a=$e.getMax(t,r),o=$e.getMin(e,n),l=$e.getMax(e,n);this.updateVal(He.data,"startx",i,Math.min),this.updateVal(He.data,"starty",o,Math.min),this.updateVal(He.data,"stopx",a,Math.max),this.updateVal(He.data,"stopy",l,Math.max),this.updateBounds(i,o,a,l)},"insert"),newActivation:s(function(t,e,r){let n=r.get(t.from),i=Uw(t.from).length||0,a=n.x+n.width/2+(i-1)*Ee.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Ee.activationWidth,stopy:void 0,actor:t.from,anchored:Zn.anchorElement(e)})},"newActivation"),endActivation:s(function(t){let e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:s(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:s(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:s(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:s(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:s(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:He.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:s(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:s(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:s(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=$e.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:s(function(){return this.verticalPos},"getVerticalPos"),getBounds:s(function(){return{bounds:this.data,models:this.models}},"getBounds")},wFe=s(async function(t,e){He.bumpVerticalPos(Ee.boxMargin),e.height=Ee.boxMargin,e.starty=He.getVerticalPos();let r=ol();r.x=e.startx,r.y=e.starty,r.width=e.width||Ee.width,r.class="note";let n=t.append("g"),i=Zn.drawRect(n,r),a=My();a.x=e.startx,a.y=e.starty,a.width=r.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=Ee.noteFontFamily,a.fontSize=Ee.noteFontSize,a.fontWeight=Ee.noteFontWeight,a.anchor=Ee.noteAlign,a.textMargin=Ee.noteMargin,a.valign="center";let o=Ei(a.text)?await rx(n,a):y0(n,a),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));i.attr("height",l+2*Ee.noteMargin),e.height+=l+2*Ee.noteMargin,He.bumpVerticalPos(l+2*Ee.noteMargin),e.stopy=e.starty+l+2*Ee.noteMargin,e.stopx=e.startx+r.width,He.insert(e.startx,e.starty,e.stopx,e.stopy),He.models.addNote(e)},"drawNote"),v0=s(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),kg=s(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),AN=s(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");s(TFe,"boundMessage");EFe=s(async function(t,e,r,n){let{startx:i,stopx:a,starty:o,message:l,type:u,sequenceIndex:h,sequenceVisible:f}=e,d=dt.calculateTextDimensions(l,v0(Ee)),p=My();p.x=i,p.y=o+10,p.width=a-i,p.class="messageText",p.dy="1em",p.text=l,p.fontFamily=Ee.messageFontFamily,p.fontSize=Ee.messageFontSize,p.fontWeight=Ee.messageFontWeight,p.anchor=Ee.messageAlign,p.valign="center",p.textMargin=Ee.wrapPadding,p.tspan=!1,Ei(p.text)?await rx(t,p,{startx:i,stopx:a,starty:r}):y0(t,p);let m=d.width,g;i===a?Ee.rightAngles?g=t.append("path").attr("d",`M ${i},${r} H ${i+$e.getMax(Ee.width/2,m/2)} V ${r+25} H ${i}`):g=t.append("path").attr("d","M "+i+","+r+" C "+(i+60)+","+(r-10)+" "+(i+60)+","+(r+30)+" "+i+","+(r+20)):(g=t.append("line"),g.attr("x1",i),g.attr("y1",r),g.attr("x2",a),g.attr("y2",r)),u===n.db.LINETYPE.DOTTED||u===n.db.LINETYPE.DOTTED_CROSS||u===n.db.LINETYPE.DOTTED_POINT||u===n.db.LINETYPE.DOTTED_OPEN||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED?(g.style("stroke-dasharray","3, 3"),g.attr("class","messageLine1")):g.attr("class","messageLine0");let y="";Ee.arrowMarkerAbsolute&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),g.attr("stroke-width",2),g.attr("stroke","none"),g.style("fill","none"),(u===n.db.LINETYPE.SOLID||u===n.db.LINETYPE.DOTTED)&&g.attr("marker-end","url("+y+"#arrowhead)"),(u===n.db.LINETYPE.BIDIRECTIONAL_SOLID||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(g.attr("marker-start","url("+y+"#arrowhead)"),g.attr("marker-end","url("+y+"#arrowhead)")),(u===n.db.LINETYPE.SOLID_POINT||u===n.db.LINETYPE.DOTTED_POINT)&&g.attr("marker-end","url("+y+"#filled-head)"),(u===n.db.LINETYPE.SOLID_CROSS||u===n.db.LINETYPE.DOTTED_CROSS)&&g.attr("marker-end","url("+y+"#crosshead)"),(f||Ee.showSequenceNumbers)&&(g.attr("marker-start","url("+y+"#sequencenumber)"),t.append("text").attr("x",i).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(h))},"drawMessage"),CFe=s(function(t,e,r,n,i,a,o){let l=0,u=0,h,f=0;for(let d of n){let p=e.get(d),m=p.box;h&&h!=m&&(o||He.models.addBox(h),u+=Ee.boxMargin+h.margin),m&&m!=h&&(o||(m.x=l+u,m.y=i),u+=m.margin),p.width=p.width||Ee.width,p.height=$e.getMax(p.height||Ee.height,Ee.height),p.margin=p.margin||Ee.actorMargin,f=$e.getMax(f,p.height),r.get(p.name)&&(u+=p.width/2),p.x=l+u,p.starty=He.getVerticalPos(),He.insert(p.x,i,p.x+p.width,p.height),l+=p.width+u,p.box&&(p.box.width=l+m.margin-p.box.x),u=p.margin,h=p.box,He.models.addActor(p)}h&&!o&&He.models.addBox(h),He.bumpVerticalPos(f)},"addActorRenderingData"),LN=s(async function(t,e,r,n){if(n){let i=0;He.bumpVerticalPos(Ee.boxMargin*2);for(let a of r){let o=e.get(a);o.stopy||(o.stopy=He.getVerticalPos());let l=await Zn.drawActor(t,o,Ee,!0);i=$e.getMax(i,l)}He.bumpVerticalPos(i+Ee.boxMargin)}else for(let i of r){let a=e.get(i);await Zn.drawActor(t,a,Ee,!1)}},"drawActors"),Pce=s(function(t,e,r,n){let i=0,a=0;for(let o of r){let l=e.get(o),u=LFe(l),h=Zn.drawPopup(t,l,u,Ee,Ee.forceMenus,n);h.height>i&&(i=h.height),h.width+l.x>a&&(a=h.width+l.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),Bce=s(function(t){An(Ee,t),t.fontFamily&&(Ee.actorFontFamily=Ee.noteFontFamily=Ee.messageFontFamily=t.fontFamily),t.fontSize&&(Ee.actorFontSize=Ee.noteFontSize=Ee.messageFontSize=t.fontSize),t.fontWeight&&(Ee.actorFontWeight=Ee.noteFontWeight=Ee.messageFontWeight=t.fontWeight)},"setConf"),Uw=s(function(t){return He.activations.filter(function(e){return e.actor===t})},"actorActivations"),Oce=s(function(t,e){let r=e.get(t),n=Uw(t),i=n.reduce(function(o,l){return $e.getMin(o,l.startx)},r.x+r.width/2-1),a=n.reduce(function(o,l){return $e.getMax(o,l.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");s(Lc,"adjustLoopHeightForWrap");s(SFe,"adjustCreatedDestroyedData");_Fe=s(async function(t,e,r,n){let{securityLevel:i,sequence:a}=le();Ee=a;let o;i==="sandbox"&&(o=Me("#i"+e));let l=i==="sandbox"?Me(o.nodes()[0].contentDocument.body):Me("body"),u=i==="sandbox"?o.nodes()[0].contentDocument:document;He.init(),V.debug(n.db);let h=i==="sandbox"?l.select(`[id="${e}"]`):Me(`[id="${e}"]`),f=n.db.getActors(),d=n.db.getCreatedActors(),p=n.db.getDestroyedActors(),m=n.db.getBoxes(),g=n.db.getActorKeys(),y=n.db.getMessages(),v=n.db.getDiagramTitle(),x=n.db.hasAtLeastOneBox(),b=n.db.hasAtLeastOneBoxWithTitle(),k=await AFe(f,y,n);if(Ee.height=await DFe(f,k,m),Zn.insertComputerIcon(h),Zn.insertDatabaseIcon(h),Zn.insertClockIcon(h),x&&(He.bumpVerticalPos(Ee.boxMargin),b&&He.bumpVerticalPos(m[0].textMaxHeight)),Ee.hideUnusedParticipants===!0){let z=new Set;y.forEach(N=>{z.add(N.from),z.add(N.to)}),g=g.filter(N=>z.has(N))}CFe(h,f,d,g,0,y,!1);let A=await IFe(y,f,k,n);Zn.insertArrowHead(h),Zn.insertArrowCrossHead(h),Zn.insertArrowFilledHead(h),Zn.insertSequenceNumber(h);function w(z,N){let U=He.endActivation(z);U.starty+18>N&&(U.starty=N-6,N+=12),Zn.drawActivation(h,U,N,Ee,Uw(z.from).length),He.insert(U.startx,N-10,U.stopx,N)}s(w,"activeEnd");let T=1,C=1,E=[],S=[],R=0;for(let z of y){let N,U,$;switch(z.type){case n.db.LINETYPE.NOTE:He.resetVerticalPos(),U=z.noteModel,await wFe(h,U);break;case n.db.LINETYPE.ACTIVE_START:He.newActivation(z,h,f);break;case n.db.LINETYPE.ACTIVE_END:w(z,He.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin+Ee.boxTextMargin,W=>He.newLoop(W));break;case n.db.LINETYPE.LOOP_END:N=He.endLoop(),await Zn.drawLoop(h,N,"loop",Ee),He.bumpVerticalPos(N.stopy-He.getVerticalPos()),He.models.addLoop(N);break;case n.db.LINETYPE.RECT_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin,W=>He.newLoop(void 0,W.message));break;case n.db.LINETYPE.RECT_END:N=He.endLoop(),S.push(N),He.models.addLoop(N),He.bumpVerticalPos(N.stopy-He.getVerticalPos());break;case n.db.LINETYPE.OPT_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin+Ee.boxTextMargin,W=>He.newLoop(W));break;case n.db.LINETYPE.OPT_END:N=He.endLoop(),await Zn.drawLoop(h,N,"opt",Ee),He.bumpVerticalPos(N.stopy-He.getVerticalPos()),He.models.addLoop(N);break;case n.db.LINETYPE.ALT_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin+Ee.boxTextMargin,W=>He.newLoop(W));break;case n.db.LINETYPE.ALT_ELSE:Lc(A,z,Ee.boxMargin+Ee.boxTextMargin,Ee.boxMargin,W=>He.addSectionToLoop(W));break;case n.db.LINETYPE.ALT_END:N=He.endLoop(),await Zn.drawLoop(h,N,"alt",Ee),He.bumpVerticalPos(N.stopy-He.getVerticalPos()),He.models.addLoop(N);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin+Ee.boxTextMargin,W=>He.newLoop(W)),He.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:Lc(A,z,Ee.boxMargin+Ee.boxTextMargin,Ee.boxMargin,W=>He.addSectionToLoop(W));break;case n.db.LINETYPE.PAR_END:N=He.endLoop(),await Zn.drawLoop(h,N,"par",Ee),He.bumpVerticalPos(N.stopy-He.getVerticalPos()),He.models.addLoop(N);break;case n.db.LINETYPE.AUTONUMBER:T=z.message.start||T,C=z.message.step||C,z.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin+Ee.boxTextMargin,W=>He.newLoop(W));break;case n.db.LINETYPE.CRITICAL_OPTION:Lc(A,z,Ee.boxMargin+Ee.boxTextMargin,Ee.boxMargin,W=>He.addSectionToLoop(W));break;case n.db.LINETYPE.CRITICAL_END:N=He.endLoop(),await Zn.drawLoop(h,N,"critical",Ee),He.bumpVerticalPos(N.stopy-He.getVerticalPos()),He.models.addLoop(N);break;case n.db.LINETYPE.BREAK_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin+Ee.boxTextMargin,W=>He.newLoop(W));break;case n.db.LINETYPE.BREAK_END:N=He.endLoop(),await Zn.drawLoop(h,N,"break",Ee),He.bumpVerticalPos(N.stopy-He.getVerticalPos()),He.models.addLoop(N);break;default:try{$=z.msgModel,$.starty=He.getVerticalPos(),$.sequenceIndex=T,$.sequenceVisible=n.db.showSequenceNumbers();let W=await TFe(h,$);SFe(z,$,W,R,f,d,p),E.push({messageModel:$,lineStartY:W}),He.models.addMessage($)}catch(W){V.error("error while drawing message",W)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(z.type)&&(T=T+C),R++}V.debug("createdActors",d),V.debug("destroyedActors",p),await LN(h,f,g,!1);for(let z of E)await EFe(h,z.messageModel,z.lineStartY,n);Ee.mirrorActors&&await LN(h,f,g,!0),S.forEach(z=>Zn.drawBackgroundRect(h,z)),SN(h,f,g,Ee);for(let z of He.models.boxes)z.height=He.getVerticalPos()-z.y,He.insert(z.x,z.y,z.x+z.width,z.height),z.startx=z.x,z.starty=z.y,z.stopx=z.startx+z.width,z.stopy=z.starty+z.height,z.stroke="rgb(0,0,0, 0.5)",Zn.drawBox(h,z,Ee);x&&He.bumpVerticalPos(Ee.boxMargin);let D=Pce(h,f,g,u),{bounds:L}=He.getBounds();L.startx===void 0&&(L.startx=0),L.starty===void 0&&(L.starty=0),L.stopx===void 0&&(L.stopx=0),L.stopy===void 0&&(L.stopy=0);let P=L.stopy-L.starty;P2,d=s(y=>l?-y:y,"adjustValue");t.from===t.to?h=u:(t.activate&&!f&&(h+=d(Ee.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(h+=d(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(u-=d(3)));let p=[n,i,a,o],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=dt.wrapLabel(t.message,$e.getMax(m+2*Ee.wrapPadding,Ee.width),v0(Ee)));let g=dt.calculateTextDimensions(t.message,v0(Ee));return{width:$e.getMax(t.wrap?0:g.width+2*Ee.wrapPadding,m+2*Ee.wrapPadding,Ee.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),IFe=s(async function(t,e,r,n){let i={},a=[],o,l,u;for(let h of t){switch(h.id=dt.random({length:10}),h.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:h.id,msg:h.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:h.message&&(o=a.pop(),i[o.id]=o,i[h.id]=o,a.push(o));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:o=a.pop(),i[o.id]=o;break;case n.db.LINETYPE.ACTIVE_START:{let d=e.get(h.from?h.from:h.to.actor),p=Uw(h.from?h.from:h.to.actor).length,m=d.x+d.width/2+(p-1)*Ee.activationWidth/2,g={startx:m,stopx:m+Ee.activationWidth,actor:h.from,enabled:!0};He.activations.push(g)}break;case n.db.LINETYPE.ACTIVE_END:{let d=He.activations.map(p=>p.actor).lastIndexOf(h.from);He.activations.splice(d,1).splice(0,1)}break}h.placement!==void 0?(l=await RFe(h,e,n),h.noteModel=l,a.forEach(d=>{o=d,o.from=$e.getMin(o.from,l.startx),o.to=$e.getMax(o.to,l.startx+l.width),o.width=$e.getMax(o.width,Math.abs(o.from-o.to))-Ee.labelBoxWidth})):(u=MFe(h,e,n),h.msgModel=u,u.startx&&u.stopx&&a.length>0&&a.forEach(d=>{if(o=d,u.startx===u.stopx){let p=e.get(h.from),m=e.get(h.to);o.from=$e.getMin(p.x-u.width/2,p.x-p.width/2,o.from),o.to=$e.getMax(m.x+u.width/2,m.x+p.width/2,o.to),o.width=$e.getMax(o.width,Math.abs(o.to-o.from))-Ee.labelBoxWidth}else o.from=$e.getMin(u.startx,o.from),o.to=$e.getMax(u.stopx,o.to),o.width=$e.getMax(o.width,u.width)-Ee.labelBoxWidth}))}return He.activations=[],V.debug("Loop type widths:",i),i},"calculateLoopBounds"),Fce={bounds:He,drawActors:LN,drawActorsPopup:Pce,setConf:Bce,draw:_Fe}});var $ce={};ur($ce,{diagram:()=>NFe});var NFe,Gce=_(()=>{"use strict";yce();Cce();_ce();zce();NFe={parser:gce,db:TN,renderer:Fce,styles:Sce,init:s(({wrap:t})=>{TN.setWrap(t)},"init")}});var DN,qw,RN=_(()=>{"use strict";DN=function(){var t=s(function(Oe,_e,he,q){for(he=he||{},q=Oe.length;q--;he[Oe[q]]=_e);return he},"o"),e=[1,17],r=[1,18],n=[1,19],i=[1,39],a=[1,40],o=[1,25],l=[1,23],u=[1,24],h=[1,31],f=[1,32],d=[1,33],p=[1,34],m=[1,35],g=[1,36],y=[1,26],v=[1,27],x=[1,28],b=[1,29],k=[1,43],A=[1,30],w=[1,42],T=[1,44],C=[1,41],E=[1,45],S=[1,9],R=[1,8,9],D=[1,56],L=[1,57],P=[1,58],M=[1,59],F=[1,60],I=[1,61],O=[1,62],z=[1,8,9,39],N=[1,74],U=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],$=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],W=[13,74,80,95,97,98],ee=[13,64,65,74,80,95,97,98],te=[13,59,60,61,62,63,74,80,95,97,98],ce=[1,93],Z=[1,110],fe=[1,108],ne=[1,102],H=[1,103],Q=[1,104],K=[1,105],re=[1,106],ie=[1,107],ye=[1,109],j=[1,8,9,37,39,42],De=[1,8,9,21],oe=[1,8,9,78],Re=[1,8,9,21,73,74,78,80,81,82,83,84,85],Pe={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:s(function(_e,he,q,se,ue,X,ae){var pe=X.length-1;switch(ue){case 8:this.$=X[pe-1];break;case 9:case 11:case 12:this.$=X[pe];break;case 10:case 13:this.$=X[pe-1]+X[pe];break;case 14:case 15:this.$=X[pe-1]+"~"+X[pe]+"~";break;case 16:se.addRelation(X[pe]);break;case 17:X[pe-1].title=se.cleanupLabel(X[pe]),se.addRelation(X[pe-1]);break;case 27:this.$=X[pe].trim(),se.setAccTitle(this.$);break;case 28:case 29:this.$=X[pe].trim(),se.setAccDescription(this.$);break;case 30:se.addClassesToNamespace(X[pe-3],X[pe-1]);break;case 31:se.addClassesToNamespace(X[pe-4],X[pe-1]);break;case 32:this.$=X[pe],se.addNamespace(X[pe]);break;case 33:this.$=[X[pe]];break;case 34:this.$=[X[pe-1]];break;case 35:X[pe].unshift(X[pe-2]),this.$=X[pe];break;case 37:se.setCssClass(X[pe-2],X[pe]);break;case 38:se.addMembers(X[pe-3],X[pe-1]);break;case 39:se.setCssClass(X[pe-5],X[pe-3]),se.addMembers(X[pe-5],X[pe-1]);break;case 40:this.$=X[pe],se.addClass(X[pe]);break;case 41:this.$=X[pe-1],se.addClass(X[pe-1]),se.setClassLabel(X[pe-1],X[pe]);break;case 42:se.addAnnotation(X[pe],X[pe-2]);break;case 43:this.$=[X[pe]];break;case 44:X[pe].push(X[pe-1]),this.$=X[pe];break;case 45:break;case 46:se.addMember(X[pe-1],se.cleanupLabel(X[pe]));break;case 47:break;case 48:break;case 49:this.$={id1:X[pe-2],id2:X[pe],relation:X[pe-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:X[pe-3],id2:X[pe],relation:X[pe-1],relationTitle1:X[pe-2],relationTitle2:"none"};break;case 51:this.$={id1:X[pe-3],id2:X[pe],relation:X[pe-2],relationTitle1:"none",relationTitle2:X[pe-1]};break;case 52:this.$={id1:X[pe-4],id2:X[pe],relation:X[pe-2],relationTitle1:X[pe-3],relationTitle2:X[pe-1]};break;case 53:se.addNote(X[pe],X[pe-1]);break;case 54:se.addNote(X[pe]);break;case 55:se.setDirection("TB");break;case 56:se.setDirection("BT");break;case 57:se.setDirection("RL");break;case 58:se.setDirection("LR");break;case 59:this.$={type1:X[pe-2],type2:X[pe],lineType:X[pe-1]};break;case 60:this.$={type1:"none",type2:X[pe],lineType:X[pe-1]};break;case 61:this.$={type1:X[pe-1],type2:"none",lineType:X[pe]};break;case 62:this.$={type1:"none",type2:"none",lineType:X[pe]};break;case 63:this.$=se.relationType.AGGREGATION;break;case 64:this.$=se.relationType.EXTENSION;break;case 65:this.$=se.relationType.COMPOSITION;break;case 66:this.$=se.relationType.DEPENDENCY;break;case 67:this.$=se.relationType.LOLLIPOP;break;case 68:this.$=se.lineType.LINE;break;case 69:this.$=se.lineType.DOTTED_LINE;break;case 70:case 76:this.$=X[pe-2],se.setClickEvent(X[pe-1],X[pe]);break;case 71:case 77:this.$=X[pe-3],se.setClickEvent(X[pe-2],X[pe-1]),se.setTooltip(X[pe-2],X[pe]);break;case 72:this.$=X[pe-2],se.setLink(X[pe-1],X[pe]);break;case 73:this.$=X[pe-3],se.setLink(X[pe-2],X[pe-1],X[pe]);break;case 74:this.$=X[pe-3],se.setLink(X[pe-2],X[pe-1]),se.setTooltip(X[pe-2],X[pe]);break;case 75:this.$=X[pe-4],se.setLink(X[pe-3],X[pe-2],X[pe]),se.setTooltip(X[pe-3],X[pe-1]);break;case 78:this.$=X[pe-3],se.setClickEvent(X[pe-2],X[pe-1],X[pe]);break;case 79:this.$=X[pe-4],se.setClickEvent(X[pe-3],X[pe-2],X[pe-1]),se.setTooltip(X[pe-3],X[pe]);break;case 80:this.$=X[pe-3],se.setLink(X[pe-2],X[pe]);break;case 81:this.$=X[pe-4],se.setLink(X[pe-3],X[pe-1],X[pe]);break;case 82:this.$=X[pe-4],se.setLink(X[pe-3],X[pe-1]),se.setTooltip(X[pe-3],X[pe]);break;case 83:this.$=X[pe-5],se.setLink(X[pe-4],X[pe-2],X[pe]),se.setTooltip(X[pe-4],X[pe-1]);break;case 84:this.$=X[pe-2],se.setCssStyle(X[pe-1],X[pe]);break;case 85:se.setCssClass(X[pe-1],X[pe]);break;case 86:this.$=[X[pe]];break;case 87:X[pe-2].push(X[pe]),this.$=X[pe-2];break;case 89:this.$=X[pe-1]+X[pe];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:r,35:n,36:21,40:i,41:22,44:a,45:o,47:l,48:u,50:h,52:f,53:d,54:p,55:m,56:g,66:y,67:v,69:x,73:b,74:k,76:A,80:w,95:T,97:C,98:E},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(S,[2,5],{8:[1,46]}),{8:[1,47]},t(R,[2,16],{21:[1,48]}),t(R,[2,18]),t(R,[2,19]),t(R,[2,20]),t(R,[2,21]),t(R,[2,22]),t(R,[2,23]),t(R,[2,24]),t(R,[2,25]),t(R,[2,26]),{32:[1,49]},{34:[1,50]},t(R,[2,29]),t(R,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:D,60:L,61:P,62:M,63:F,64:I,65:O}),{37:[1,63]},t(z,[2,36],{37:[1,65],42:[1,64]}),t(R,[2,47]),t(R,[2,48]),{16:66,74:k,80:w,95:T,97:C},{16:37,17:67,18:38,74:k,80:w,95:T,97:C,98:E},{16:37,17:68,18:38,74:k,80:w,95:T,97:C,98:E},{16:37,17:69,18:38,74:k,80:w,95:T,97:C,98:E},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:k,80:w,95:T,97:C,98:E},{13:N,51:73},t(R,[2,55]),t(R,[2,56]),t(R,[2,57]),t(R,[2,58]),t(U,[2,11],{16:37,18:38,17:75,19:[1,76],74:k,80:w,95:T,97:C,98:E}),t(U,[2,12],{19:[1,77]}),{15:78,16:79,74:k,80:w,95:T,97:C},{16:37,17:80,18:38,74:k,80:w,95:T,97:C,98:E},t($,[2,112]),t($,[2,113]),t($,[2,114]),t($,[2,115]),t([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),t(S,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:e,33:r,35:n,40:i,44:a,45:o,47:l,48:u,50:h,52:f,53:d,54:p,55:m,56:g,66:y,67:v,69:x,73:b,74:k,76:A,80:w,95:T,97:C,98:E}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:r,35:n,36:21,40:i,41:22,44:a,45:o,47:l,48:u,50:h,52:f,53:d,54:p,55:m,56:g,66:y,67:v,69:x,73:b,74:k,76:A,80:w,95:T,97:C,98:E},t(R,[2,17]),t(R,[2,27]),t(R,[2,28]),{13:[1,84],16:37,17:83,18:38,74:k,80:w,95:T,97:C,98:E},{49:85,57:54,58:55,59:D,60:L,61:P,62:M,63:F,64:I,65:O},t(R,[2,46]),{58:86,64:I,65:O},t(W,[2,62],{57:87,59:D,60:L,61:P,62:M,63:F}),t(ee,[2,63]),t(ee,[2,64]),t(ee,[2,65]),t(ee,[2,66]),t(ee,[2,67]),t(te,[2,68]),t(te,[2,69]),{8:[1,89],23:90,38:88,41:22,44:a},{16:91,74:k,80:w,95:T,97:C},{43:92,47:ce},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Z,73:fe,74:ne,75:99,77:100,79:101,80:H,81:Q,82:K,83:re,84:ie,85:ye},{74:[1,111]},{13:N,51:112},t(R,[2,54]),t(R,[2,117]),t(U,[2,13]),t(U,[2,14]),t(U,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:k,80:w,95:T,97:C},t(j,[2,40],{11:114,12:[1,115]}),t(S,[2,7]),{9:[1,116]},t(De,[2,49]),{16:37,17:117,18:38,74:k,80:w,95:T,97:C,98:E},{13:[1,119],16:37,17:118,18:38,74:k,80:w,95:T,97:C,98:E},t(W,[2,61],{57:120,59:D,60:L,61:P,62:M,63:F}),t(W,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:a},{8:[1,123],39:[2,33]},t(z,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:ce},{16:37,17:127,18:38,74:k,80:w,95:T,97:C,98:E},t(R,[2,70],{13:[1,128]}),t(R,[2,72],{13:[1,130],68:[1,129]}),t(R,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},t(R,[2,84],{78:[1,134]}),t(oe,[2,86],{79:135,21:Z,73:fe,74:ne,80:H,81:Q,82:K,83:re,84:ie,85:ye}),t(Re,[2,88]),t(Re,[2,90]),t(Re,[2,91]),t(Re,[2,92]),t(Re,[2,93]),t(Re,[2,94]),t(Re,[2,95]),t(Re,[2,96]),t(Re,[2,97]),t(Re,[2,98]),t(R,[2,85]),t(R,[2,53]),{37:[2,10]},t(j,[2,41]),{13:[1,136]},{1:[2,4]},t(De,[2,51]),t(De,[2,50]),{16:37,17:137,18:38,74:k,80:w,95:T,97:C,98:E},t(W,[2,59]),t(R,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:a},{43:140,47:ce},t(z,[2,38]),{39:[2,44]},t(R,[2,42]),t(R,[2,71]),t(R,[2,73]),t(R,[2,74],{68:[1,141]}),t(R,[2,77]),t(R,[2,78],{13:[1,142]}),t(R,[2,80],{13:[1,144],68:[1,143]}),{21:Z,73:fe,74:ne,77:145,79:101,80:H,81:Q,82:K,83:re,84:ie,85:ye},t(Re,[2,89]),{14:[1,146]},t(De,[2,52]),t(R,[2,31]),{39:[2,35]},{39:[1,147]},t(R,[2,75]),t(R,[2,79]),t(R,[2,81]),t(R,[2,82],{68:[1,148]}),t(oe,[2,87],{79:135,21:Z,73:fe,74:ne,80:H,81:Q,82:K,83:re,84:ie,85:ye}),t(j,[2,8]),t(z,[2,39]),t(R,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:s(function(_e,he){if(he.recoverable)this.trace(_e);else{var q=new Error(_e);throw q.hash=he,q}},"parseError"),parse:s(function(_e){var he=this,q=[0],se=[],ue=[null],X=[],ae=this.table,pe="",de=0,Ie=0,Ne=0,Be=2,ze=1,qe=X.slice.call(arguments,1),Fe=Object.create(this.lexer),we={yy:{}};for(var Je in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Je)&&(we.yy[Je]=this.yy[Je]);Fe.setInput(_e,we.yy),we.yy.lexer=Fe,we.yy.parser=this,typeof Fe.yylloc>"u"&&(Fe.yylloc={});var We=Fe.yylloc;X.push(We);var or=Fe.options&&Fe.options.ranges;typeof we.yy.parseError=="function"?this.parseError=we.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Cr(vt){q.length=q.length-2*vt,ue.length=ue.length-vt,X.length=X.length-vt}s(Cr,"popStack");function Ut(){var vt;return vt=se.pop()||Fe.lex()||ze,typeof vt!="number"&&(vt instanceof Array&&(se=vt,vt=se.pop()),vt=he.symbols_[vt]||vt),vt}s(Ut,"lex");for(var ar,ut,Rt,Qe,Dt,qt,yt={},Et,pt,Wt,ot;;){if(Rt=q[q.length-1],this.defaultActions[Rt]?Qe=this.defaultActions[Rt]:((ar===null||typeof ar>"u")&&(ar=Ut()),Qe=ae[Rt]&&ae[Rt][ar]),typeof Qe>"u"||!Qe.length||!Qe[0]){var fr="";ot=[];for(Et in ae[Rt])this.terminals_[Et]&&Et>Be&&ot.push("'"+this.terminals_[Et]+"'");Fe.showPosition?fr="Parse error on line "+(de+1)+`: +`+Fe.showPosition()+` +Expecting `+ot.join(", ")+", got '"+(this.terminals_[ar]||ar)+"'":fr="Parse error on line "+(de+1)+": Unexpected "+(ar==ze?"end of input":"'"+(this.terminals_[ar]||ar)+"'"),this.parseError(fr,{text:Fe.match,token:this.terminals_[ar]||ar,line:Fe.yylineno,loc:We,expected:ot})}if(Qe[0]instanceof Array&&Qe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Rt+", token: "+ar);switch(Qe[0]){case 1:q.push(ar),ue.push(Fe.yytext),X.push(Fe.yylloc),q.push(Qe[1]),ar=null,ut?(ar=ut,ut=null):(Ie=Fe.yyleng,pe=Fe.yytext,de=Fe.yylineno,We=Fe.yylloc,Ne>0&&Ne--);break;case 2:if(pt=this.productions_[Qe[1]][1],yt.$=ue[ue.length-pt],yt._$={first_line:X[X.length-(pt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(pt||1)].first_column,last_column:X[X.length-1].last_column},or&&(yt._$.range=[X[X.length-(pt||1)].range[0],X[X.length-1].range[1]]),qt=this.performAction.apply(yt,[pe,Ie,de,we.yy,Qe[1],ue,X].concat(qe)),typeof qt<"u")return qt;pt&&(q=q.slice(0,-1*pt*2),ue=ue.slice(0,-1*pt),X=X.slice(0,-1*pt)),q.push(this.productions_[Qe[1]][0]),ue.push(yt.$),X.push(yt._$),Wt=ae[q[q.length-2]][q[q.length-1]],q.push(Wt);break;case 3:return!0}}return!0},"parse")},Se=function(){var Oe={EOF:1,parseError:s(function(he,q){if(this.yy.parser)this.yy.parser.parseError(he,q);else throw new Error(he)},"parseError"),setInput:s(function(_e,he){return this.yy=he||this.yy||{},this._input=_e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var _e=this._input[0];this.yytext+=_e,this.yyleng++,this.offset++,this.match+=_e,this.matched+=_e;var he=_e.match(/(?:\r\n?|\n).*/g);return he?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_e},"input"),unput:s(function(_e){var he=_e.length,q=_e.split(/(?:\r\n?|\n)/g);this._input=_e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-he),this.offset-=he;var se=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),q.length-1&&(this.yylineno-=q.length-1);var ue=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:q?(q.length===se.length?this.yylloc.first_column:0)+se[se.length-q.length].length-q[0].length:this.yylloc.first_column-he},this.options.ranges&&(this.yylloc.range=[ue[0],ue[0]+this.yyleng-he]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(_e){this.unput(this.match.slice(_e))},"less"),pastInput:s(function(){var _e=this.matched.substr(0,this.matched.length-this.match.length);return(_e.length>20?"...":"")+_e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var _e=this.match;return _e.length<20&&(_e+=this._input.substr(0,20-_e.length)),(_e.substr(0,20)+(_e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var _e=this.pastInput(),he=new Array(_e.length+1).join("-");return _e+this.upcomingInput()+` +`+he+"^"},"showPosition"),test_match:s(function(_e,he){var q,se,ue;if(this.options.backtrack_lexer&&(ue={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ue.yylloc.range=this.yylloc.range.slice(0))),se=_e[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_e[0].length},this.yytext+=_e[0],this.match+=_e[0],this.matches=_e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_e[0].length),this.matched+=_e[0],q=this.performAction.call(this,this.yy,this,he,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),q)return q;if(this._backtrack){for(var X in ue)this[X]=ue[X];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _e,he,q,se;this._more||(this.yytext="",this.match="");for(var ue=this._currentRules(),X=0;Xhe[0].length)){if(he=q,se=X,this.options.backtrack_lexer){if(_e=this.test_match(q,ue[X]),_e!==!1)return _e;if(this._backtrack){he=!1;continue}else return!1}else if(!this.options.flex)break}return he?(_e=this.test_match(he,ue[se]),_e!==!1?_e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var he=this.next();return he||this.lex()},"lex"),begin:s(function(he){this.conditionStack.push(he)},"begin"),popState:s(function(){var he=this.conditionStack.length-1;return he>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(he){return he=this.conditionStack.length-1-Math.abs(he||0),he>=0?this.conditionStack[he]:"INITIAL"},"topState"),pushState:s(function(he){this.begin(he)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(he,q,se,ue){var X=ue;switch(se){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),33;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;break;case 29:return this.popState(),8;break;case 30:break;case 31:return this.begin("namespace-body"),37;break;case 32:return this.popState(),39;break;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;break;case 38:return this.popState(),8;break;case 39:break;case 40:return this.popState(),this.popState(),39;break;case 41:return this.begin("class-body"),37;break;case 42:return this.popState(),39;break;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};return Oe}();Pe.lexer=Se;function Ue(){this.yy={}}return s(Ue,"Parser"),Ue.prototype=Pe,Pe.Parser=Ue,new Ue}();DN.parser=DN;qw=DN});var qce,nx,Wce=_(()=>{"use strict";gt();Qt();qce=["#","+","~","-",""],nx=class{static{s(this,"ClassMember")}constructor(e,r){this.memberType=r,this.visibility="",this.classifier="";let n=$r(e,le());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+uh(this.id);this.memberType==="method"&&(e+=`(${uh(this.parameters.trim())})`,this.returnType&&(e+=" : "+uh(this.returnType))),e=e.trim();let r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){let i=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(i){let a=i[1]?i[1].trim():"";if(qce.includes(a)&&(this.visibility=a),this.id=i[2].trim(),this.parameters=i[3]?i[3].trim():"",r=i[4]?i[4].trim():"",this.returnType=i[5]?i[5].trim():"",r===""){let o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let n=e.length,i=e.substring(0,1),a=e.substring(n-1);qce.includes(i)&&(this.visibility=i),/[$*]/.exec(a)&&(r=a),this.id=e.substring(this.visibility===""?0:1,r===""?n:n-1)}this.classifier=r}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}});var Yw,IN,Mi,Ww,Hce,Gu,MN,ix,x0,b0,FFe,Hw,Yce,zFe,$Fe,GFe,VFe,UFe,qFe,WFe,Xce,HFe,YFe,XFe,NN,jFe,KFe,QFe,ZFe,JFe,eze,tze,rze,jce,ON,nze,ize,aze,sze,oze,lze,cze,wg,PN=_(()=>{"use strict";Xt();it();gt();Qt();pr();Ci();Wce();Yw="classId-",IN=[],Mi=new Map,Ww=[],Hce=0,Gu=new Map,MN=0,ix=[],x0=s(t=>$e.sanitizeText(t,le()),"sanitizeText"),b0=s(function(t){let e=$e.sanitizeText(t,le()),r="",n=e;if(e.indexOf("~")>0){let i=e.split("~");n=x0(i[0]),r=x0(i[1])}return{className:n,type:r}},"splitClassNameAndType"),FFe=s(function(t,e){let r=$e.sanitizeText(t,le());e&&(e=x0(e));let{className:n}=b0(r);Mi.get(n).label=e},"setClassLabel"),Hw=s(function(t){let e=$e.sanitizeText(t,le()),{className:r,type:n}=b0(e);if(Mi.has(r))return;let i=$e.sanitizeText(r,le());Mi.set(i,{id:i,type:n,label:i,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:Yw+i+"-"+Hce}),Hce++},"addClass"),Yce=s(function(t){let e=$e.sanitizeText(t,le());if(Mi.has(e))return Mi.get(e).domId;throw new Error("Class not found: "+e)},"lookUpDomId"),zFe=s(function(){IN=[],Mi=new Map,Ww=[],ix=[],ix.push(jce),Gu=new Map,MN=0,ON="TB",br()},"clear"),$Fe=s(function(t){return Mi.get(t)},"getClass"),GFe=s(function(){return Mi},"getClasses"),VFe=s(function(){return IN},"getRelations"),UFe=s(function(){return Ww},"getNotes"),qFe=s(function(t){V.debug("Adding relation: "+JSON.stringify(t)),Hw(t.id1),Hw(t.id2),t.id1=b0(t.id1).className,t.id2=b0(t.id2).className,t.relationTitle1=$e.sanitizeText(t.relationTitle1.trim(),le()),t.relationTitle2=$e.sanitizeText(t.relationTitle2.trim(),le()),IN.push(t)},"addRelation"),WFe=s(function(t,e){let r=b0(t).className;Mi.get(r).annotations.push(e)},"addAnnotation"),Xce=s(function(t,e){Hw(t);let r=b0(t).className,n=Mi.get(r);if(typeof e=="string"){let i=e.trim();i.startsWith("<<")&&i.endsWith(">>")?n.annotations.push(x0(i.substring(2,i.length-2))):i.indexOf(")")>0?n.methods.push(new nx(i,"method")):i&&n.members.push(new nx(i,"attribute"))}},"addMember"),HFe=s(function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach(r=>Xce(t,r)))},"addMembers"),YFe=s(function(t,e){let r={id:`note${Ww.length}`,class:e,text:t};Ww.push(r)},"addNote"),XFe=s(function(t){return t.startsWith(":")&&(t=t.substring(1)),x0(t.trim())},"cleanupLabel"),NN=s(function(t,e){t.split(",").forEach(function(r){let n=r;/\d/.exec(r[0])&&(n=Yw+n);let i=Mi.get(n);i&&i.cssClasses.push(e)})},"setCssClass"),jFe=s(function(t,e){t.split(",").forEach(function(r){e!==void 0&&(Mi.get(r).tooltip=x0(e))})},"setTooltip"),KFe=s(function(t,e){return e&&Gu.has(e)?Gu.get(e).classes.get(t).tooltip:Mi.get(t).tooltip},"getTooltip"),QFe=s(function(t,e,r){let n=le();t.split(",").forEach(function(i){let a=i;/\d/.exec(i[0])&&(a=Yw+a);let o=Mi.get(a);o&&(o.link=dt.formatUrl(e,n),n.securityLevel==="sandbox"?o.linkTarget="_top":typeof r=="string"?o.linkTarget=x0(r):o.linkTarget="_blank")}),NN(t,"clickable")},"setLink"),ZFe=s(function(t,e,r){t.split(",").forEach(function(n){JFe(n,e,r),Mi.get(n).haveCallback=!0}),NN(t,"clickable")},"setClickEvent"),JFe=s(function(t,e,r){let n=$e.sanitizeText(t,le());if(le().securityLevel!=="loose"||e===void 0)return;let a=n;if(Mi.has(a)){let o=Yce(a),l=[];if(typeof r=="string"){l=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let u=0;u")),i.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),Me(this).classed("hover",!1)})},"setupToolTips");ix.push(jce);ON="TB",nze=s(()=>ON,"getDirection"),ize=s(t=>{ON=t},"setDirection"),aze=s(function(t){Gu.has(t)||(Gu.set(t,{id:t,classes:new Map,children:{},domId:Yw+t+"-"+MN}),MN++)},"addNamespace"),sze=s(function(t){return Gu.get(t)},"getNamespace"),oze=s(function(){return Gu},"getNamespaces"),lze=s(function(t,e){if(Gu.has(t))for(let r of e){let{className:n}=b0(r);Mi.get(n).parent=t,Gu.get(t).classes.set(n,Mi.get(n))}},"addClassesToNamespace"),cze=s(function(t,e){let r=Mi.get(t);if(!(!e||!r))for(let n of e)n.includes(",")?r.styles.push(...n.split(",")):r.styles.push(n)},"setCssStyle"),wg={setAccTitle:Ar,getAccTitle:Gr,getAccDescription:Ur,setAccDescription:Vr,getConfig:s(()=>le().class,"getConfig"),addClass:Hw,bindFunctions:eze,clear:zFe,getClass:$Fe,getClasses:GFe,getNotes:UFe,addAnnotation:WFe,addNote:YFe,getRelations:VFe,addRelation:qFe,getDirection:nze,setDirection:ize,addMember:Xce,addMembers:HFe,cleanupLabel:XFe,lineType:tze,relationType:rze,setClickEvent:ZFe,setCssClass:NN,setLink:QFe,getTooltip:KFe,setTooltip:jFe,lookUpDomId:Yce,setDiagramTitle:an,getDiagramTitle:Qr,setClassLabel:FFe,addNamespace:aze,addClassesToNamespace:lze,getNamespace:sze,getNamespaces:oze,setCssStyle:cze}});var uze,Xw,BN=_(()=>{"use strict";uze=s(t=>`g.classGroup text { + fill: ${t.nodeBorder||t.classText}; + stroke: none; + font-family: ${t.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${t.classText}; +} +.edgeLabel .label rect { + fill: ${t.mainBkg}; +} +.label text { + fill: ${t.classText}; +} +.edgeLabel .label span { + background: ${t.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.classGroup line { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${t.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${t.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`,"getStyles"),Xw=uze});var Kce,hze,fze,Zce,dze,Qce,jw,Jce=_(()=>{"use strict";Xt();pr();it();Qt();Kce=0,hze=s(function(t,e,r,n,i){let a=s(function(b){switch(b){case i.db.relationType.AGGREGATION:return"aggregation";case i.db.relationType.EXTENSION:return"extension";case i.db.relationType.COMPOSITION:return"composition";case i.db.relationType.DEPENDENCY:return"dependency";case i.db.relationType.LOLLIPOP:return"lollipop"}},"getRelationType");e.points=e.points.filter(b=>!Number.isNaN(b.y));let o=e.points,l=ra().x(function(b){return b.x}).y(function(b){return b.y}).curve(hs),u=t.append("path").attr("d",l(o)).attr("id","edge"+Kce).attr("class","relation"),h="";n.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),r.relation.lineType==1&&u.attr("class","relation dashed-line"),r.relation.lineType==10&&u.attr("class","relation dotted-line"),r.relation.type1!=="none"&&u.attr("marker-start","url("+h+"#"+a(r.relation.type1)+"Start)"),r.relation.type2!=="none"&&u.attr("marker-end","url("+h+"#"+a(r.relation.type2)+"End)");let f,d,p=e.points.length,m=dt.calcLabelPosition(e.points);f=m.x,d=m.y;let g,y,v,x;if(p%2!==0&&p>1){let b=dt.calcCardinalityPosition(r.relation.type1!=="none",e.points,e.points[0]),k=dt.calcCardinalityPosition(r.relation.type2!=="none",e.points,e.points[p-1]);V.debug("cardinality_1_point "+JSON.stringify(b)),V.debug("cardinality_2_point "+JSON.stringify(k)),g=b.x,y=b.y,v=k.x,x=k.y}if(r.title!==void 0){let b=t.append("g").attr("class","classLabel"),k=b.append("text").attr("class","label").attr("x",f).attr("y",d).attr("fill","red").attr("text-anchor","middle").text(r.title);window.label=k;let A=k.node().getBBox();b.insert("rect",":first-child").attr("class","box").attr("x",A.x-n.padding/2).attr("y",A.y-n.padding/2).attr("width",A.width+n.padding).attr("height",A.height+n.padding)}V.info("Rendering relation "+JSON.stringify(r)),r.relationTitle1!==void 0&&r.relationTitle1!=="none"&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",g).attr("y",y).attr("fill","black").attr("font-size","6").text(r.relationTitle1),r.relationTitle2!==void 0&&r.relationTitle2!=="none"&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",v).attr("y",x).attr("fill","black").attr("font-size","6").text(r.relationTitle2),Kce++},"drawEdge"),fze=s(function(t,e,r,n){V.debug("Rendering class ",e,r);let i=e.id,a={id:i,label:e.id,width:0,height:0},o=t.append("g").attr("id",n.db.lookUpDomId(i)).attr("class","classGroup"),l;e.link?l=o.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",r.textHeight+r.padding).attr("x",0):l=o.append("text").attr("y",r.textHeight+r.padding).attr("x",0);let u=!0;e.annotations.forEach(function(k){let A=l.append("tspan").text("\xAB"+k+"\xBB");u||A.attr("dy",r.textHeight),u=!1});let h=Zce(e),f=l.append("tspan").text(h).attr("class","title");u||f.attr("dy",r.textHeight);let d=l.node().getBBox().height,p,m,g;if(e.members.length>0){p=o.append("line").attr("x1",0).attr("y1",r.padding+d+r.dividerMargin/2).attr("y2",r.padding+d+r.dividerMargin/2);let k=o.append("text").attr("x",r.padding).attr("y",d+r.dividerMargin+r.textHeight).attr("fill","white").attr("class","classText");u=!0,e.members.forEach(function(A){Qce(k,A,u,r),u=!1}),m=k.node().getBBox()}if(e.methods.length>0){g=o.append("line").attr("x1",0).attr("y1",r.padding+d+r.dividerMargin+m.height).attr("y2",r.padding+d+r.dividerMargin+m.height);let k=o.append("text").attr("x",r.padding).attr("y",d+2*r.dividerMargin+m.height+r.textHeight).attr("fill","white").attr("class","classText");u=!0,e.methods.forEach(function(A){Qce(k,A,u,r),u=!1})}let y=o.node().getBBox();var v=" ";e.cssClasses.length>0&&(v=v+e.cssClasses.join(" "));let b=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",y.width+2*r.padding).attr("height",y.height+r.padding+.5*r.dividerMargin).attr("class",v).node().getBBox().width;return l.node().childNodes.forEach(function(k){k.setAttribute("x",(b-k.getBBox().width)/2)}),e.tooltip&&l.insert("title").text(e.tooltip),p&&p.attr("x2",b),g&&g.attr("x2",b),a.width=b,a.height=y.height+r.padding+.5*r.dividerMargin,a},"drawClass"),Zce=s(function(t){let e=t.id;return t.type&&(e+="<"+uh(t.type)+">"),e},"getClassTitleString"),dze=s(function(t,e,r,n){V.debug("Rendering note ",e,r);let i=e.id,a={id:i,text:e.text,width:0,height:0},o=t.append("g").attr("id",i).attr("class","classGroup"),l=o.append("text").attr("y",r.textHeight+r.padding).attr("x",0),u=JSON.parse(`"${e.text}"`).split(` +`);u.forEach(function(p){V.debug(`Adding line: ${p}`),l.append("tspan").text(p).attr("class","title").attr("dy",r.textHeight)});let h=o.node().getBBox(),d=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",h.width+2*r.padding).attr("height",h.height+u.length*r.textHeight+r.padding+.5*r.dividerMargin).node().getBBox().width;return l.node().childNodes.forEach(function(p){p.setAttribute("x",(d-p.getBBox().width)/2)}),a.width=d,a.height=h.height+u.length*r.textHeight+r.padding+.5*r.dividerMargin,a},"drawNote"),Qce=s(function(t,e,r,n){let{displayText:i,cssStyle:a}=e.getDisplayDetails(),o=t.append("tspan").attr("x",n.padding).text(i);a!==""&&o.attr("style",e.cssStyle),r||o.attr("dy",n.textHeight)},"addTspan"),jw={getClassTitleString:Zce,drawClass:fze,drawEdge:hze,drawNote:dze}});var Qw,Kw,ax,pze,mze,eue,tue=_(()=>{"use strict";Xt();Dd();la();it();Jce();Un();gt();Qw={},Kw=20,ax=s(function(t){let e=Object.entries(Qw).find(r=>r[1].label===t);if(e)return e[0]},"getGraphId"),pze=s(function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),mze=s(function(t,e,r,n){let i=le().class;Qw={},V.info("Rendering diagram "+t);let a=le().securityLevel,o;a==="sandbox"&&(o=Me("#i"+e));let l=a==="sandbox"?Me(o.nodes()[0].contentDocument.body):Me("body"),u=l.select(`[id='${e}']`);pze(u);let h=new ir({multigraph:!0});h.setGraph({isMultiGraph:!0}),h.setDefaultEdgeLabel(function(){return{}});let f=n.db.getClasses(),d=[...f.keys()];for(let b of d){let k=f.get(b),A=jw.drawClass(u,k,i,n);Qw[A.id]=A,h.setNode(A.id,A),V.info("Org height: "+A.height)}n.db.getRelations().forEach(function(b){V.info("tjoho"+ax(b.id1)+ax(b.id2)+JSON.stringify(b)),h.setEdge(ax(b.id1),ax(b.id2),{relation:b},b.title||"DEFAULT")}),n.db.getNotes().forEach(function(b){V.debug(`Adding note: ${JSON.stringify(b)}`);let k=jw.drawNote(u,b,i,n);Qw[k.id]=k,h.setNode(k.id,k),b.class&&f.has(b.class)&&h.setEdge(b.id,ax(b.class),{relation:{id1:b.id,id2:b.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),eo(h),h.nodes().forEach(function(b){b!==void 0&&h.node(b)!==void 0&&(V.debug("Node "+b+": "+JSON.stringify(h.node(b))),l.select("#"+(n.db.lookUpDomId(b)||b)).attr("transform","translate("+(h.node(b).x-h.node(b).width/2)+","+(h.node(b).y-h.node(b).height/2)+" )"))}),h.edges().forEach(function(b){b!==void 0&&h.edge(b)!==void 0&&(V.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(h.edge(b))),jw.drawEdge(u,h.edge(b),h.edge(b).relation,i,n))});let g=u.node().getBBox(),y=g.width+Kw*2,v=g.height+Kw*2;xr(u,v,y,i.useMaxWidth);let x=`${g.x-Kw} ${g.y-Kw} ${y} ${v}`;V.debug(`viewBox ${x}`),u.attr("viewBox",x)},"draw"),eue={draw:mze}});var rue={};ur(rue,{diagram:()=>gze});var gze,nue=_(()=>{"use strict";RN();PN();BN();tue();gze={parser:qw,db:wg,renderer:eue,styles:Xw,init:s(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,wg.clear()},"init")}});var bze,kze,wze,Tze,Eze,Cze,Sze,_ze,Aze,Lze,Dze,Zw,FN=_(()=>{"use strict";it();bze=s((t,e,r,n)=>{e.forEach(i=>{Dze[i](t,r,n)})},"insertMarkers"),kze=s((t,e,r)=>{V.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),wze=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Tze=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),Eze=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Cze=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Sze=s((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),_ze=s((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),Aze=s((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Lze=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),Dze={extension:kze,composition:wze,aggregation:Tze,dependency:Eze,lollipop:Cze,point:Sze,circle:_ze,cross:Aze,barb:Lze},Zw=bze});var Kt,El,sue,oue,eT,Rze,lue,cue,Tg,Jw,uue,hue,fue,due,pue=_(()=>{"use strict";it();vv();la();Kt={},El={},sue={},oue=s(()=>{El={},sue={},Kt={}},"clear"),eT=s((t,e)=>(V.trace("In isDescendant",e," ",t," = ",El[e].includes(t)),!!El[e].includes(t)),"isDescendant"),Rze=s((t,e)=>(V.info("Descendants of ",e," is ",El[e]),V.info("Edge is ",t),t.v===e||t.w===e?!1:El[e]?El[e].includes(t.v)||eT(t.v,e)||eT(t.w,e)||El[e].includes(t.w):(V.debug("Tilt, ",e,",not in descendants"),!1)),"edgeInCluster"),lue=s((t,e,r,n)=>{V.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),V.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)lue(a,e,r,n);else{let o=e.node(a);V.info("cp ",a," to ",n," with parent ",t),r.setNode(a,o),n!==e.parent(a)&&(V.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(V.debug("Setting parent",a,t),r.setParent(a,t)):(V.info("In copy ",t,"root",n,"data",e.node(t),n),V.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);V.debug("Copying Edges",l),l.forEach(u=>{V.info("Edge",u);let h=e.edge(u.v,u.w,u.name);V.info("Edge data",h,n);try{Rze(u,n)?(V.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),V.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):V.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){V.error(f)}})}V.debug("Removing node",a),e.removeNode(a)})},"copy"),cue=s((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)sue[i]=t,n=[...n,...cue(i,e)];return n},"extractDescendants"),Tg=s((t,e)=>{V.trace("Searching",t);let r=e.children(t);if(V.trace("Searching children of id ",t,r),r.length<1)return V.trace("This is a valid node",t),t;for(let n of r){let i=Tg(n,e);if(i)return V.trace("Found replacement for",t," => ",i),i}},"findNonClusterChild"),Jw=s(t=>!Kt[t]||!Kt[t].externalConnections?t:Kt[t]?Kt[t].id:t,"getAnchorId"),uue=s((t,e)=>{if(!t||e>10){V.debug("Opting out, no graph ");return}else V.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(V.warn("Cluster identified",r," Replacement id in edges: ",Tg(r,t)),El[r]=cue(r,t),Kt[r]={id:Tg(r,t),clusterData:t.node(r)})}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(V.debug("Cluster identified",r,El),i.forEach(a=>{if(a.v!==r&&a.w!==r){let o=eT(a.v,r),l=eT(a.w,r);o^l&&(V.warn("Edge: ",a," leaves cluster ",r),V.warn("Descendants of XXX ",r,": ",El[r]),Kt[r].externalConnections=!0)}})):V.debug("Not a cluster ",r,El)});for(let r of Object.keys(Kt)){let n=Kt[r].id,i=t.parent(n);i!==r&&Kt[i]&&!Kt[i].externalConnections&&(Kt[r].id=i)}t.edges().forEach(function(r){let n=t.edge(r);V.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),V.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(V.warn("Fix XXX",Kt,"ids:",r.v,r.w,"Translating: ",Kt[r.v]," --- ",Kt[r.w]),Kt[r.v]&&Kt[r.w]&&Kt[r.v]===Kt[r.w]){V.warn("Fixing and trixing link to self - removing XXX",r.v,r.w,r.name),V.warn("Fixing and trixing - removing XXX",r.v,r.w,r.name),i=Jw(r.v),a=Jw(r.w),t.removeEdge(r.v,r.w,r.name);let o=r.w+"---"+r.v;t.setNode(o,{domId:o,id:o,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});let l=structuredClone(n),u=structuredClone(n);l.label="",l.arrowTypeEnd="none",u.label="",l.fromCluster=r.v,u.toCluster=r.v,t.setEdge(i,o,l,r.name+"-cyclic-special"),t.setEdge(o,a,u,r.name+"-cyclic-special")}else if(Kt[r.v]||Kt[r.w]){if(V.warn("Fixing and trixing - removing XXX",r.v,r.w,r.name),i=Jw(r.v),a=Jw(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let o=t.parent(i);Kt[o].externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let o=t.parent(a);Kt[o].externalConnections=!0,n.toCluster=r.w}V.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),V.warn("Adjusted Graph",Mn(t)),hue(t,0),V.trace(Kt)},"adjustClustersAndEdges"),hue=s((t,e)=>{if(V.warn("extractor - ",e,Mn(t),t.children("D")),e>10){V.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){V.debug("Done, no node has children",t.nodes());return}V.debug("Nodes = ",r,e);for(let i of r)if(V.debug("Extracting node",i,Kt,Kt[i]&&!Kt[i].externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Kt[i])V.debug("Not a cluster",i,e);else if(!Kt[i].externalConnections&&t.children(i)&&t.children(i).length>0){V.warn("Cluster without external connections, without a parent and with children",i,e);let o=t.graph().rankdir==="TB"?"LR":"TB";Kt[i]?.clusterData?.dir&&(o=Kt[i].clusterData.dir,V.warn("Fixing dir",Kt[i].clusterData.dir,o));let l=new ir({multigraph:!0,compound:!0}).setGraph({rankdir:o,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});V.warn("Old graph before copy",Mn(t)),lue(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Kt[i].clusterData,labelText:Kt[i].labelText,graph:l}),V.warn("New graph after copy node: (",i,")",Mn(l)),V.debug("Old graph after copy",Mn(t))}else V.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Kt[i].externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),V.debug(Kt);r=t.nodes(),V.warn("New list of nodes",r);for(let i of r){let a=t.node(i);V.warn(" Now next level",i,a),a.clusterNode&&hue(a.graph,e+1)}},"extractor"),fue=s((t,e)=>{if(e.length===0)return[];let r=Object.assign(e);return e.forEach(n=>{let i=t.children(n),a=fue(t,i);r=[...r,...a]}),r},"sorter"),due=s(t=>fue(t,t.children()),"sortNodesByHierarchy")});var Mze,Ize,Nze,Oze,Pze,mue,gue,yue,vue=_(()=>{"use strict";PA();it();rv();ic();Xt();gt();Qt();gd();Mze=s((t,e)=>{V.info("Creating subgraph rect for ",e.id,e);let r=le(),n=t.insert("g").attr("class","cluster"+(e.class?" "+e.class:"")).attr("id",e.id),i=n.insert("rect",":first-child"),a=hr(r.flowchart.htmlLabels),o=n.insert("g").attr("class","cluster-label"),l=e.labelType==="markdown"?vs(o,e.labelText,{style:e.labelStyle,useHtmlLabels:a},r):o.node().appendChild(Hi(e.labelText,e.labelStyle,void 0,!0)),u=l.getBBox();if(hr(r.flowchart.htmlLabels)){let g=l.children[0],y=Me(l);u=g.getBoundingClientRect(),y.attr("width",u.width),y.attr("height",u.height)}let h=0*e.padding,f=h/2,d=e.width<=u.width+h?u.width+h:e.width;e.width<=u.width+h?e.diff=(u.width-e.width)/2-e.padding/2:e.diff=-e.padding/2,V.trace("Data ",e,JSON.stringify(e)),i.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-d/2).attr("y",e.y-e.height/2-f).attr("width",d).attr("height",e.height+h);let{subGraphTitleTopMargin:p}=Ks(r);a?o.attr("transform",`translate(${e.x-u.width/2}, ${e.y-e.height/2+p})`):o.attr("transform",`translate(${e.x}, ${e.y-e.height/2+p})`);let m=i.node().getBBox();return e.width=m.width,e.height=m.height,e.intersect=function(g){return md(e,g)},n},"rect"),Ize=s((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let o=n.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(l){return md(e,l)},r},"noteGroup"),Nze=s((t,e)=>{let r=le(),n=t.insert("g").attr("class",e.classes).attr("id",e.id),i=n.insert("rect",":first-child"),a=n.insert("g").attr("class","cluster-label"),o=n.append("rect"),l=a.node().appendChild(Hi(e.labelText,e.labelStyle,void 0,!0)),u=l.getBBox();if(hr(r.flowchart.htmlLabels)){let g=l.children[0],y=Me(l);u=g.getBoundingClientRect(),y.attr("width",u.width),y.attr("height",u.height)}u=l.getBBox();let h=0*e.padding,f=h/2,d=e.width<=u.width+e.padding?u.width+e.padding:e.width;e.width<=u.width+e.padding?e.diff=(u.width+e.padding*0-e.width)/2:e.diff=-e.padding/2,i.attr("class","outer").attr("x",e.x-d/2-f).attr("y",e.y-e.height/2-f).attr("width",d+h).attr("height",e.height+h),o.attr("class","inner").attr("x",e.x-d/2-f).attr("y",e.y-e.height/2-f+u.height-1).attr("width",d+h).attr("height",e.height+h-u.height-3);let{subGraphTitleTopMargin:p}=Ks(r);a.attr("transform",`translate(${e.x-u.width/2}, ${e.y-e.height/2-e.padding/3+(hr(r.flowchart.htmlLabels)?5:3)+p})`);let m=i.node().getBBox();return e.height=m.height,e.intersect=function(g){return md(e,g)},n},"roundedWithTitle"),Oze=s((t,e)=>{let r=t.insert("g").attr("class",e.classes).attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("class","divider").attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2).attr("width",e.width+i).attr("height",e.height+i);let o=n.node().getBBox();return e.width=o.width,e.height=o.height,e.diff=-e.padding/2,e.intersect=function(l){return md(e,l)},r},"divider"),Pze={rect:Mze,roundedWithTitle:Nze,noteGroup:Ize,divider:Oze},mue={},gue=s((t,e)=>{V.trace("Inserting cluster");let r=e.shape||"rect";mue[e.id]=Pze[r](t,e)},"insertCluster"),yue=s(()=>{mue={}},"clear")});var bue,Bze,xue,kue=_(()=>{"use strict";it();bue=s((t,e,r,n,i)=>{e.arrowTypeStart&&xue(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&xue(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),Bze={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},xue=s((t,e,r,n,i,a)=>{let o=Bze[r];if(!o){V.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${o}${l})`)},"addEdgeMarker")});function tT(t,e){le().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}var rT,da,Tue,nT,iT,Fze,zze,wue,aT,zN=_(()=>{"use strict";it();rv();ic();Xt();gt();pr();Qt();a9();gd();kue();rT={},da={},Tue=s(()=>{rT={},da={}},"clear"),nT=s((t,e)=>{let r=le(),n=hr(r.flowchart.htmlLabels),i=e.labelType==="markdown"?vs(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:!0},r):Hi(e.label,e.labelStyle),a=t.insert("g").attr("class","edgeLabel"),o=a.insert("g").attr("class","label");o.node().appendChild(i);let l=i.getBBox();if(n){let h=i.children[0],f=Me(i);l=h.getBoundingClientRect(),f.attr("width",l.width),f.attr("height",l.height)}o.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),rT[e.id]=a,e.width=l.width,e.height=l.height;let u;if(e.startLabelLeft){let h=Hi(e.startLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),da[e.id]||(da[e.id]={}),da[e.id].startLeft=f,tT(u,e.startLabelLeft)}if(e.startLabelRight){let h=Hi(e.startLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=f.node().appendChild(h),d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),da[e.id]||(da[e.id]={}),da[e.id].startRight=f,tT(u,e.startLabelRight)}if(e.endLabelLeft){let h=Hi(e.endLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),da[e.id]||(da[e.id]={}),da[e.id].endLeft=f,tT(u,e.endLabelLeft)}if(e.endLabelRight){let h=Hi(e.endLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),da[e.id]||(da[e.id]={}),da[e.id].endRight=f,tT(u,e.endLabelRight)}return i},"insertEdgeLabel");s(tT,"setTerminalWidth");iT=s((t,e)=>{V.debug("Moving label abc88 ",t.id,t.label,rT[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=le(),{subGraphTitleTotalMargin:i}=Ks(n);if(t.label){let a=rT[t.id],o=t.x,l=t.y;if(r){let u=dt.calcLabelPosition(r);V.debug("Moving label "+t.label+" from (",o,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(o=u.x,l=u.y)}a.attr("transform",`translate(${o}, ${l+i/2})`)}if(t.startLabelLeft){let a=da[t.id].startLeft,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}if(t.startLabelRight){let a=da[t.id].startRight,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}if(t.endLabelLeft){let a=da[t.id].endLeft,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}if(t.endLabelRight){let a=da[t.id].endRight,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}},"positionEdgeLabel"),Fze=s((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),o=t.width/2,l=t.height/2;return i>=o||a>=l},"outsideNode"),zze=s((t,e,r)=>{V.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),o=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{V.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!Fze(e,a)&&!i){let o=zze(e,n,a),l=!1;r.forEach(u=>{l=l||u.x===o.x&&u.y===o.y}),r.some(u=>u.x===o.x&&u.y===o.y)||r.push(o),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),aT=s(function(t,e,r,n,i,a,o){let l=r.points;V.debug("abc88 InsertEdge: edge=",r,"e=",e);let u=!1,h=a.node(e.v);var f=a.node(e.w);f?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(f.intersect(l[l.length-1]))),r.toCluster&&(V.debug("to cluster abc88",n[r.toCluster]),l=wue(r.points,n[r.toCluster].node),u=!0),r.fromCluster&&(V.debug("from cluster abc88",n[r.fromCluster]),l=wue(l.reverse(),n[r.fromCluster].node).reverse(),u=!0);let d=l.filter(A=>!Number.isNaN(A.y)),p=hs;r.curve&&(i==="graph"||i==="flowchart")&&(p=r.curve);let{x:m,y:g}=y5(r),y=ra().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=t.append("path").attr("d",y(d)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(le().flowchart.arrowMarkerAbsolute||le().state.arrowMarkerAbsolute)&&(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,b=b.replace(/\(/g,"\\("),b=b.replace(/\)/g,"\\)")),bue(x,r,b,o,i);let k={};return u&&(k.updatedPath=l),k.originalPath=r.points,k},"insertEdge")});var Eue,Cue,Sue=_(()=>{"use strict";Dd();vv();FN();t5();pue();r5();vue();zN();it();gd();gt();Eue=s(async(t,e,r,n,i,a)=>{V.info("Graph in recursive render: XXX",Mn(e),i);let o=e.graph().rankdir;V.trace("Dir in recursive render - dir:",o);let l=t.insert("g").attr("class","root");e.nodes()?V.info("Recursive render XXX",e.nodes()):V.info("No nodes found for",e),e.edges().length>0&&V.trace("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(g){let y=e.node(g);if(i!==void 0){let v=JSON.parse(JSON.stringify(i.clusterData));V.info("Setting data for cluster XXX (",g,") ",v,i),e.setNode(i.id,v),e.parent(g)||(V.trace("Setting parent",g,i.id),e.setParent(g,i.id,v))}if(V.info("(Insert) Node XXX"+g+": "+JSON.stringify(e.node(g))),y?.clusterNode){V.info("Cluster identified",g,y.width,e.node(g));let{ranksep:v,nodesep:x}=e.graph();y.graph.setGraph({...y.graph.graph(),ranksep:v,nodesep:x});let b=await Eue(d,y.graph,r,n,e.node(g),a),k=b.elem;mn(y,k),y.diff=b.diff||0,V.info("Node bounds (abc123)",g,y,y.width,y.x,y.y),dX(k,y),V.warn("Recursive render complete ",k,y)}else e.children(g).length>0?(V.info("Cluster - the non recursive path XXX",g,y.id,y,e),V.info(Tg(y.id,e)),Kt[y.id]={id:Tg(y.id,e),node:y}):(V.info("Node - the non recursive path",g,y.id,y),await Zp(d,e.node(g),o))})),e.edges().forEach(async function(g){let y=e.edge(g.v,g.w,g.name);V.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(g)),V.info("Edge "+g.v+" -> "+g.w+": ",g," ",JSON.stringify(e.edge(g))),V.info("Fix",Kt,"ids:",g.v,g.w,"Translating: ",Kt[g.v],Kt[g.w]),await nT(f,y)}),e.edges().forEach(function(g){V.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(g))}),V.info("Graph before layout:",JSON.stringify(Mn(e))),V.info("#############################################"),V.info("### Layout ###"),V.info("#############################################"),V.info(e),eo(e),V.info("Graph after layout:",JSON.stringify(Mn(e)));let p=0,{subGraphTitleTotalMargin:m}=Ks(a);return due(e).forEach(function(g){let y=e.node(g);V.info("Position "+g+": "+JSON.stringify(e.node(g))),V.info("Position "+g+": ("+y.x,","+y.y,") width: ",y.width," height: ",y.height),y?.clusterNode?(y.y+=m,nv(y)):e.children(g).length>0?(y.height+=m,gue(u,y),Kt[y.id].node=y):(y.y+=m/2,nv(y))}),e.edges().forEach(function(g){let y=e.edge(g);V.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(y),y),y.points.forEach(x=>x.y+=m/2);let v=aT(h,g,y,Kt,r,e,n);iT(y,v)}),e.nodes().forEach(function(g){let y=e.node(g);V.info(g,y.type,y.diff),y.type==="group"&&(p=y.diff)}),{elem:l,diff:p}},"recursiveRender"),Cue=s(async(t,e,r,n,i)=>{Zw(t,r,n,i),pX(),Tue(),yue(),oue(),V.warn("Graph at first:",JSON.stringify(Mn(e))),uue(e),V.warn("Graph after:",JSON.stringify(Mn(e)));let a=le();await Eue(t,e,n,i,void 0,a)},"render")});function _ue(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}var GN,$N,$ze,Aue,Gze,Vze,Uze,qze,Lue,Due=_(()=>{"use strict";Xt();la();it();gt();Sue();pr();pr();Un();Qt();GN=s(t=>$e.sanitizeText(t,le()),"sanitizeText"),$N={dividerMargin:10,padding:5,textHeight:10,curve:void 0},$ze=s(function(t,e,r,n){V.info("keys:",[...t.keys()]),V.info(t),t.forEach(function(i){let o={shape:"rect",id:i.id,domId:i.domId,labelText:GN(i.id),labelStyle:"",style:"fill: none; stroke: black",padding:le().flowchart?.padding??le().class?.padding};e.setNode(i.id,o),Aue(i.classes,e,r,n,i.id),V.info("setNode",o)})},"addNamespaces"),Aue=s(function(t,e,r,n,i){V.info("keys:",[...t.keys()]),V.info(t),[...t.values()].filter(a=>a.parent===i).forEach(function(a){let o=a.cssClasses.join(" "),l=Hp(a.styles),u=a.label??a.id,h=0,d={labelStyle:l.labelStyle,shape:"class_box",labelText:GN(u),classData:a,rx:h,ry:h,class:o,style:l.style,id:a.id,domId:a.domId,tooltip:n.db.getTooltip(a.id,i)||"",haveCallback:a.haveCallback,link:a.link,width:a.type==="group"?500:void 0,type:a.type,padding:le().flowchart?.padding??le().class?.padding};e.setNode(a.id,d),i&&e.setParent(a.id,i),V.info("setNode",d)})},"addClasses"),Gze=s(function(t,e,r,n){V.info(t),t.forEach(function(i,a){let o=i,l="",u={labelStyle:"",style:""},h=o.text,f=0,p={labelStyle:u.labelStyle,shape:"note",labelText:GN(h),noteData:o,rx:f,ry:f,class:l,style:u.style,id:o.id,domId:o.id,tooltip:"",type:"note",padding:le().flowchart?.padding??le().class?.padding};if(e.setNode(o.id,p),V.info("setNode",p),!o.class||!n.has(o.class))return;let m=r+a,g={id:`edgeNote${m}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:Wp($N.curve,uu)};e.setEdge(o.id,o.class,g,m)})},"addNotes"),Vze=s(function(t,e){let r=le().flowchart,n=0;t.forEach(function(i){n++;let a={classes:"relation",pattern:i.relation.lineType==1?"dashed":"solid",id:$3(i.id1,i.id2,{prefix:"id",counter:n}),arrowhead:i.type==="arrow_open"?"none":"normal",startLabelRight:i.relationTitle1==="none"?"":i.relationTitle1,endLabelLeft:i.relationTitle2==="none"?"":i.relationTitle2,arrowTypeStart:_ue(i.relation.type1),arrowTypeEnd:_ue(i.relation.type2),style:"fill:none",labelStyle:"",curve:Wp(r?.curve,uu)};if(V.info(a,i),i.style!==void 0){let o=Hp(i.style);a.style=o.style,a.labelStyle=o.labelStyle}i.text=i.title,i.text===void 0?i.style!==void 0&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",a.labelpos="c",le().flowchart?.htmlLabels??le().htmlLabels?(a.labelType="html",a.label=''+i.text+""):(a.labelType="text",a.label=i.text.replace($e.lineBreakRegex,` +`),i.style===void 0&&(a.style=a.style||"stroke: #333; stroke-width: 1.5px;fill:none"),a.labelStyle=a.labelStyle.replace("color:","fill:"))),e.setEdge(i.id1,i.id2,a,n)})},"addRelations"),Uze=s(function(t){$N={...$N,...t}},"setConf"),qze=s(async function(t,e,r,n){V.info("Drawing class - ",e);let i=le().flowchart??le().class,a=le().securityLevel;V.info("config:",i);let o=i?.nodeSpacing??50,l=i?.rankSpacing??50,u=new ir({multigraph:!0,compound:!0}).setGraph({rankdir:n.db.getDirection(),nodesep:o,ranksep:l,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),h=n.db.getNamespaces(),f=n.db.getClasses(),d=n.db.getRelations(),p=n.db.getNotes();V.info(d),$ze(h,u,e,n),Aue(f,u,e,n),Vze(d,u),Gze(p,u,d.length+1,f);let m;a==="sandbox"&&(m=Me("#i"+e));let g=a==="sandbox"?Me(m.nodes()[0].contentDocument.body):Me("body"),y=g.select(`[id="${e}"]`),v=g.select("#"+e+" g");if(await Cue(v,u,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),dt.insertTitle(y,"classTitleText",i?.titleTopMargin??5,n.db.getDiagramTitle()),ql(u,y,i?.diagramPadding,i?.useMaxWidth),!i?.htmlLabels){let x=a==="sandbox"?m.nodes()[0].contentDocument:document,b=x.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(let k of b){let A=k.getBBox(),w=x.createElementNS("http://www.w3.org/2000/svg","rect");w.setAttribute("rx",0),w.setAttribute("ry",0),w.setAttribute("width",A.width),w.setAttribute("height",A.height),k.insertBefore(w,k.firstChild)}}},"draw");s(_ue,"getArrowMarker");Lue={setConf:Uze,draw:qze}});var Rue={};ur(Rue,{diagram:()=>Wze});var Wze,Mue=_(()=>{"use strict";RN();PN();BN();Due();Wze={parser:qw,db:wg,renderer:Lue,styles:Xw,init:s(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,wg.clear()},"init")}});var VN,sT,UN=_(()=>{"use strict";VN=function(){var t=s(function(z,N,U,$){for(U=U||{},$=z.length;$--;U[z[$]]=N);return U},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],o=[1,11],l=[1,16],u=[1,17],h=[1,18],f=[1,19],d=[1,32],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],k=[1,28],A=[1,29],w=[1,30],T=[1,31],C=[1,34],E=[1,35],S=[1,36],R=[1,37],D=[1,33],L=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],P=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],M=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],F={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:s(function(N,U,$,W,ee,te,ce){var Z=te.length-1;switch(ee){case 3:return W.setRootDoc(te[Z]),te[Z];break;case 4:this.$=[];break;case 5:te[Z]!="nl"&&(te[Z-1].push(te[Z]),this.$=te[Z-1]);break;case 6:case 7:this.$=te[Z];break;case 8:this.$="nl";break;case 12:this.$=te[Z];break;case 13:let Q=te[Z-1];Q.description=W.trimColon(te[Z]),this.$=Q;break;case 14:this.$={stmt:"relation",state1:te[Z-2],state2:te[Z]};break;case 15:let K=W.trimColon(te[Z]);this.$={stmt:"relation",state1:te[Z-3],state2:te[Z-1],description:K};break;case 19:this.$={stmt:"state",id:te[Z-3],type:"default",description:"",doc:te[Z-1]};break;case 20:var fe=te[Z],ne=te[Z-2].trim();if(te[Z].match(":")){var H=te[Z].split(":");fe=H[0],ne=[ne,H[1]]}this.$={stmt:"state",id:fe,type:"default",description:ne};break;case 21:this.$={stmt:"state",id:te[Z-3],type:"default",description:te[Z-5],doc:te[Z-1]};break;case 22:this.$={stmt:"state",id:te[Z],type:"fork"};break;case 23:this.$={stmt:"state",id:te[Z],type:"join"};break;case 24:this.$={stmt:"state",id:te[Z],type:"choice"};break;case 25:this.$={stmt:"state",id:W.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:te[Z-1].trim(),note:{position:te[Z-2].trim(),text:te[Z].trim()}};break;case 29:this.$=te[Z].trim(),W.setAccTitle(this.$);break;case 30:case 31:this.$=te[Z].trim(),W.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:te[Z-1].trim(),classes:te[Z].trim()};break;case 34:this.$={stmt:"style",id:te[Z-1].trim(),styleClass:te[Z].trim()};break;case 35:this.$={stmt:"applyClass",id:te[Z-1].trim(),styleClass:te[Z].trim()};break;case 36:W.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:W.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:W.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:W.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:te[Z].trim(),type:"default",description:""};break;case 44:this.$={stmt:"state",id:te[Z-2].trim(),classes:[te[Z].trim()],type:"default",description:""};break;case 45:this.$={stmt:"state",id:te[Z-2].trim(),classes:[te[Z].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:k,38:A,42:w,45:T,48:C,49:E,50:S,51:R,54:D},t(L,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:k,38:A,42:w,45:T,48:C,49:E,50:S,51:R,54:D},t(L,[2,7]),t(L,[2,8]),t(L,[2,9]),t(L,[2,10]),t(L,[2,11]),t(L,[2,12],{14:[1,39],15:[1,40]}),t(L,[2,16]),{18:[1,41]},t(L,[2,18],{20:[1,42]}),{23:[1,43]},t(L,[2,22]),t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(L,[2,28]),{34:[1,48]},{36:[1,49]},t(L,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(P,[2,42],{55:[1,54]}),t(P,[2,43],{55:[1,55]}),t(L,[2,36]),t(L,[2,37]),t(L,[2,38]),t(L,[2,39]),t(L,[2,6]),t(L,[2,13]),{13:56,24:d,54:D},t(L,[2,17]),t(M,i,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(L,[2,29]),t(L,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(L,[2,14],{14:[1,67]}),{4:a,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,68],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:k,38:A,42:w,45:T,48:C,49:E,50:S,51:R,54:D},t(L,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(L,[2,32]),t(L,[2,33]),t(L,[2,34]),t(L,[2,35]),t(P,[2,44]),t(P,[2,45]),t(L,[2,15]),t(L,[2,19]),t(M,i,{7:72}),t(L,[2,26]),t(L,[2,27]),{4:a,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,73],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:k,38:A,42:w,45:T,48:C,49:E,50:S,51:R,54:D},t(L,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:s(function(N,U){if(U.recoverable)this.trace(N);else{var $=new Error(N);throw $.hash=U,$}},"parseError"),parse:s(function(N){var U=this,$=[0],W=[],ee=[null],te=[],ce=this.table,Z="",fe=0,ne=0,H=0,Q=2,K=1,re=te.slice.call(arguments,1),ie=Object.create(this.lexer),ye={yy:{}};for(var j in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j)&&(ye.yy[j]=this.yy[j]);ie.setInput(N,ye.yy),ye.yy.lexer=ie,ye.yy.parser=this,typeof ie.yylloc>"u"&&(ie.yylloc={});var De=ie.yylloc;te.push(De);var oe=ie.options&&ie.options.ranges;typeof ye.yy.parseError=="function"?this.parseError=ye.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(Ie){$.length=$.length-2*Ie,ee.length=ee.length-Ie,te.length=te.length-Ie}s(Re,"popStack");function Pe(){var Ie;return Ie=W.pop()||ie.lex()||K,typeof Ie!="number"&&(Ie instanceof Array&&(W=Ie,Ie=W.pop()),Ie=U.symbols_[Ie]||Ie),Ie}s(Pe,"lex");for(var Se,Ue,Oe,_e,he,q,se={},ue,X,ae,pe;;){if(Oe=$[$.length-1],this.defaultActions[Oe]?_e=this.defaultActions[Oe]:((Se===null||typeof Se>"u")&&(Se=Pe()),_e=ce[Oe]&&ce[Oe][Se]),typeof _e>"u"||!_e.length||!_e[0]){var de="";pe=[];for(ue in ce[Oe])this.terminals_[ue]&&ue>Q&&pe.push("'"+this.terminals_[ue]+"'");ie.showPosition?de="Parse error on line "+(fe+1)+`: +`+ie.showPosition()+` +Expecting `+pe.join(", ")+", got '"+(this.terminals_[Se]||Se)+"'":de="Parse error on line "+(fe+1)+": Unexpected "+(Se==K?"end of input":"'"+(this.terminals_[Se]||Se)+"'"),this.parseError(de,{text:ie.match,token:this.terminals_[Se]||Se,line:ie.yylineno,loc:De,expected:pe})}if(_e[0]instanceof Array&&_e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Oe+", token: "+Se);switch(_e[0]){case 1:$.push(Se),ee.push(ie.yytext),te.push(ie.yylloc),$.push(_e[1]),Se=null,Ue?(Se=Ue,Ue=null):(ne=ie.yyleng,Z=ie.yytext,fe=ie.yylineno,De=ie.yylloc,H>0&&H--);break;case 2:if(X=this.productions_[_e[1]][1],se.$=ee[ee.length-X],se._$={first_line:te[te.length-(X||1)].first_line,last_line:te[te.length-1].last_line,first_column:te[te.length-(X||1)].first_column,last_column:te[te.length-1].last_column},oe&&(se._$.range=[te[te.length-(X||1)].range[0],te[te.length-1].range[1]]),q=this.performAction.apply(se,[Z,ne,fe,ye.yy,_e[1],ee,te].concat(re)),typeof q<"u")return q;X&&($=$.slice(0,-1*X*2),ee=ee.slice(0,-1*X),te=te.slice(0,-1*X)),$.push(this.productions_[_e[1]][0]),ee.push(se.$),te.push(se._$),ae=ce[$[$.length-2]][$[$.length-1]],$.push(ae);break;case 3:return!0}}return!0},"parse")},I=function(){var z={EOF:1,parseError:s(function(U,$){if(this.yy.parser)this.yy.parser.parseError(U,$);else throw new Error(U)},"parseError"),setInput:s(function(N,U){return this.yy=U||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var U=N.match(/(?:\r\n?|\n).*/g);return U?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:s(function(N){var U=N.length,$=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;var W=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),$.length-1&&(this.yylineno-=$.length-1);var ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:$?($.length===W.length?this.yylloc.first_column:0)+W[W.length-$.length].length-$[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(N){this.unput(this.match.slice(N))},"less"),pastInput:s(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var N=this.pastInput(),U=new Array(N.length+1).join("-");return N+this.upcomingInput()+` +`+U+"^"},"showPosition"),test_match:s(function(N,U){var $,W,ee;if(this.options.backtrack_lexer&&(ee={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ee.yylloc.range=this.yylloc.range.slice(0))),W=N[0].match(/(?:\r\n?|\n).*/g),W&&(this.yylineno+=W.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:W?W[W.length-1].length-W[W.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],$=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),$)return $;if(this._backtrack){for(var te in ee)this[te]=ee[te];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,U,$,W;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),te=0;teU[0].length)){if(U=$,W=te,this.options.backtrack_lexer){if(N=this.test_match($,ee[te]),N!==!1)return N;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(N=this.test_match(U,ee[W]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var U=this.next();return U||this.lex()},"lex"),begin:s(function(U){this.conditionStack.push(U)},"begin"),popState:s(function(){var U=this.conditionStack.length-1;return U>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},"topState"),pushState:s(function(U){this.begin(U)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(U,$,W,ee){var te=ee;switch(W){case 0:return 41;case 1:return 48;case 2:return 49;case 3:return 50;case 4:return 51;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),17;break;case 13:return 18;case 14:this.popState();break;case 15:return this.begin("acc_title"),33;break;case 16:return this.popState(),"acc_title_value";break;case 17:return this.begin("acc_descr"),35;break;case 18:return this.popState(),"acc_descr_value";break;case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),38;break;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 24:return this.popState(),this.pushState("CLASSDEFID"),39;break;case 25:return this.popState(),40;break;case 26:return this.pushState("CLASS"),45;break;case 27:return this.popState(),this.pushState("CLASS_STYLE"),46;break;case 28:return this.popState(),47;break;case 29:return this.pushState("STYLE"),42;break;case 30:return this.popState(),this.pushState("STYLEDEF_STYLES"),43;break;case 31:return this.popState(),44;break;case 32:return this.pushState("SCALE"),17;break;case 33:return 18;case 34:this.popState();break;case 35:this.pushState("STATE");break;case 36:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),25;break;case 37:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),26;break;case 38:return this.popState(),$.yytext=$.yytext.slice(0,-10).trim(),27;break;case 39:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),25;break;case 40:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),26;break;case 41:return this.popState(),$.yytext=$.yytext.slice(0,-10).trim(),27;break;case 42:return 48;case 43:return 49;case 44:return 50;case 45:return 51;case 46:this.pushState("STATE_STRING");break;case 47:return this.pushState("STATE_ID"),"AS";break;case 48:return this.popState(),"ID";break;case 49:this.popState();break;case 50:return"STATE_DESCR";case 51:return 19;case 52:this.popState();break;case 53:return this.popState(),this.pushState("struct"),20;break;case 54:break;case 55:return this.popState(),21;break;case 56:break;case 57:return this.begin("NOTE"),29;break;case 58:return this.popState(),this.pushState("NOTE_ID"),56;break;case 59:return this.popState(),this.pushState("NOTE_ID"),57;break;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 62:break;case 63:return"NOTE_TEXT";case 64:return this.popState(),"ID";break;case 65:return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 66:return this.popState(),$.yytext=$.yytext.substr(2).trim(),31;break;case 67:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),31;break;case 68:return 6;case 69:return 6;case 70:return 16;case 71:return 54;case 72:return 24;case 73:return $.yytext=$.yytext.trim(),14;break;case 74:return 15;case 75:return 28;case 76:return 55;case 77:return 5;case 78:return"INVALID"}},"anonymous"),rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,29,35,42,43,44,45,54,55,56,57,71,72,73,74,75],inclusive:!1},FLOATING_NOTE_ID:{rules:[64],inclusive:!1},FLOATING_NOTE:{rules:[61,62,63],inclusive:!1},NOTE_TEXT:{rules:[66,67],inclusive:!1},NOTE_ID:{rules:[65],inclusive:!1},NOTE:{rules:[58,59,60],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[31],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[30],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,33,34],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[48],inclusive:!1},STATE_STRING:{rules:[49,50],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,36,37,38,39,40,41,46,47,51,52,53],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,35,53,57,68,69,70,71,72,73,74,76,77,78],inclusive:!0}}};return z}();F.lexer=I;function O(){this.yy={}}return s(O,"Parser"),O.prototype=F,F.Parser=O,new O}();VN.parser=VN;sT=VN});var Oue,oT,Eg,sx,Pue,Bue,Fue,k0,lT,qN,WN,HN,YN,XN,cT,uT,zue,$ue,jN,KN,Gue,Vue,Cg,jze,Uue,QN,Kze,Qze,que,Wue,Zze,Hue,Jze,Yue,ZN,JN,Xue,hT,jue,eO,fT=_(()=>{"use strict";Oue="LR",oT="TB",Eg="state",sx="relation",Pue="classDef",Bue="style",Fue="applyClass",k0="default",lT="divider",qN="fill:none",WN="fill: #333",HN="c",YN="text",XN="normal",cT="rect",uT="rectWithTitle",zue="stateStart",$ue="stateEnd",jN="divider",KN="roundedWithTitle",Gue="note",Vue="noteGroup",Cg="statediagram",jze="state",Uue=`${Cg}-${jze}`,QN="transition",Kze="note",Qze="note-edge",que=`${QN} ${Qze}`,Wue=`${Cg}-${Kze}`,Zze="cluster",Hue=`${Cg}-${Zze}`,Jze="cluster-alt",Yue=`${Cg}-${Jze}`,ZN="parent",JN="note",Xue="state",hT="----",jue=`${hT}${JN}`,eO=`${hT}${ZN}`});function tO(t="",e=0,r="",n=hT){let i=r!==null&&r.length>0?`${n}${r}`:"";return`${Xue}-${t}${i}-${e}`}function dT(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{if(r.get(i)){let a=r.get(i);e.cssCompiledStyles=[...e.cssCompiledStyles,...a.styles]}}));let n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}function t$e(t){return t?.classes?.join(" ")??""}function r$e(t){return t?.styles??[]}var pT,of,e$e,Kue,Sg,Que,Zue=_(()=>{"use strict";gt();it();Qt();fT();pT=new Map,of=0;s(tO,"stateDomId");e$e=s((t,e,r,n,i,a,o,l)=>{V.trace("items",e),e.forEach(u=>{switch(u.stmt){case Eg:Sg(t,u,r,n,i,a,o,l);break;case k0:Sg(t,u,r,n,i,a,o,l);break;case sx:{Sg(t,u.state1,r,n,i,a,o,l),Sg(t,u.state2,r,n,i,a,o,l);let h={id:"edge"+of,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:qN,labelStyle:"",label:$e.sanitizeText(u.description,le()),arrowheadStyle:WN,labelpos:HN,labelType:YN,thickness:XN,classes:QN,look:o};i.push(h),of++}break}})},"setupDoc"),Kue=s((t,e=oT)=>{let r=e;if(t.doc)for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");s(dT,"insertOrUpdateNode");s(t$e,"getClassesFromDbInfo");s(r$e,"getStylesFromDbInfo");Sg=s((t,e,r,n,i,a,o,l)=>{let u=e.id,h=r.get(u),f=t$e(h),d=r$e(h);if(V.info("dataFetcher parsedItem",e,h,d),u!=="root"){let p=cT;e.start===!0?p=zue:e.start===!1&&(p=$ue),e.type!==k0&&(p=e.type),pT.get(u)||pT.set(u,{id:u,shape:p,description:$e.sanitizeText(u,le()),cssClasses:`${f} ${Uue}`,cssStyles:d});let m=pT.get(u);e.description&&(Array.isArray(m.description)?(m.shape=uT,m.description.push(e.description)):m.description?.length>0?(m.shape=uT,m.description===u?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=cT,m.description=e.description),m.description=$e.sanitizeTextOrArray(m.description,le())),m.description?.length===1&&m.shape===uT&&(m.type==="group"?m.shape=KN:m.shape=cT),!m.type&&e.doc&&(V.info("Setting cluster for XCX",u,Kue(e)),m.type="group",m.isGroup=!0,m.dir=Kue(e),m.shape=e.type===lT?jN:KN,m.cssClasses=`${m.cssClasses} ${Hue} ${a?Yue:""}`);let g={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:u,dir:m.dir,domId:tO(u,of),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:o};if(g.shape===jN&&(g.label=""),t&&t.id!=="root"&&(V.trace("Setting node ",u," to be child of its parent ",t.id),g.parentId=t.id),g.centerLabel=!0,e.note){let y={labelStyle:"",shape:Gue,label:e.note.text,cssClasses:Wue,cssStyles:[],cssCompilesStyles:[],id:u+jue+"-"+of,domId:tO(u,of,JN),type:m.type,isGroup:m.type==="group",padding:le().flowchart.padding,look:o,position:e.note.position},v=u+eO,x={labelStyle:"",shape:Vue,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:u+eO,domId:tO(u,of,ZN),type:"group",isGroup:!0,padding:16,look:o,position:e.note.position};of++,x.id=v,y.parentId=v,dT(n,x,l),dT(n,y,l),dT(n,g,l);let b=u,k=y.id;e.note.position==="left of"&&(b=y.id,k=u),i.push({id:b+"-"+k,start:b,end:k,arrowhead:"none",arrowTypeEnd:"",style:qN,labelStyle:"",classes:que,arrowheadStyle:WN,labelpos:HN,labelType:YN,thickness:XN,look:o})}else dT(n,g,l)}e.doc&&(V.trace("Adding nodes children "),e$e(e,e.doc,r,n,i,!a,o,l))},"dataFetcher"),Que=s(()=>{pT.clear(),of=0},"reset")});var rO,n$e,i$e,Jue,nO=_(()=>{"use strict";gt();it();zA();Rk();_L();pr();fT();rO=s((t,e=oT)=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),n$e=s(function(t,e){return e.db.extract(e.db.getRootDocV2()),e.db.getClasses()},"getClasses"),i$e=s(async function(t,e,r,n){V.info("REF0:"),V.info("Drawing state diagram (v2)",e);let{securityLevel:i,state:a,layout:o}=le();n.db.extract(n.db.getRootDocV2());let l=n.db.getData(),u=n5(e,i);l.type=n.type,l.layoutAlgorithm=o,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["barb"],l.diagramId=e,await Dk(l,u);let h=8;dt.insertTitle(u,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),Mk(u,h,Cg,a?.useMaxWidth??!0)},"draw"),Jue={getClasses:n$e,draw:i$e,getDir:rO}});function she(){return new Map}function iO(t=""){let e=t;return t===oO&&(ox++,e=`${nhe}${ox}`),e}function aO(t="",e=k0){return t===oO?nhe:e}function p$e(t=""){let e=t;return t===ihe&&(ox++,e=`${ahe}${ox}`),e}function m$e(t="",e=k0){return t===ihe?ahe:e}function g$e(t,e,r){let n=iO(t.id.trim()),i=aO(t.id.trim(),t.type),a=iO(e.id.trim()),o=aO(e.id.trim(),e.type);lf(n,i,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),lf(a,o,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),Rs.relations.push({id1:n,id2:a,relationTitle:$e.sanitizeText(r,le())})}var oO,nhe,ihe,ahe,ehe,the,a$e,s$e,yT,lO,ohe,vT,_g,lhe,xT,Rs,ox,rhe,o$e,l$e,mT,c$e,u$e,gT,cO,h$e,lf,che,w0,uhe,f$e,d$e,hhe,sO,y$e,v$e,fhe,x$e,uO,b$e,k$e,w$e,T$e,E$e,C$e,Fo,bT=_(()=>{"use strict";it();pr();Qt();gt();Ci();Zue();nO();fT();oO="[*]",nhe="start",ihe=oO,ahe="end",ehe="color",the="fill",a$e="bgFill",s$e=",";s(she,"newClassesList");yT=[],lO=[],ohe=Oue,vT=[],_g=she(),lhe=s(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),xT={root:lhe()},Rs=xT.root,ox=0,rhe=0,o$e={LINE:0,DOTTED_LINE:1},l$e={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},mT=s(t=>JSON.parse(JSON.stringify(t)),"clone"),c$e=s(t=>{V.info("Setting root doc",t),vT=t},"setRootDoc"),u$e=s(()=>vT,"getRootDoc"),gT=s((t,e,r)=>{if(e.stmt===sx)gT(t,e.state1,!0),gT(t,e.state2,!1);else if(e.stmt===Eg&&(e.id==="[*]"?(e.id=r?t.id+"_start":t.id+"_end",e.start=r):e.id=e.id.trim()),e.doc){let n=[],i=[],a;for(a=0;a0&&i.length>0){let o={stmt:Eg,id:lA(),type:"divider",doc:mT(i)};n.push(mT(o)),e.doc=n}e.doc.forEach(o=>gT(e,o,!0))}},"docTranslator"),cO=s(()=>(gT({id:"root"},{id:"root",doc:vT},!0),{id:"root",doc:vT}),"getRootDocV2"),h$e=s(t=>{let e;t.doc?e=t.doc:e=t,V.info(e),che(!0),V.info("Extract initial document:",e),e.forEach(a=>{switch(V.warn("Statement",a.stmt),a.stmt){case Eg:lf(a.id.trim(),a.type,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles);break;case sx:hhe(a.state1,a.state2,a.description);break;case Pue:fhe(a.id.trim(),a.classes);break;case Bue:{let o=a.id.trim().split(","),l=a.styleClass.split(",");o.forEach(u=>{let h=w0(u);if(h===void 0){let f=u.trim();lf(f),h=w0(f)}h.styles=l.map(f=>f.replace(/;/g,"")?.trim())})}break;case Fue:uO(a.id.trim(),a.styleClass);break}});let r=uhe(),i=le().look;Que(),Sg(void 0,cO(),r,yT,lO,!0,i,_g),yT.forEach(a=>{if(Array.isArray(a.label)){if(a.description=a.label.slice(1),a.isGroup&&a.description.length>0)throw new Error("Group nodes can only have label. Remove the additional description for node ["+a.id+"]");a.label=a.label[0]}})},"extract"),lf=s(function(t,e=k0,r=null,n=null,i=null,a=null,o=null,l=null){let u=t?.trim();if(Rs.states.has(u)?(Rs.states.get(u).doc||(Rs.states.get(u).doc=r),Rs.states.get(u).type||(Rs.states.get(u).type=e)):(V.info("Adding state ",u,n),Rs.states.set(u,{id:u,descriptions:[],type:e,doc:r,note:i,classes:[],styles:[],textStyles:[]})),n&&(V.info("Setting state description",u,n),typeof n=="string"&&sO(u,n.trim()),typeof n=="object"&&n.forEach(h=>sO(u,h.trim()))),i){let h=Rs.states.get(u);h.note=i,h.note.text=$e.sanitizeText(h.note.text,le())}a&&(V.info("Setting state classes",u,a),(typeof a=="string"?[a]:a).forEach(f=>uO(u,f.trim()))),o&&(V.info("Setting state styles",u,o),(typeof o=="string"?[o]:o).forEach(f=>b$e(u,f.trim()))),l&&(V.info("Setting state styles",u,o),(typeof l=="string"?[l]:l).forEach(f=>k$e(u,f.trim())))},"addState"),che=s(function(t){yT=[],lO=[],xT={root:lhe()},Rs=xT.root,ox=0,_g=she(),t||br()},"clear"),w0=s(function(t){return Rs.states.get(t)},"getState"),uhe=s(function(){return Rs.states},"getStates"),f$e=s(function(){V.info("Documents = ",xT)},"logDocuments"),d$e=s(function(){return Rs.relations},"getRelations");s(iO,"startIdIfNeeded");s(aO,"startTypeIfNeeded");s(p$e,"endIdIfNeeded");s(m$e,"endTypeIfNeeded");s(g$e,"addRelationObjs");hhe=s(function(t,e,r){if(typeof t=="object")g$e(t,e,r);else{let n=iO(t.trim()),i=aO(t),a=p$e(e.trim()),o=m$e(e);lf(n,i),lf(a,o),Rs.relations.push({id1:n,id2:a,title:$e.sanitizeText(r,le())})}},"addRelation"),sO=s(function(t,e){let r=Rs.states.get(t),n=e.startsWith(":")?e.replace(":","").trim():e;r.descriptions.push($e.sanitizeText(n,le()))},"addDescription"),y$e=s(function(t){return t.substring(0,1)===":"?t.substr(2).trim():t.trim()},"cleanupLabel"),v$e=s(()=>(rhe++,"divider-id-"+rhe),"getDividerId"),fhe=s(function(t,e=""){_g.has(t)||_g.set(t,{id:t,styles:[],textStyles:[]});let r=_g.get(t);e?.split(s$e).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(ehe).exec(n)){let o=i.replace(the,a$e).replace(ehe,the);r.textStyles.push(o)}r.styles.push(i)})},"addStyleClass"),x$e=s(function(){return _g},"getClasses"),uO=s(function(t,e){t.split(",").forEach(function(r){let n=w0(r);if(n===void 0){let i=r.trim();lf(i),n=w0(i)}n.classes.push(e)})},"setCssClass"),b$e=s(function(t,e){let r=w0(t);r!==void 0&&r.styles.push(e)},"setStyle"),k$e=s(function(t,e){let r=w0(t);r!==void 0&&r.textStyles.push(e)},"setTextStyle"),w$e=s(()=>ohe,"getDirection"),T$e=s(t=>{ohe=t},"setDirection"),E$e=s(t=>t&&t[0]===":"?t.substr(1).trim():t.trim(),"trimColon"),C$e=s(()=>{let t=le();return{nodes:yT,edges:lO,other:{},config:t,direction:rO(cO())}},"getData"),Fo={getConfig:s(()=>le().state,"getConfig"),getData:C$e,addState:lf,clear:che,getState:w0,getStates:uhe,getRelations:d$e,getClasses:x$e,getDirection:w$e,addRelation:hhe,getDividerId:v$e,setDirection:T$e,cleanupLabel:y$e,lineType:o$e,relationType:l$e,logDocuments:f$e,getRootDoc:u$e,setRootDoc:c$e,getRootDocV2:cO,extract:h$e,trimColon:E$e,getAccTitle:Gr,setAccTitle:Ar,getAccDescription:Ur,setAccDescription:Vr,addStyleClass:fhe,setCssClass:uO,addDescription:sO,setDiagramTitle:an,getDiagramTitle:Qr}});var S$e,kT,hO=_(()=>{"use strict";S$e=s(t=>` +defs #statediagram-barbEnd { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor||t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor||t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground||t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg||t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; + // line-height: 1; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder||t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground||t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`,"getStyles"),kT=S$e});var fO,_$e,A$e,dhe,L$e,phe,mhe=_(()=>{"use strict";fO={},_$e=s((t,e)=>{fO[t]=e},"set"),A$e=s(t=>fO[t],"get"),dhe=s(()=>Object.keys(fO),"keys"),L$e=s(()=>dhe().length,"size"),phe={get:A$e,set:_$e,keys:dhe,size:L$e}});var D$e,R$e,M$e,I$e,yhe,N$e,O$e,P$e,B$e,dO,ghe,vhe,xhe=_(()=>{"use strict";Xt();mhe();bT();pr();Qt();gt();it();D$e=s(t=>t.append("circle").attr("class","start-state").attr("r",le().state.sizeUnit).attr("cx",le().state.padding+le().state.sizeUnit).attr("cy",le().state.padding+le().state.sizeUnit),"drawStartState"),R$e=s(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",le().state.textHeight).attr("class","divider").attr("x2",le().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),M$e=s((t,e)=>{let r=t.append("text").attr("x",2*le().state.padding).attr("y",le().state.textHeight+2*le().state.padding).attr("font-size",le().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",le().state.padding).attr("y",le().state.padding).attr("width",n.width+2*le().state.padding).attr("height",n.height+2*le().state.padding).attr("rx",le().state.radius),r},"drawSimpleState"),I$e=s((t,e)=>{let r=s(function(p,m,g){let y=p.append("tspan").attr("x",2*le().state.padding).text(m);g||y.attr("dy",le().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*le().state.padding).attr("y",le().state.textHeight+1.3*le().state.padding).attr("font-size",le().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,o=t.append("text").attr("x",le().state.padding).attr("y",a+le().state.padding*.4+le().state.dividerMargin+le().state.textHeight).attr("class","state-description"),l=!0,u=!0;e.descriptions.forEach(function(p){l||(r(o,p,u),u=!1),l=!1});let h=t.append("line").attr("x1",le().state.padding).attr("y1",le().state.padding+a+le().state.dividerMargin/2).attr("y2",le().state.padding+a+le().state.dividerMargin/2).attr("class","descr-divider"),f=o.node().getBBox(),d=Math.max(f.width,i.width);return h.attr("x2",d+3*le().state.padding),t.insert("rect",":first-child").attr("x",le().state.padding).attr("y",le().state.padding).attr("width",d+2*le().state.padding).attr("height",f.height+a+2*le().state.padding).attr("rx",le().state.radius),t},"drawDescrState"),yhe=s((t,e,r)=>{let n=le().state.padding,i=2*le().state.padding,a=t.node().getBBox(),o=a.width,l=a.x,u=t.append("text").attr("x",0).attr("y",le().state.titleShift).attr("font-size",le().state.fontSize).attr("class","state-title").text(e.id),f=u.node().getBBox().width+i,d=Math.max(f,o);d===o&&(d=d+i);let p,m=t.node().getBBox();e.doc,p=l-n,f>o&&(p=(o-d)/2+n),Math.abs(l-m.x)o&&(p=l-(f-o)/2);let g=1-le().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",m.height+le().state.textHeight+le().state.titleShift+1).attr("rx","0"),u.attr("x",p+n),f<=o&&u.attr("x",l+(d-i)/2-f/2+n),t.insert("rect",":first-child").attr("x",p).attr("y",le().state.titleShift-le().state.textHeight-le().state.padding).attr("width",d).attr("height",le().state.textHeight*3).attr("rx",le().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",le().state.titleShift-le().state.textHeight-le().state.padding).attr("width",d).attr("height",m.height+3+2*le().state.textHeight).attr("rx",le().state.radius),t},"addTitleAndBox"),N$e=s(t=>(t.append("circle").attr("class","end-state-outer").attr("r",le().state.sizeUnit+le().state.miniPadding).attr("cx",le().state.padding+le().state.sizeUnit+le().state.miniPadding).attr("cy",le().state.padding+le().state.sizeUnit+le().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",le().state.sizeUnit).attr("cx",le().state.padding+le().state.sizeUnit+2).attr("cy",le().state.padding+le().state.sizeUnit+2)),"drawEndState"),O$e=s((t,e)=>{let r=le().state.forkWidth,n=le().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",le().state.padding).attr("y",le().state.padding)},"drawForkJoinState"),P$e=s((t,e,r,n)=>{let i=0,a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let o=t.replace(/\r\n/g,"
    ");o=o.replace(/\n/g,"
    ");let l=o.split($e.lineBreakRegex),u=1.25*le().state.noteMargin;for(let h of l){let f=h.trim();if(f.length>0){let d=a.append("tspan");if(d.text(f),u===0){let p=d.node().getBBox();u+=p.height}i+=u,d.attr("x",e+le().state.noteMargin),d.attr("y",r+i+1.25*le().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),B$e=s((t,e)=>{e.attr("class","state-note");let r=e.append("rect").attr("x",0).attr("y",le().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=P$e(t,0,0,n);return r.attr("height",a+2*le().state.noteMargin),r.attr("width",i+le().state.noteMargin*2),r},"drawNote"),dO=s(function(t,e){let r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&D$e(i),e.type==="end"&&N$e(i),(e.type==="fork"||e.type==="join")&&O$e(i,e),e.type==="note"&&B$e(e.note.text,i),e.type==="divider"&&R$e(i),e.type==="default"&&e.descriptions.length===0&&M$e(i,e),e.type==="default"&&e.descriptions.length>0&&I$e(i,e);let a=i.node().getBBox();return n.width=a.width+2*le().state.padding,n.height=a.height+2*le().state.padding,phe.set(r,n),n},"drawState"),ghe=0,vhe=s(function(t,e,r){let n=s(function(u){switch(u){case Fo.relationType.AGGREGATION:return"aggregation";case Fo.relationType.EXTENSION:return"extension";case Fo.relationType.COMPOSITION:return"composition";case Fo.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(u=>!Number.isNaN(u.y));let i=e.points,a=ra().x(function(u){return u.x}).y(function(u){return u.y}).curve(hs),o=t.append("path").attr("d",a(i)).attr("id","edge"+ghe).attr("class","transition"),l="";if(le().state.arrowMarkerAbsolute&&(l=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,l=l.replace(/\(/g,"\\("),l=l.replace(/\)/g,"\\)")),o.attr("marker-end","url("+l+"#"+n(Fo.relationType.DEPENDENCY)+"End)"),r.title!==void 0){let u=t.append("g").attr("class","stateLabel"),{x:h,y:f}=dt.calcLabelPosition(e.points),d=$e.getRows(r.title),p=0,m=[],g=0,y=0;for(let b=0;b<=d.length;b++){let k=u.append("text").attr("text-anchor","middle").text(d[b]).attr("x",h).attr("y",f+p),A=k.node().getBBox();g=Math.max(g,A.width),y=Math.min(y,A.x),V.info(A.x,h,f+p),p===0&&(p=k.node().getBBox().height,V.info("Title height",p,f)),m.push(k)}let v=p*d.length;if(d.length>1){let b=(d.length-1)*p*.5;m.forEach((k,A)=>k.attr("y",f+A*p-b)),v=p*d.length}let x=u.node().getBBox();u.insert("rect",":first-child").attr("class","box").attr("x",h-g/2-le().state.padding/2).attr("y",f-v/2-le().state.padding/2-3.5).attr("width",g+le().state.padding).attr("height",v+le().state.padding),V.info(x)}ghe++},"drawEdge")});var so,pO,F$e,z$e,$$e,G$e,bhe,khe,whe=_(()=>{"use strict";Xt();Dd();la();it();Qt();xhe();gt();Un();pO={},F$e=s(function(){},"setConf"),z$e=s(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),$$e=s(function(t,e,r,n){so=le().state;let i=le().securityLevel,a;i==="sandbox"&&(a=Me("#i"+e));let o=i==="sandbox"?Me(a.nodes()[0].contentDocument.body):Me("body"),l=i==="sandbox"?a.nodes()[0].contentDocument:document;V.debug("Rendering diagram "+t);let u=o.select(`[id='${e}']`);z$e(u);let h=n.db.getRootDoc();bhe(h,u,void 0,!1,o,l,n);let f=so.padding,d=u.node().getBBox(),p=d.width+f*2,m=d.height+f*2,g=p*1.75;xr(u,m,g,so.useMaxWidth),u.attr("viewBox",`${d.x-so.padding} ${d.y-so.padding} `+p+" "+m)},"draw"),G$e=s(t=>t?t.length*so.fontSizeFactor:1,"getLabelWidth"),bhe=s((t,e,r,n,i,a,o)=>{let l=new ir({compound:!0,multigraph:!0}),u,h=!0;for(u=0;u{let w=A.parentElement,T=0,C=0;w&&(w.parentElement&&(T=w.parentElement.getBBox().width),C=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(C)&&(C=0)),A.setAttribute("x1",0-C+8),A.setAttribute("x2",T-C-8)})):V.debug("No Node "+b+": "+JSON.stringify(l.node(b)))});let v=y.getBBox();l.edges().forEach(function(b){b!==void 0&&l.edge(b)!==void 0&&(V.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(l.edge(b))),vhe(e,l.edge(b),l.edge(b).relation))}),v=y.getBBox();let x={id:r||"root",label:r||"root",width:0,height:0};return x.width=v.width+2*so.padding,x.height=v.height+2*so.padding,V.debug("Doc rendered",x,l),x},"renderDoc"),khe={setConf:F$e,draw:$$e}});var The={};ur(The,{diagram:()=>V$e});var V$e,Ehe=_(()=>{"use strict";UN();bT();hO();whe();V$e={parser:sT,db:Fo,renderer:khe,styles:kT,init:s(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Fo.clear()},"init")}});var _he={};ur(_he,{diagram:()=>H$e});var H$e,Ahe=_(()=>{"use strict";UN();bT();hO();nO();H$e={parser:sT,db:Fo,renderer:Jue,styles:kT,init:s(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Fo.clear()},"init")}});var mO,Rhe,Mhe=_(()=>{"use strict";mO=function(){var t=s(function(d,p,m,g){for(m=m||{},g=d.length;g--;m[d[g]]=p);return m},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],o=[1,13],l=[1,14],u={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:s(function(p,m,g,y,v,x,b){var k=x.length-1;switch(v){case 1:return x[k-1];case 2:this.$=[];break;case 3:x[k-1].push(x[k]),this.$=x[k-1];break;case 4:case 5:this.$=x[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(x[k].substr(6)),this.$=x[k].substr(6);break;case 9:this.$=x[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=x[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(x[k].substr(8)),this.$=x[k].substr(8);break;case 13:y.addTask(x[k-1],x[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:o,18:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:o,18:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(p,m){if(m.recoverable)this.trace(p);else{var g=new Error(p);throw g.hash=m,g}},"parseError"),parse:s(function(p){var m=this,g=[0],y=[],v=[null],x=[],b=this.table,k="",A=0,w=0,T=0,C=2,E=1,S=x.slice.call(arguments,1),R=Object.create(this.lexer),D={yy:{}};for(var L in this.yy)Object.prototype.hasOwnProperty.call(this.yy,L)&&(D.yy[L]=this.yy[L]);R.setInput(p,D.yy),D.yy.lexer=R,D.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var P=R.yylloc;x.push(P);var M=R.options&&R.options.ranges;typeof D.yy.parseError=="function"?this.parseError=D.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(H){g.length=g.length-2*H,v.length=v.length-H,x.length=x.length-H}s(F,"popStack");function I(){var H;return H=y.pop()||R.lex()||E,typeof H!="number"&&(H instanceof Array&&(y=H,H=y.pop()),H=m.symbols_[H]||H),H}s(I,"lex");for(var O,z,N,U,$,W,ee={},te,ce,Z,fe;;){if(N=g[g.length-1],this.defaultActions[N]?U=this.defaultActions[N]:((O===null||typeof O>"u")&&(O=I()),U=b[N]&&b[N][O]),typeof U>"u"||!U.length||!U[0]){var ne="";fe=[];for(te in b[N])this.terminals_[te]&&te>C&&fe.push("'"+this.terminals_[te]+"'");R.showPosition?ne="Parse error on line "+(A+1)+`: +`+R.showPosition()+` +Expecting `+fe.join(", ")+", got '"+(this.terminals_[O]||O)+"'":ne="Parse error on line "+(A+1)+": Unexpected "+(O==E?"end of input":"'"+(this.terminals_[O]||O)+"'"),this.parseError(ne,{text:R.match,token:this.terminals_[O]||O,line:R.yylineno,loc:P,expected:fe})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+O);switch(U[0]){case 1:g.push(O),v.push(R.yytext),x.push(R.yylloc),g.push(U[1]),O=null,z?(O=z,z=null):(w=R.yyleng,k=R.yytext,A=R.yylineno,P=R.yylloc,T>0&&T--);break;case 2:if(ce=this.productions_[U[1]][1],ee.$=v[v.length-ce],ee._$={first_line:x[x.length-(ce||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(ce||1)].first_column,last_column:x[x.length-1].last_column},M&&(ee._$.range=[x[x.length-(ce||1)].range[0],x[x.length-1].range[1]]),W=this.performAction.apply(ee,[k,w,A,D.yy,U[1],v,x].concat(S)),typeof W<"u")return W;ce&&(g=g.slice(0,-1*ce*2),v=v.slice(0,-1*ce),x=x.slice(0,-1*ce)),g.push(this.productions_[U[1]][0]),v.push(ee.$),x.push(ee._$),Z=b[g[g.length-2]][g[g.length-1]],g.push(Z);break;case 3:return!0}}return!0},"parse")},h=function(){var d={EOF:1,parseError:s(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:s(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:s(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var v=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(p){this.unput(this.match.slice(p))},"less"),pastInput:s(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` +`+m+"^"},"showPosition"),test_match:s(function(p,m){var g,y,v;if(this.options.backtrack_lexer&&(v={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(v.yylloc.range=this.yylloc.range.slice(0))),y=p[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],g=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var x in v)this[x]=v[x];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,g,y;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),x=0;xm[0].length)){if(m=g,y=x,this.options.backtrack_lexer){if(p=this.test_match(g,v[x]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,v[y]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var m=this.next();return m||this.lex()},"lex"),begin:s(function(m){this.conditionStack.push(m)},"begin"),popState:s(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:s(function(m){this.begin(m)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(m,g,y,v){var x=v;switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d}();u.lexer=h;function f(){this.yy={}}return s(f,"Parser"),f.prototype=u,u.Parser=f,new f}();mO.parser=mO;Rhe=mO});var Ag,gO,lx,cx,K$e,Q$e,Z$e,J$e,eGe,tGe,rGe,Ihe,nGe,yO,Nhe=_(()=>{"use strict";gt();Ci();Ag="",gO=[],lx=[],cx=[],K$e=s(function(){gO.length=0,lx.length=0,Ag="",cx.length=0,br()},"clear"),Q$e=s(function(t){Ag=t,gO.push(t)},"addSection"),Z$e=s(function(){return gO},"getSections"),J$e=s(function(){let t=Ihe(),e=100,r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),tGe=s(function(t,e){let r=e.substr(1).split(":"),n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));let a=i.map(l=>l.trim()),o={section:Ag,type:Ag,people:a,task:t,score:n};cx.push(o)},"addTask"),rGe=s(function(t){let e={section:Ag,type:Ag,description:t,task:t,classes:[]};lx.push(e)},"addTaskOrg"),Ihe=s(function(){let t=s(function(r){return cx[r].processed},"compileTask"),e=!0;for(let[r,n]of cx.entries())t(r),e=e&&n.processed;return e},"compileTasks"),nGe=s(function(){return eGe()},"getActors"),yO={getConfig:s(()=>le().journey,"getConfig"),clear:K$e,setDiagramTitle:an,getDiagramTitle:Qr,setAccTitle:Ar,getAccTitle:Gr,setAccDescription:Vr,getAccDescription:Ur,addSection:Q$e,getSections:Z$e,getTasks:J$e,addTask:tGe,addTaskOrg:rGe,getActors:nGe}});var iGe,Ohe,Phe=_(()=>{"use strict";iGe=s(t=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${t.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${t.textColor} + } + + .legend { + fill: ${t.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${t.textColor} + } + + .face { + ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${t.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${t.fillType0?`fill: ${t.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${t.fillType0?`fill: ${t.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${t.fillType0?`fill: ${t.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${t.fillType0?`fill: ${t.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${t.fillType0?`fill: ${t.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${t.fillType0?`fill: ${t.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${t.fillType0?`fill: ${t.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${t.fillType0?`fill: ${t.fillType7}`:""}; + } + + .actor-0 { + ${t.actor0?`fill: ${t.actor0}`:""}; + } + .actor-1 { + ${t.actor1?`fill: ${t.actor1}`:""}; + } + .actor-2 { + ${t.actor2?`fill: ${t.actor2}`:""}; + } + .actor-3 { + ${t.actor3?`fill: ${t.actor3}`:""}; + } + .actor-4 { + ${t.actor4?`fill: ${t.actor4}`:""}; + } + .actor-5 { + ${t.actor5?`fill: ${t.actor5}`:""}; + } +`,"getStyles"),Ohe=iGe});var vO,aGe,Fhe,zhe,sGe,oGe,Bhe,lGe,cGe,$he,uGe,Lg,Ghe=_(()=>{"use strict";Xt();Iy();vO=s(function(t,e){return ad(t,e)},"drawRect"),aGe=s(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=sl().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}s(a,"smile");function o(u){let h=sl().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}s(o,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s(l,"ambivalent"),e.score>3?a(i):e.score<3?o(i):l(i),n},"drawFace"),Fhe=s(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),zhe=s(function(t,e){return Zq(t,e)},"drawText"),sGe=s(function(t,e){function r(i,a,o,l,u){return i+","+a+" "+(i+o)+","+a+" "+(i+o)+","+(a+l-u)+" "+(i+o-u*1.2)+","+(a+l)+" "+i+","+(a+l)}s(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,zhe(t,e)},"drawLabel"),oGe=s(function(t,e,r){let n=t.append("g"),i=ol();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,vO(n,i),$he(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),Bhe=-1,lGe=s(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");Bhe++;let a=300+5*30;i.append("line").attr("id","task"+Bhe).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",a).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),aGe(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let o=ol();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,vO(i,o);let l=e.x+14;e.people.forEach(u=>{let h=e.actors[u].color,f={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Fhe(i,f),l+=10}),$he(r)(e.task,i,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),cGe=s(function(t,e){v3(t,e)},"drawBackgroundRect"),$he=function(){function t(i,a,o,l,u,h,f,d){let p=a.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}s(t,"byText");function e(i,a,o,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{let i=Vu[n].color,a={cx:20,cy:r,r:7,fill:i,stroke:"#000",pos:Vu[n].position};Lg.drawCircle(t,a);let o={x:40,y:r+7,fill:"#666",text:n,textMargin:e.boxTextMargin|5};Lg.drawText(t,o),r+=20})}var hGe,Vu,wT,T0,dGe,zo,xO,Vhe,pGe,bO,Uhe=_(()=>{"use strict";Xt();Ghe();gt();Un();hGe=s(function(t){Object.keys(t).forEach(function(r){wT[r]=t[r]})},"setConf"),Vu={};s(fGe,"drawActorLegend");wT=le().journey,T0=wT.leftMargin,dGe=s(function(t,e,r,n){let i=le().journey,a=le().securityLevel,o;a==="sandbox"&&(o=Me("#i"+e));let l=a==="sandbox"?Me(o.nodes()[0].contentDocument.body):Me("body");zo.init();let u=l.select("#"+e);Lg.initGraphics(u);let h=n.db.getTasks(),f=n.db.getDiagramTitle(),d=n.db.getActors();for(let x in Vu)delete Vu[x];let p=0;d.forEach(x=>{Vu[x]={color:i.actorColours[p%i.actorColours.length],position:p},p++}),fGe(u),zo.insert(0,0,T0,Object.keys(Vu).length*50),pGe(u,h,0);let m=zo.getBounds();f&&u.append("text").text(f).attr("x",T0).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);let g=m.stopy-m.starty+2*i.diagramMarginY,y=T0+m.stopx+2*i.diagramMarginX;xr(u,g,y,i.useMaxWidth),u.append("line").attr("x1",T0).attr("y1",i.height*4).attr("x2",y-T0-4).attr("y2",i.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let v=f?70:0;u.attr("viewBox",`${m.startx} -25 ${y} ${g+v}`),u.attr("preserveAspectRatio","xMinYMin meet"),u.attr("height",g+v+25)},"draw"),zo={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:s(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:s(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:s(function(t,e,r,n){let i=le().journey,a=this,o=0;function l(u){return s(function(f){o++;let d=a.sequenceItems.length-o+1;a.updateVal(f,"starty",e-d*i.boxMargin,Math.min),a.updateVal(f,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(zo.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(zo.data,"stopx",r+d*i.boxMargin,Math.max),u!=="activation"&&(a.updateVal(f,"startx",t-d*i.boxMargin,Math.min),a.updateVal(f,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(zo.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(zo.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}s(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:s(function(t,e,r,n){let i=Math.min(t,r),a=Math.max(t,r),o=Math.min(e,n),l=Math.max(e,n);this.updateVal(zo.data,"startx",i,Math.min),this.updateVal(zo.data,"starty",o,Math.min),this.updateVal(zo.data,"stopx",a,Math.max),this.updateVal(zo.data,"stopy",l,Math.max),this.updateBounds(i,o,a,l)},"insert"),bumpVerticalPos:s(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:s(function(){return this.verticalPos},"getVerticalPos"),getBounds:s(function(){return this.data},"getBounds")},xO=wT.sectionFills,Vhe=wT.sectionColours,pGe=s(function(t,e,r){let n=le().journey,i="",a=n.height*2+n.diagramMarginY,o=r+a,l=0,u="#CCC",h="black",f=0;for(let[d,p]of e.entries()){if(i!==p.section){u=xO[l%xO.length],f=l%xO.length,h=Vhe[l%Vhe.length];let g=0,y=p.section;for(let x=d;x(Vu[y]&&(g[y]=Vu[y]),g),{});p.x=d*n.taskMargin+d*n.width+T0,p.y=o,p.width=n.diagramMarginX,p.height=n.diagramMarginY,p.colour=h,p.fill=u,p.num=f,p.actors=m,Lg.drawTask(t,p,n),zo.insert(p.x,p.y,p.x+p.width+n.taskMargin,300+5*30)}},"drawTasks"),bO={setConf:hGe,draw:dGe}});var qhe={};ur(qhe,{diagram:()=>mGe});var mGe,Whe=_(()=>{"use strict";Mhe();Nhe();Phe();Uhe();mGe={parser:Rhe,db:yO,renderer:bO,styles:Ohe,init:s(t=>{bO.setConf(t.journey),yO.clear()},"init")}});var wO,Zhe,Jhe=_(()=>{"use strict";wO=function(){var t=s(function(p,m,g,y){for(g=g||{},y=p.length;y--;g[p[y]]=m);return g},"o"),e=[6,8,10,11,12,14,16,17,20,21],r=[1,9],n=[1,10],i=[1,11],a=[1,12],o=[1,13],l=[1,16],u=[1,17],h={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:s(function(m,g,y,v,x,b,k){var A=b.length-1;switch(x){case 1:return b[A-1];case 2:this.$=[];break;case 3:b[A-1].push(b[A]),this.$=b[A-1];break;case 4:case 5:this.$=b[A];break;case 6:case 7:this.$=[];break;case 8:v.getCommonDb().setDiagramTitle(b[A].substr(6)),this.$=b[A].substr(6);break;case 9:this.$=b[A].trim(),v.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=b[A].trim(),v.getCommonDb().setAccDescription(this.$);break;case 12:v.addSection(b[A].substr(8)),this.$=b[A].substr(8);break;case 15:v.addTask(b[A],0,""),this.$=b[A];break;case 16:v.addEvent(b[A].substr(2)),this.$=b[A];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:o,18:14,19:15,20:l,21:u},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:r,12:n,14:i,16:a,17:o,18:14,19:15,20:l,21:u},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:s(function(m,g){if(g.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=g,y}},"parseError"),parse:s(function(m){var g=this,y=[0],v=[],x=[null],b=[],k=this.table,A="",w=0,T=0,C=0,E=2,S=1,R=b.slice.call(arguments,1),D=Object.create(this.lexer),L={yy:{}};for(var P in this.yy)Object.prototype.hasOwnProperty.call(this.yy,P)&&(L.yy[P]=this.yy[P]);D.setInput(m,L.yy),L.yy.lexer=D,L.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var M=D.yylloc;b.push(M);var F=D.options&&D.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){y.length=y.length-2*Q,x.length=x.length-Q,b.length=b.length-Q}s(I,"popStack");function O(){var Q;return Q=v.pop()||D.lex()||S,typeof Q!="number"&&(Q instanceof Array&&(v=Q,Q=v.pop()),Q=g.symbols_[Q]||Q),Q}s(O,"lex");for(var z,N,U,$,W,ee,te={},ce,Z,fe,ne;;){if(U=y[y.length-1],this.defaultActions[U]?$=this.defaultActions[U]:((z===null||typeof z>"u")&&(z=O()),$=k[U]&&k[U][z]),typeof $>"u"||!$.length||!$[0]){var H="";ne=[];for(ce in k[U])this.terminals_[ce]&&ce>E&&ne.push("'"+this.terminals_[ce]+"'");D.showPosition?H="Parse error on line "+(w+1)+`: +`+D.showPosition()+` +Expecting `+ne.join(", ")+", got '"+(this.terminals_[z]||z)+"'":H="Parse error on line "+(w+1)+": Unexpected "+(z==S?"end of input":"'"+(this.terminals_[z]||z)+"'"),this.parseError(H,{text:D.match,token:this.terminals_[z]||z,line:D.yylineno,loc:M,expected:ne})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+U+", token: "+z);switch($[0]){case 1:y.push(z),x.push(D.yytext),b.push(D.yylloc),y.push($[1]),z=null,N?(z=N,N=null):(T=D.yyleng,A=D.yytext,w=D.yylineno,M=D.yylloc,C>0&&C--);break;case 2:if(Z=this.productions_[$[1]][1],te.$=x[x.length-Z],te._$={first_line:b[b.length-(Z||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(Z||1)].first_column,last_column:b[b.length-1].last_column},F&&(te._$.range=[b[b.length-(Z||1)].range[0],b[b.length-1].range[1]]),ee=this.performAction.apply(te,[A,T,w,L.yy,$[1],x,b].concat(R)),typeof ee<"u")return ee;Z&&(y=y.slice(0,-1*Z*2),x=x.slice(0,-1*Z),b=b.slice(0,-1*Z)),y.push(this.productions_[$[1]][0]),x.push(te.$),b.push(te._$),fe=k[y[y.length-2]][y[y.length-1]],y.push(fe);break;case 3:return!0}}return!0},"parse")},f=function(){var p={EOF:1,parseError:s(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:s(function(m,g){return this.yy=g||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:s(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(m){this.unput(this.match.slice(m))},"less"),pastInput:s(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var m=this.pastInput(),g=new Array(m.length+1).join("-");return m+this.upcomingInput()+` +`+g+"^"},"showPosition"),test_match:s(function(m,g){var y,v,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),v=m[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(m[0].length),this.matched+=m[0],y=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var b in x)this[b]=x[b];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,g,y,v;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),b=0;bg[0].length)){if(g=y,v=b,this.options.backtrack_lexer){if(m=this.test_match(y,x[b]),m!==!1)return m;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(m=this.test_match(g,x[v]),m!==!1?m:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var g=this.next();return g||this.lex()},"lex"),begin:s(function(g){this.conditionStack.push(g)},"begin"),popState:s(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:s(function(g){this.begin(g)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(g,y,v,x){var b=x;switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s[^:\n]+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return p}();h.lexer=f;function d(){this.yy={}}return s(d,"Parser"),d.prototype=h,h.Parser=d,new d}();wO.parser=wO;Zhe=wO});var EO={};ur(EO,{addEvent:()=>lfe,addSection:()=>ife,addTask:()=>ofe,addTaskOrg:()=>cfe,clear:()=>nfe,default:()=>EGe,getCommonDb:()=>rfe,getSections:()=>afe,getTasks:()=>sfe});var Dg,tfe,TO,TT,Rg,rfe,nfe,ife,afe,sfe,ofe,lfe,cfe,efe,EGe,ufe=_(()=>{"use strict";Ci();Dg="",tfe=0,TO=[],TT=[],Rg=[],rfe=s(()=>q1,"getCommonDb"),nfe=s(function(){TO.length=0,TT.length=0,Dg="",Rg.length=0,br()},"clear"),ife=s(function(t){Dg=t,TO.push(t)},"addSection"),afe=s(function(){return TO},"getSections"),sfe=s(function(){let t=efe(),e=100,r=0;for(;!t&&rr.id===tfe-1).events.push(t)},"addEvent"),cfe=s(function(t){let e={section:Dg,type:Dg,description:t,task:t,classes:[]};TT.push(e)},"addTaskOrg"),efe=s(function(){let t=s(function(r){return Rg[r].processed},"compileTask"),e=!0;for(let[r,n]of Rg.entries())t(r),e=e&&n.processed;return e},"compileTasks"),EGe={clear:nfe,getCommonDb:rfe,addSection:ife,getSections:afe,getTasks:sfe,addTask:ofe,addTaskOrg:cfe,addEvent:lfe}});function pfe(t,e){t.each(function(){var r=Me(this),n=r.text().split(/(\s+|
    )/).reverse(),i,a=[],o=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let f=0;fe||i==="
    ")&&(a.pop(),h.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",o+"em").text(i))})}var CGe,ET,SGe,_Ge,ffe,AGe,LGe,hfe,DGe,RGe,MGe,CO,dfe,IGe,NGe,OGe,PGe,cf,mfe=_(()=>{"use strict";Xt();CGe=12,ET=s(function(t,e){let r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),SGe=s(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=sl().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}s(a,"smile");function o(u){let h=sl().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}s(o,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s(l,"ambivalent"),e.score>3?a(i):e.score<3?o(i):l(i),n},"drawFace"),_Ge=s(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),ffe=s(function(t,e){let r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),AGe=s(function(t,e){function r(i,a,o,l,u){return i+","+a+" "+(i+o)+","+a+" "+(i+o)+","+(a+l-u)+" "+(i+o-u*1.2)+","+(a+l)+" "+i+","+(a+l)}s(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,ffe(t,e)},"drawLabel"),LGe=s(function(t,e,r){let n=t.append("g"),i=CO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,ET(n,i),dfe(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),hfe=-1,DGe=s(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");hfe++;let a=300+5*30;i.append("line").attr("id","task"+hfe).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",a).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),SGe(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let o=CO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,ET(i,o),dfe(r)(e.task,i,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),RGe=s(function(t,e){ET(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),MGe=s(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),CO=s(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),dfe=function(){function t(i,a,o,l,u,h,f,d){let p=a.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}s(t,"byText");function e(i,a,o,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{"use strict";Xt();mfe();it();gt();Un();BGe=s(function(t,e,r,n){let i=le(),a=i.leftMargin??50;V.debug("timeline",n.db);let o=i.securityLevel,l;o==="sandbox"&&(l=Me("#i"+e));let h=(o==="sandbox"?Me(l.nodes()[0].contentDocument.body):Me("body")).select("#"+e);h.append("g");let f=n.db.getTasks(),d=n.db.getCommonDb().getDiagramTitle();V.debug("task",f),cf.initGraphics(h);let p=n.db.getSections();V.debug("sections",p);let m=0,g=0,y=0,v=0,x=50+a,b=50;v=50;let k=0,A=!0;p.forEach(function(S){let R={number:k,descr:S,section:k,width:150,padding:20,maxHeight:m},D=cf.getVirtualNodeHeight(h,R,i);V.debug("sectionHeight before draw",D),m=Math.max(m,D+20)});let w=0,T=0;V.debug("tasks.length",f.length);for(let[S,R]of f.entries()){let D={number:S,descr:R,section:R.section,width:150,padding:20,maxHeight:g},L=cf.getVirtualNodeHeight(h,D,i);V.debug("taskHeight before draw",L),g=Math.max(g,L+20),w=Math.max(w,R.events.length);let P=0;for(let M of R.events){let F={descr:M,section:R.section,number:R.section,width:150,padding:20,maxHeight:50};P+=cf.getVirtualNodeHeight(h,F,i)}T=Math.max(T,P)}V.debug("maxSectionHeight before draw",m),V.debug("maxTaskHeight before draw",g),p&&p.length>0?p.forEach(S=>{let R=f.filter(M=>M.section===S),D={number:k,descr:S,section:k,width:200*Math.max(R.length,1)-50,padding:20,maxHeight:m};V.debug("sectionNode",D);let L=h.append("g"),P=cf.drawNode(L,D,k,i);V.debug("sectionNode output",P),L.attr("transform",`translate(${x}, ${v})`),b+=m+50,R.length>0&&gfe(h,R,k,x,b,g,i,w,T,m,!1),x+=200*Math.max(R.length,1),b=v,k++}):(A=!1,gfe(h,f,k,x,b,g,i,w,T,m,!0));let C=h.node().getBBox();V.debug("bounds",C),d&&h.append("text").text(d).attr("x",C.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),y=A?m+g+150:g+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",a).attr("y1",y).attr("x2",C.width+3*a).attr("y2",y).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),ql(void 0,h,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),gfe=s(function(t,e,r,n,i,a,o,l,u,h,f){for(let d of e){let p={descr:d.task,section:r,number:r,width:150,padding:20,maxHeight:a};V.debug("taskNode",p);let m=t.append("g").attr("class","taskWrapper"),y=cf.drawNode(m,p,r,o).height;if(V.debug("taskHeight after draw",y),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,y),d.events){let v=t.append("g").attr("class","lineWrapper"),x=a;i+=100,x=x+FGe(t,d.events,r,n,i,o),i-=100,v.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+(f?a:h)+u+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}n=n+200,f&&!o.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),FGe=s(function(t,e,r,n,i,a){let o=0,l=i;i=i+100;for(let u of e){let h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};V.debug("eventNode",h);let f=t.append("g").attr("class","eventWrapper"),p=cf.drawNode(f,h,r,a).height;o=o+p,f.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),yfe={setConf:s(()=>{},"setConf"),draw:BGe}});var zGe,$Ge,xfe,bfe=_(()=>{"use strict";Ho();zGe=s(t=>{let e="";for(let r=0;r` + .edge { + stroke-width: 3; + } + ${zGe(t)} + .section-root rect, .section-root path, .section-root circle { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`,"getStyles"),xfe=$Ge});var kfe={};ur(kfe,{diagram:()=>GGe});var GGe,wfe=_(()=>{"use strict";Jhe();ufe();vfe();bfe();GGe={db:EO,renderer:yfe,parser:Zhe,styles:xfe}});var SO,Cfe,Sfe=_(()=>{"use strict";SO=function(){var t=s(function(A,w,T,C){for(T=T||{},C=A.length;C--;T[A[C]]=w);return T},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],o=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:s(function(w,T,C,E,S,R,D){var L=R.length-1;switch(S){case 6:case 7:return E;case 8:E.getLogger().trace("Stop NL ");break;case 9:E.getLogger().trace("Stop EOF ");break;case 11:E.getLogger().trace("Stop NL2 ");break;case 12:E.getLogger().trace("Stop EOF2 ");break;case 15:E.getLogger().info("Node: ",R[L].id),E.addNode(R[L-1].length,R[L].id,R[L].descr,R[L].type);break;case 16:E.getLogger().trace("Icon: ",R[L]),E.decorateNode({icon:R[L]});break;case 17:case 21:E.decorateNode({class:R[L]});break;case 18:E.getLogger().trace("SPACELIST");break;case 19:E.getLogger().trace("Node: ",R[L].id),E.addNode(0,R[L].id,R[L].descr,R[L].type);break;case 20:E.decorateNode({icon:R[L]});break;case 25:E.getLogger().trace("node found ..",R[L-2]),this.$={id:R[L-1],descr:R[L-1],type:E.getType(R[L-2],R[L])};break;case 26:this.$={id:R[L],descr:R[L],type:E.nodeType.DEFAULT};break;case 27:E.getLogger().trace("node found ..",R[L-3]),this.$={id:R[L-3],descr:R[L-1],type:E.getType(R[L-2],R[L])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:l},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:l},{6:h,7:f,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:o,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:f,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:l},t(m,[2,14],{7:g,11:y}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:g,11:y}),t(v,[2,11]),t(v,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:s(function(w,T){if(T.recoverable)this.trace(w);else{var C=new Error(w);throw C.hash=T,C}},"parseError"),parse:s(function(w){var T=this,C=[0],E=[],S=[null],R=[],D=this.table,L="",P=0,M=0,F=0,I=2,O=1,z=R.slice.call(arguments,1),N=Object.create(this.lexer),U={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(U.yy[$]=this.yy[$]);N.setInput(w,U.yy),U.yy.lexer=N,U.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var W=N.yylloc;R.push(W);var ee=N.options&&N.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function te(Re){C.length=C.length-2*Re,S.length=S.length-Re,R.length=R.length-Re}s(te,"popStack");function ce(){var Re;return Re=E.pop()||N.lex()||O,typeof Re!="number"&&(Re instanceof Array&&(E=Re,Re=E.pop()),Re=T.symbols_[Re]||Re),Re}s(ce,"lex");for(var Z,fe,ne,H,Q,K,re={},ie,ye,j,De;;){if(ne=C[C.length-1],this.defaultActions[ne]?H=this.defaultActions[ne]:((Z===null||typeof Z>"u")&&(Z=ce()),H=D[ne]&&D[ne][Z]),typeof H>"u"||!H.length||!H[0]){var oe="";De=[];for(ie in D[ne])this.terminals_[ie]&&ie>I&&De.push("'"+this.terminals_[ie]+"'");N.showPosition?oe="Parse error on line "+(P+1)+`: +`+N.showPosition()+` +Expecting `+De.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":oe="Parse error on line "+(P+1)+": Unexpected "+(Z==O?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(oe,{text:N.match,token:this.terminals_[Z]||Z,line:N.yylineno,loc:W,expected:De})}if(H[0]instanceof Array&&H.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ne+", token: "+Z);switch(H[0]){case 1:C.push(Z),S.push(N.yytext),R.push(N.yylloc),C.push(H[1]),Z=null,fe?(Z=fe,fe=null):(M=N.yyleng,L=N.yytext,P=N.yylineno,W=N.yylloc,F>0&&F--);break;case 2:if(ye=this.productions_[H[1]][1],re.$=S[S.length-ye],re._$={first_line:R[R.length-(ye||1)].first_line,last_line:R[R.length-1].last_line,first_column:R[R.length-(ye||1)].first_column,last_column:R[R.length-1].last_column},ee&&(re._$.range=[R[R.length-(ye||1)].range[0],R[R.length-1].range[1]]),K=this.performAction.apply(re,[L,M,P,U.yy,H[1],S,R].concat(z)),typeof K<"u")return K;ye&&(C=C.slice(0,-1*ye*2),S=S.slice(0,-1*ye),R=R.slice(0,-1*ye)),C.push(this.productions_[H[1]][0]),S.push(re.$),R.push(re._$),j=D[C[C.length-2]][C[C.length-1]],C.push(j);break;case 3:return!0}}return!0},"parse")},b=function(){var A={EOF:1,parseError:s(function(T,C){if(this.yy.parser)this.yy.parser.parseError(T,C);else throw new Error(T)},"parseError"),setInput:s(function(w,T){return this.yy=T||this.yy||{},this._input=w,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var T=w.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:s(function(w){var T=w.length,C=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var E=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),C.length-1&&(this.yylineno-=C.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:C?(C.length===E.length?this.yylloc.first_column:0)+E[E.length-C.length].length-C[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(w){this.unput(this.match.slice(w))},"less"),pastInput:s(function(){var w=this.matched.substr(0,this.matched.length-this.match.length);return(w.length>20?"...":"")+w.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var w=this.match;return w.length<20&&(w+=this._input.substr(0,20-w.length)),(w.substr(0,20)+(w.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var w=this.pastInput(),T=new Array(w.length+1).join("-");return w+this.upcomingInput()+` +`+T+"^"},"showPosition"),test_match:s(function(w,T){var C,E,S;if(this.options.backtrack_lexer&&(S={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(S.yylloc.range=this.yylloc.range.slice(0))),E=w[0].match(/(?:\r\n?|\n).*/g),E&&(this.yylineno+=E.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:E?E[E.length-1].length-E[E.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+w[0].length},this.yytext+=w[0],this.match+=w[0],this.matches=w,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(w[0].length),this.matched+=w[0],C=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),C)return C;if(this._backtrack){for(var R in S)this[R]=S[R];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,T,C,E;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),R=0;RT[0].length)){if(T=C,E=R,this.options.backtrack_lexer){if(w=this.test_match(C,S[R]),w!==!1)return w;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(w=this.test_match(T,S[E]),w!==!1?w:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var T=this.next();return T||this.lex()},"lex"),begin:s(function(T){this.conditionStack.push(T)},"begin"),popState:s(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:s(function(T){this.begin(T)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(T,C,E,S){var R=S;switch(E){case 0:return T.getLogger().trace("Found comment",C.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:T.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return T.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:T.getLogger().trace("end icon"),this.popState();break;case 10:return T.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return T.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return T.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return T.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:T.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return T.getLogger().trace("description:",C.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),T.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),T.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),T.getLogger().trace("node end ...",C.yytext),"NODE_DEND";break;case 30:return this.popState(),T.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),T.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),T.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),T.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),T.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return T.getLogger().trace("Long description:",C.yytext),20;break;case 36:return T.getLogger().trace("Long description:",C.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return A}();x.lexer=b;function k(){this.yy={}}return s(k,"Parser"),k.prototype=x,x.Parser=k,new k}();SO.parser=SO;Cfe=SO});var Cl,_fe,_O,WGe,HGe,YGe,XGe,Ii,jGe,KGe,QGe,ZGe,JGe,eVe,tVe,Afe,Lfe=_(()=>{"use strict";gt();Qt();it();Pl();Cl=[],_fe=0,_O={},WGe=s(()=>{Cl=[],_fe=0,_O={}},"clear"),HGe=s(function(t){for(let e=Cl.length-1;e>=0;e--)if(Cl[e].levelCl.length>0?Cl[0]:null,"getMindmap"),XGe=s((t,e,r,n)=>{V.info("addNode",t,e,r,n);let i=le(),a=i.mindmap?.padding??dr.mindmap.padding;switch(n){case Ii.ROUNDED_RECT:case Ii.RECT:case Ii.HEXAGON:a*=2}let o={id:_fe++,nodeId:$r(e,i),level:t,descr:$r(r,i),type:n,children:[],width:i.mindmap?.maxNodeWidth??dr.mindmap.maxNodeWidth,padding:a},l=HGe(t);if(l)l.children.push(o),Cl.push(o);else if(Cl.length===0)Cl.push(o);else throw new Error('There can be only one root. No parent could be found for ("'+o.descr+'")')},"addNode"),Ii={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},jGe=s((t,e)=>{switch(V.debug("In get type",t,e),t){case"[":return Ii.RECT;case"(":return e===")"?Ii.ROUNDED_RECT:Ii.CLOUD;case"((":return Ii.CIRCLE;case")":return Ii.CLOUD;case"))":return Ii.BANG;case"{{":return Ii.HEXAGON;default:return Ii.DEFAULT}},"getType"),KGe=s((t,e)=>{_O[t]=e},"setElementForId"),QGe=s(t=>{if(!t)return;let e=le(),r=Cl[Cl.length-1];t.icon&&(r.icon=$r(t.icon,e)),t.class&&(r.class=$r(t.class,e))},"decorateNode"),ZGe=s(t=>{switch(t){case Ii.DEFAULT:return"no-border";case Ii.RECT:return"rect";case Ii.ROUNDED_RECT:return"rounded-rect";case Ii.CIRCLE:return"circle";case Ii.CLOUD:return"cloud";case Ii.BANG:return"bang";case Ii.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),JGe=s(()=>V,"getLogger"),eVe=s(t=>_O[t],"getElementById"),tVe={clear:WGe,addNode:XGe,getMindmap:YGe,nodeType:Ii,getType:jGe,setElementForId:KGe,decorateNode:QGe,type2Str:ZGe,getLogger:JGe,getElementById:eVe},Afe=tVe});function Pi(t){"@babel/helpers - typeof";return Pi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pi(t)}function nP(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Dfe(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},"n"),e:s(function(u){throw u},"e"),f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,l;return{s:s(function(){r=r.call(t)},"s"),n:s(function(){var u=r.next();return a=u.done,u},"n"),e:s(function(u){o=!0,l=u},"e"),f:s(function(){try{!a&&r.return!=null&&r.return()}finally{if(o)throw l}},"f")}}function AVe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}function LVe(t,e){return e={exports:{}},t(e,e.exports),e.exports}function PVe(t){for(var e=t.length;e--&&OVe.test(t.charAt(e)););return e}function zVe(t){return t&&t.slice(0,BVe(t)+1).replace(FVe,"")}function qVe(t){var e=VVe.call(t,ux),r=t[ux];try{t[ux]=void 0;var n=!0}catch{}var i=UVe.call(t);return n&&(e?t[ux]=r:delete t[ux]),i}function XVe(t){return YVe.call(t)}function ZVe(t){return t==null?t===void 0?QVe:KVe:Nfe&&Nfe in Object(t)?WVe(t):jVe(t)}function JVe(t){return t!=null&&typeof t=="object"}function rUe(t){return typeof t=="symbol"||eUe(t)&&t0e(t)==tUe}function oUe(t){if(typeof t=="number")return t;if(Ox(t))return Ofe;if(R0(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=R0(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=$Ve(t);var r=iUe.test(t);return r||aUe.test(t)?sUe(t.slice(2),r?2:8):nUe.test(t)?Ofe:+t}function hUe(t,e,r){var n,i,a,o,l,u,h=0,f=!1,d=!1,p=!0;if(typeof t!="function")throw new TypeError(lUe);e=Pfe(e)||0,R0(r)&&(f=!!r.leading,d="maxWait"in r,a=d?cUe(Pfe(r.maxWait)||0,e):a,p="trailing"in r?!!r.trailing:p);function m(T){var C=n,E=i;return n=i=void 0,h=T,o=t.apply(E,C),o}s(m,"invokeFunc");function g(T){return h=T,l=setTimeout(x,e),f?m(T):o}s(g,"leadingEdge");function y(T){var C=T-u,E=T-h,S=e-C;return d?uUe(S,a-E):S}s(y,"remainingWait");function v(T){var C=T-u,E=T-h;return u===void 0||C>=e||C<0||d&&E>=a}s(v,"shouldInvoke");function x(){var T=AO();if(v(T))return b(T);l=setTimeout(x,y(T))}s(x,"timerExpired");function b(T){return l=void 0,p&&n?m(T):(n=i=void 0,o)}s(b,"trailingEdge");function k(){l!==void 0&&clearTimeout(l),h=0,n=u=i=l=void 0}s(k,"cancel");function A(){return l===void 0?o:b(AO())}s(A,"flush");function w(){var T=AO(),C=v(T);if(n=arguments,i=this,u=T,C){if(l===void 0)return g(u);if(d)return clearTimeout(l),l=setTimeout(x,e),m(u)}return l===void 0&&(l=setTimeout(x,e)),o}return s(w,"debounced"),w.cancel=k,w.flush=A,w}function l7(t,e,r,n,i,a){var o;return Gn(t)?o=t:o=Hg[t]||Hg.euclidean,e===0&&Gn(t)?o(i,a):o(e,r,n,i,a)}function nWe(t,e){if(c7(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Ox(t)?!0:rWe.test(t)||!tWe.test(t)||e!=null&&t in Object(e)}function cWe(t){if(!R0(t))return!1;var e=t0e(t);return e==sWe||e==oWe||e==aWe||e==lWe}function fWe(t){return!!rde&&rde in t}function gWe(t){if(t!=null){try{return mWe.call(t)}catch{}try{return t+""}catch{}}return""}function CWe(t){if(!R0(t)||dWe(t))return!1;var e=uWe(t)?EWe:xWe;return e.test(yWe(t))}function _We(t,e){return t?.[e]}function LWe(t,e){var r=AWe(t,e);return SWe(r)?r:void 0}function RWe(){this.__data__=Ax?Ax(null):{},this.size=0}function IWe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function FWe(t){var e=this.__data__;if(Ax){var r=e[t];return r===OWe?void 0:r}return BWe.call(e,t)?e[t]:void 0}function VWe(t){var e=this.__data__;return Ax?e[t]!==void 0:GWe.call(e,t)}function WWe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Ax&&e===void 0?qWe:e,this}function Kg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function aHe(t,e){var r=this.__data__,n=u7(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Qg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t0;){var f=i.shift();e(f),a.add(f.id()),l&&n(i,a,f)}return t}function N0e(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i0&&arguments[0]!==void 0?arguments[0]:UYe,e=arguments.length>1?arguments[1]:void 0,r=0;r0?L=M:D=M;while(Math.abs(P)>o&&++F=a?b(R,F):I===0?F:A(R,D,D+h)}s(w,"getTForX");var T=!1;function C(){T=!0,(t!==e||r!==n)&&k()}s(C,"precompute");var E=s(function(D){return T||C(),t===e&&r===n?D:D===0?0:D===1?1:v(w(D),e,n)},"f");E.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var S="generateBezier("+[t,e,r,n]+")";return E.toString=function(){return S},E}function kde(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function wde(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Ng(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var o=wde(t,i),l=wde(e,i);if(rt(o)&&rt(l))return kde(a,o,l,r,n);if(hn(o)&&hn(l)){for(var u=[],h=0;h0?(m==="spring"&&g.push(o.duration),o.easingImpl=GT[m].apply(null,g)):o.easingImpl=GT[m]}var y=o.easingImpl,v;if(o.duration===0?v=1:v=(r-u)/o.duration,o.applying&&(v=o.progress),v<0?v=0:v>1&&(v=1),o.delay==null){var x=o.startPosition,b=o.position;if(b&&i&&!t.locked()){var k={};px(x.x,b.x)&&(k.x=Ng(x.x,b.x,v,y)),px(x.y,b.y)&&(k.y=Ng(x.y,b.y,v,y)),t.position(k)}var A=o.startPan,w=o.pan,T=a.pan,C=w!=null&&n;C&&(px(A.x,w.x)&&(T.x=Ng(A.x,w.x,v,y)),px(A.y,w.y)&&(T.y=Ng(A.y,w.y,v,y)),t.emit("pan"));var E=o.startZoom,S=o.zoom,R=S!=null&&n;R&&(px(E,S)&&(a.zoom=Sx(a.minZoom,Ng(E,S,v,y),a.maxZoom)),t.emit("zoom")),(C||R)&&t.emit("viewport");var D=o.style;if(D&&D.length>0&&i){for(var L=0;L=0;C--){var E=T[C];E()}T.splice(0,T.length)},"callbacks"),b=m.length-1;b>=0;b--){var k=m[b],A=k._private;if(A.stopped){m.splice(b,1),A.hooked=!1,A.playing=!1,A.started=!1,x(A.frames);continue}!A.playing&&!A.applying||(A.playing&&A.applying&&(A.applying=!1),A.started||nXe(f,k,t),rXe(f,k,t,d),A.applying&&(A.applying=!1),x(A.frames),A.step!=null&&A.step(t),k.completed()&&(m.splice(b,1),A.hooked=!1,A.playing=!1,A.started=!1,x(A.completes)),y=!0)}return!d&&m.length===0&&g.length===0&&n.push(f),y}s(i,"stepOne");for(var a=!1,o=0;o0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}function Q0e(t){this.options=Pt({},hXe,fXe,t)}function Z0e(t){this.options=Pt({},dXe,t)}function J0e(t){this.options=Pt({},pXe,t)}function v7(t){this.options=Pt({},mXe,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(i){var a=i.source().data("id"),o=i.target().data("id"),l=e.some(function(h){return h.data("id")===a}),u=e.some(function(h){return h.data("id")===o});return!l||!u});this.options.eles=this.options.eles.not(n)}function tpe(t){this.options=Pt({},MXe,t)}function wP(t){this.options=Pt({},IXe,t)}function rpe(t){this.options=Pt({},NXe,t)}function npe(t){this.options=Pt({},OXe,t)}function ipe(t){this.options=t,this.notifications=0}function ope(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function EP(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(FXe(t,e,r,n,i),{cx:jO,cy:KO,radius:A0,startX:ape,startY:spe,stopX:QO,stopY:ZO,startAngle:Rc.ang+Math.PI/2*L0,endAngle:$o.ang-Math.PI/2*L0,counterClockwise:qT})}function lpe(t){var e=[];if(t!=null){for(var r=0;r5&&arguments[5]!==void 0?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+a,r),t.lineTo(e+n-a,r),t.quadraticCurveTo(e+n,r,e+n,r+a),t.lineTo(e+n,r+i-a),t.quadraticCurveTo(e+n,r+i,e+n-a,r+i),t.lineTo(e+a,r+i),t.quadraticCurveTo(e,r+i,e,r+i-a),t.lineTo(e,r+a),t.quadraticCurveTo(e,r,e+a,r),t.closePath(),o?t.stroke():t.fill()}function Sje(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a{"use strict";s(Pi,"_typeof");s(nP,"_classCallCheck");s(Dfe,"_defineProperties");s(iP,"_createClass");s(qde,"_defineProperty$1");s(Sl,"_slicedToArray");s(rVe,"_arrayWithHoles");s(nVe,"_iterableToArrayLimit");s(Wde,"_unsupportedIterableToArray");s(Rfe,"_arrayLikeToArray");s(iVe,"_nonIterableRest");s(Hde,"_createForOfIteratorHelper");Ni=typeof window>"u"?null:window,Mfe=Ni?Ni.navigator:null;Ni&&Ni.document;aVe=Pi(""),Yde=Pi({}),sVe=Pi(function(){}),oVe=typeof HTMLElement>"u"?"undefined":Pi(HTMLElement),Ix=s(function(e){return e&&e.instanceString&&Gn(e.instanceString)?e.instanceString():null},"instanceStr"),At=s(function(e){return e!=null&&Pi(e)==aVe},"string"),Gn=s(function(e){return e!=null&&Pi(e)===sVe},"fn"),hn=s(function(e){return!oo(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),Er=s(function(e){return e!=null&&Pi(e)===Yde&&!hn(e)&&e.constructor===Object},"plainObject"),lVe=s(function(e){return e!=null&&Pi(e)===Yde},"object"),rt=s(function(e){return e!=null&&Pi(e)===Pi(1)&&!isNaN(e)},"number"),cVe=s(function(e){return rt(e)&&Math.floor(e)===e},"integer"),HT=s(function(e){if(oVe!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),oo=s(function(e){return Nx(e)||Xde(e)},"elementOrCollection"),Nx=s(function(e){return Ix(e)==="collection"&&e._private.single},"element"),Xde=s(function(e){return Ix(e)==="collection"&&!e._private.single},"collection"),aP=s(function(e){return Ix(e)==="core"},"core"),jde=s(function(e){return Ix(e)==="stylesheet"},"stylesheet"),uVe=s(function(e){return Ix(e)==="event"},"event"),gf=s(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),hVe=s(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),fVe=s(function(e){return Er(e)&&rt(e.x1)&&rt(e.x2)&&rt(e.y1)&&rt(e.y2)},"boundingBox"),dVe=s(function(e){return lVe(e)&&Gn(e.then)},"promise"),pVe=s(function(){return Mfe&&Mfe.userAgent.match(/msie|trident|edge/i)},"ms"),wx=s(function(e,r){r||(r=s(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],o=0;or?1:0},"ascending"),kVe=s(function(e,r){return-1*Qde(e,r)},"descending"),Pt=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(v-=1),v<1/6?g+(y-g)*6*v:v<1/2?y:v<2/3?g+(y-g)*(2/3-v)*6:g}s(f,"hue2rgb");var d=new RegExp("^"+yVe+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,o=d[4],o!==void 0&&(o=parseFloat(o),o<0||o>1)))return;if(i===0)l=u=h=Math.round(a*255);else{var p=a<.5?a*(1+i):a+i-a*i,m=2*a-p;l=Math.round(255*f(m,p,n+1/3)),u=Math.round(255*f(m,p,n)),h=Math.round(255*f(m,p,n-1/3))}r=[l,u,h,o]}return r},"hsl2tuple"),EVe=s(function(e){var r,n=new RegExp("^"+mVe+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var o=n[a];if(o[o.length-1]==="%"&&(i[a]=!0),o=parseFloat(o),i[a]&&(o=o/100*255),o<0||o>255)return;r.push(Math.floor(o))}var l=i[1]||i[2]||i[3],u=i[1]&&i[2]&&i[3];if(l&&!u)return;var h=n[4];if(h!==void 0){if(h=parseFloat(h),h<0||h>1)return;r.push(h)}}return r},"rgb2tuple"),CVe=s(function(e){return _Ve[e.toLowerCase()]},"colorname2tuple"),SVe=s(function(e){return(hn(e)?e:null)||CVe(e)||wVe(e)||EVe(e)||TVe(e)},"color2tuple"),_Ve={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Zde=s(function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a1&&arguments[1]!==void 0?arguments[1]:Bg,n=r,i;i=e.next(),!i.done;)n=n*n0e+i.value|0;return n},"hashIterableInts"),Tx=s(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bg;return r*n0e+e|0},"hashInt"),Ex=s(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gx;return(r<<5)+r+e|0},"hashIntAlt"),dUe=s(function(e,r){return e*2097152+r},"combineHashes"),uf=s(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),CT=s(function(e,r){return[Tx(e[0],r[0]),Ex(e[1],r[1])]},"hashArrays"),pUe=s(function(e,r){var n={value:0,done:!1},i=0,a=e.length,o={next:s(function(){return i=0&&!(e[i]===r&&(e.splice(i,1),n));i--);},"removeFromArray"),cP=s(function(e){e.splice(0,e.length)},"clearArray"),kUe=s(function(e,r){for(var n=0;n"u"?"undefined":Pi(Set))!==TUe?Set:EUe,s7=s(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!aP(e)){Jn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Jn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new Xg,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var o=r.renderedPosition,l=e.pan(),u=e.zoom();a.position={x:(o.x-l.x)/u,y:(o.y-l.y)/u}}var h=[];hn(r.classes)?h=r.classes:At(r.classes)&&(h=r.classes.split(/\s+/));for(var f=0,d=h.length;fb?1:0},"defaultCmp"),f=s(function(x,b,k,A,w){var T;if(k==null&&(k=0),w==null&&(w=n),k<0)throw new Error("lo must be non-negative");for(A==null&&(A=x.length);kR;0<=R?S++:S--)E.push(S);return E}.apply(this).reverse(),C=[],A=0,w=T.length;AD;0<=D?++E:--E)L.push(o(x,k));return L},"nsmallest"),y=s(function(x,b,k,A){var w,T,C;for(A==null&&(A=n),w=x[k];k>b;){if(C=k-1>>1,T=x[C],A(w,T)<0){x[k]=T,k=C;continue}break}return x[k]=w},"_siftdown"),v=s(function(x,b,k){var A,w,T,C,E;for(k==null&&(k=n),w=x.length,E=b,T=x[b],A=2*b+1;A0;){var T=b.pop(),C=v(T),E=T.id();if(p[E]=C,C!==1/0)for(var S=T.neighborhood().intersect(g),R=0;R0)for(z.unshift(O);d[U];){var $=d[U];z.unshift($.edge),z.unshift($.node),N=$.node,U=N.id()}return l.spawn(z)},"pathTo")}},"dijkstra")},AUe={kruskal:s(function(e){e=e||function(k){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,o=new Array(a),l=n,u=s(function(A){for(var w=0;w0;){if(w(),C++,A===f){for(var E=[],S=a,R=f,D=x[R];E.unshift(S),D!=null&&E.unshift(D),S=v[R],S!=null;)R=S.id(),D=x[R];return{found:!0,distance:d[A],path:this.spawn(E),steps:C}}m[A]=!0;for(var L=k._private.edges,P=0;PD&&(g[R]=D,b[R]=S,k[R]=w),!a){var L=S*f+E;!a&&g[L]>D&&(g[L]=D,b[L]=E,k[L]=w)}}}for(var P=0;P1&&arguments[1]!==void 0?arguments[1]:o,Se=k(Re),Ue=[],Oe=Se;;){if(Oe==null)return r.spawn();var _e=b(Oe),he=_e.edge,q=_e.pred;if(Ue.unshift(Oe[0]),Oe.same(Pe)&&Ue.length>0)break;he!=null&&Ue.unshift(he),Oe=q}return u.spawn(Ue)},"pathTo"),T=0;T=0;f--){var d=h[f],p=d[1],m=d[2];(r[p]===l&&r[m]===u||r[p]===u&&r[m]===l)&&h.splice(f,1)}for(var g=0;gi;){var a=Math.floor(Math.random()*r.length);r=PUe(a,e,r),n--}return r},"contractUntil"),BUe={kargerStein:s(function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(z){return z.isLoop()});var a=n.length,o=i.length,l=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),u=Math.floor(a/OUe);if(a<2){Jn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var h=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,o=r;o1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var l=0,u=e.length-1;u>=0;u--){var h=e[u];o?isFinite(h)||(e[u]=-1/0,l++):e.splice(u,1)}a&&e.sort(function(p,m){return p-m});var f=e.length,d=Math.floor(f/2);return f%2!==0?e[d+1+l]:(e[d-1+l]+e[d+l])/2},"median"),UUe=s(function(e){return Math.PI*e/180},"deg2rad"),ST=s(function(e,r){return Math.atan2(r,e)-Math.PI/2},"getAngleFromDisp"),uP=Math.log2||function(t){return Math.log(t)/Math.log(2)},h0e=s(function(e){return e>0?1:e<0?-1:0},"signum"),I0=s(function(e,r){return Math.sqrt(S0(e,r))},"dist"),S0=s(function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},"sqdist"),qUe=s(function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},"makeBoundingBox"),HUe=s(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),YUe=s(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),XUe=s(function(e,r,n){return{x1:e.x1+r,x2:e.x2+r,y1:e.y1+n,y2:e.y2+n,w:e.w,h:e.h}},"shiftBoundingBox"),f0e=s(function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},"updateBoundingBox"),jUe=s(function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},"expandBoundingBoxByPoint"),BT=s(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),FT=s(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,o;if(r.length===1)n=i=a=o=r[0];else if(r.length===2)n=a=r[0],o=i=r[1];else if(r.length===4){var l=Sl(r,4);n=l[0],i=l[1],a=l[2],o=l[3]}return e.x1-=o,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),$fe=s(function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),hP=s(function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},"boundingBoxesIntersect"),Wg=s(function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),KUe=s(function(e,r){return Wg(e,r.x,r.y)},"pointInBoundingBox"),d0e=s(function(e,r){return Wg(e,r.x1,r.y1)&&Wg(e,r.x2,r.y2)},"boundingBoxInBoundingBox"),p0e=s(function(e,r,n,i,a,o,l){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",h=u==="auto"?N0(a,o):u,f=a/2,d=o/2;h=Math.min(h,f,d);var p=h!==f,m=h!==d,g;if(p){var y=n-f+h-l,v=i-d-l,x=n+f-h+l,b=v;if(g=df(e,r,n,i,y,v,x,b,!1),g.length>0)return g}if(m){var k=n+f+l,A=i-d+h-l,w=k,T=i+d-h+l;if(g=df(e,r,n,i,k,A,w,T,!1),g.length>0)return g}if(p){var C=n-f+h-l,E=i+d+l,S=n+f-h+l,R=E;if(g=df(e,r,n,i,C,E,S,R,!1),g.length>0)return g}if(m){var D=n-f-l,L=i-d+h-l,P=D,M=i+d-h+l;if(g=df(e,r,n,i,D,L,P,M,!1),g.length>0)return g}var F;{var I=n-f+h,O=i-d+h;if(F=yx(e,r,n,i,I,O,h+l),F.length>0&&F[0]<=I&&F[1]<=O)return[F[0],F[1]]}{var z=n+f-h,N=i-d+h;if(F=yx(e,r,n,i,z,N,h+l),F.length>0&&F[0]>=z&&F[1]<=N)return[F[0],F[1]]}{var U=n+f-h,$=i+d-h;if(F=yx(e,r,n,i,U,$,h+l),F.length>0&&F[0]>=U&&F[1]>=$)return[F[0],F[1]]}{var W=n-f+h,ee=i+d-h;if(F=yx(e,r,n,i,W,ee,h+l),F.length>0&&F[0]<=W&&F[1]>=ee)return[F[0],F[1]]}return[]},"roundRectangleIntersectLine"),QUe=s(function(e,r,n,i,a,o,l){var u=l,h=Math.min(n,a),f=Math.max(n,a),d=Math.min(i,o),p=Math.max(i,o);return h-u<=e&&e<=f+u&&d-u<=r&&r<=p+u},"inLineVicinity"),ZUe=s(function(e,r,n,i,a,o,l,u,h){var f={x1:Math.min(n,l,a)-h,x2:Math.max(n,l,a)+h,y1:Math.min(i,u,o)-h,y2:Math.max(i,u,o)+h};return!(ef.x2||rf.y2)},"inBezierVicinity"),JUe=s(function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var o=Math.sqrt(a),l=2*e,u=(-r+o)/l,h=(-r-o)/l;return[u,h]},"solveQuadratic"),eqe=s(function(e,r,n,i,a){var o=1e-5;e===0&&(e=o),r/=e,n/=e,i/=e;var l,u,h,f,d,p,m,g;if(u=(3*n-r*r)/9,h=-(27*i)+r*(9*n-2*(r*r)),h/=54,l=u*u*u+h*h,a[1]=0,m=r/3,l>0){d=h+Math.sqrt(l),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),p=h-Math.sqrt(l),p=p<0?-Math.pow(-p,1/3):Math.pow(p,1/3),a[0]=-m+d+p,m+=(d+p)/2,a[4]=a[2]=-m,m=Math.sqrt(3)*(-p+d)/2,a[3]=m,a[5]=-m;return}if(a[5]=a[3]=0,l===0){g=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-m+2*g,a[4]=a[2]=-(g+m);return}u=-u,f=u*u*u,f=Math.acos(h/Math.sqrt(f)),g=2*Math.sqrt(u),a[0]=-m+g*Math.cos(f/3),a[2]=-m+g*Math.cos((f+2*Math.PI)/3),a[4]=-m+g*Math.cos((f+4*Math.PI)/3)},"solveCubic"),tqe=s(function(e,r,n,i,a,o,l,u){var h=1*n*n-4*n*a+2*n*l+4*a*a-4*a*l+l*l+i*i-4*i*o+2*i*u+4*o*o-4*o*u+u*u,f=1*9*n*a-3*n*n-3*n*l-6*a*a+3*a*l+9*i*o-3*i*i-3*i*u-6*o*o+3*o*u,d=1*3*n*n-6*n*a+n*l-n*e+2*a*a+2*a*e-l*e+3*i*i-6*i*o+i*u-i*r+2*o*o+2*o*r-u*r,p=1*n*a-n*n+n*e-a*e+i*o-i*i+i*r-o*r,m=[];eqe(h,f,d,p,m);for(var g=1e-7,y=[],v=0;v<6;v+=2)Math.abs(m[v+1])=0&&m[v]<=1&&y.push(m[v]);y.push(1),y.push(0);for(var x=-1,b,k,A,w=0;w=0?Ah?(e-a)*(e-a)+(r-o)*(r-o):f-p},"sqdistToFiniteLine"),Ms=s(function(e,r,n){for(var i,a,o,l,u,h=0,f=0;f=e&&e>=o||i<=e&&e<=o)u=(e-i)/(o-i)*(l-a)+a,u>r&&h++;else continue;return h%2!==0},"pointInsidePolygonPoints"),Wu=s(function(e,r,n,i,a,o,l,u,h){var f=new Array(n.length),d;u[0]!=null?(d=Math.atan(u[1]/u[0]),u[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=u;for(var p=Math.cos(-d),m=Math.sin(-d),g=0;g0){var v=KT(f,-h);y=jT(v)}else y=f;return Ms(e,r,y)},"pointInsidePolygon"),nqe=s(function(e,r,n,i,a,o,l,u){for(var h=new Array(n.length*2),f=0;f=0&&v<=1&&b.push(v),x>=0&&x<=1&&b.push(x),b.length===0)return[];var k=b[0]*u[0]+e,A=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[k,A];var w=b[1]*u[0]+e,T=b[1]*u[1]+r;return[k,A,w,T]}else return[k,A]},"intersectLineCircle"),RO=s(function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},"midOfThree"),df=s(function(e,r,n,i,a,o,l,u,h){var f=e-a,d=n-e,p=l-a,m=r-o,g=i-r,y=u-o,v=p*m-y*f,x=d*m-g*f,b=y*d-p*g;if(b!==0){var k=v/b,A=x/b,w=.001,T=0-w,C=1+w;return T<=k&&k<=C&&T<=A&&A<=C?[e+k*d,r+k*g]:h?[e+k*d,r+k*g]:[]}else return v===0||x===0?RO(e,n,l)===l?[l,u]:RO(e,n,a)===a?[a,o]:RO(a,l,n)===n?[n,i]:[]:[]},"finiteLinesIntersect"),_x=s(function(e,r,n,i,a,o,l,u){var h=[],f,d=new Array(n.length),p=!0;o==null&&(p=!1);var m;if(p){for(var g=0;g0){var y=KT(d,-u);m=jT(y)}else m=d}else m=n;for(var v,x,b,k,A=0;A2){for(var g=[f[0],f[1]],y=Math.pow(g[0]-e,2)+Math.pow(g[1]-r,2),v=1;vf&&(f=A)},"set"),get:s(function(k){return h[k]},"get")},p=0;p0?I=F.edgesTo(M)[0]:I=M.edgesTo(F)[0];var O=i(I);M=M.id(),E[M]>E[L]+O&&(E[M]=E[L]+O,S.nodes.indexOf(M)<0?S.push(M):S.updateItem(M),C[M]=0,T[M]=[]),E[M]==E[L]+O&&(C[M]=C[M]+C[L],T[M].push(L))}else for(var z=0;z0;){for(var W=w.pop(),ee=0;ee0&&l.push(n[u]);l.length!==0&&a.push(i.collection(l))}return a},"assign"),xqe=s(function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:wqe,l=i,u,h,f=0;f=2?hx(e,r,n,0,Wfe,Tqe):hx(e,r,n,0,qfe)},"euclidean"),squaredEuclidean:s(function(e,r,n){return hx(e,r,n,0,Wfe)},"squaredEuclidean"),manhattan:s(function(e,r,n){return hx(e,r,n,0,qfe)},"manhattan"),max:s(function(e,r,n){return hx(e,r,n,-1/0,Eqe)},"max")};Hg["squared-euclidean"]=Hg.squaredEuclidean;Hg.squaredeuclidean=Hg.squaredEuclidean;s(l7,"clusteringDistance");Cqe=ya({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),dP=s(function(e){return Cqe(e)},"setOptions"),QT=s(function(e,r,n,i,a){var o=a!=="kMedoids",l=o?function(d){return n[d]}:function(d){return i[d](n)},u=s(function(p){return i[p](r)},"getQ"),h=n,f=r;return l7(e,i.length,l,u,h,f)},"getDist"),MO=s(function(e,r,n){for(var i=n.length,a=new Array(i),o=new Array(i),l=new Array(r),u=null,h=0;hn)return!1}return!0},"haveMatricesConverged"),Aqe=s(function(e,r,n){for(var i=0;il&&(l=r[h][f],u=f);a[u].push(e[h])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var g=r[o],y=r[i[o]],v;a.mode==="dendrogram"?v={left:g,right:y,key:g.key}:v={value:g.value.concat(y.value),key:g.key},e[g.index]=v,e.splice(y.index,1),r[g.key]=v;for(var x=0;xn[y.key][b.key]&&(u=n[y.key][b.key])):a.linkage==="max"?(u=n[g.key][b.key],n[g.key][b.key]0&&i.push(a);return i},"findExemplars"),Qfe=s(function(e,r,n){for(var i=[],a=0;al&&(o=h,l=r[a*e+h])}o>0&&i.push(o)}for(var f=0;fh&&(u=f,h=d)}n[a]=o[u]}return i=Qfe(e,r,n),i},"assign"),Zfe=s(function(e){for(var r=this.cy(),n=this.nodes(),i=Vqe(e),a={},o=0;o=D?(L=D,D=M,P=F):M>L&&(L=M);for(var I=0;I0?1:0;C[S%i.minIterations*l+W]=ee,$+=ee}if($>0&&(S>=i.minIterations-1||S==i.maxIterations-1)){for(var te=0,ce=0;ce1||T>1)&&(l=!0),d[k]=[],b.outgoers().forEach(function(E){E.isEdge()&&d[k].push(E.id())})}else p[k]=[void 0,b.target().id()]}):o.forEach(function(b){var k=b.id();if(b.isNode()){var A=b.degree(!0);A%2&&(u?h?l=!0:h=k:u=k),d[k]=[],b.connectedEdges().forEach(function(w){return d[k].push(w.id())})}else p[k]=[b.source().id(),b.target().id()]});var m={found:!1,trail:void 0};if(l)return m;if(h&&u)if(a){if(f&&h!=f)return m;f=h}else{if(f&&h!=f&&u!=f)return m;f||(f=h)}else f||(f=o[0].id());var g=s(function(k){for(var A=k,w=[k],T,C,E;d[A].length;)T=d[A].shift(),C=p[T][0],E=p[T][1],A!=E?(d[E]=d[E].filter(function(S){return S!=T}),A=E):!a&&A!=C&&(d[C]=d[C].filter(function(S){return S!=T}),A=C),w.unshift(T),w.unshift(A);return w},"walk"),y=[],v=[];for(v=g(f);v.length!=1;)d[v[0]].length==0?(y.unshift(o.getElementById(v.shift())),y.unshift(o.getElementById(v.shift()))):v=g(v.shift()).concat(v);y.unshift(o.getElementById(v.shift()));for(var x in d)if(d[x].length)return m;return m.found=!0,m.trail=this.spawn(y,!0),m},"hierholzer")},LT=s(function(){var e=this,r={},n=0,i=0,a=[],o=[],l={},u=s(function(p,m){for(var g=o.length-1,y=[],v=e.spawn();o[g].x!=p||o[g].y!=m;)y.push(o.pop().edge),g--;y.push(o.pop().edge),y.forEach(function(x){var b=x.connectedNodes().intersection(e);v.merge(x),b.forEach(function(k){var A=k.id(),w=k.connectedEdges().intersection(e);v.merge(k),r[A].cutVertex?v.merge(w.filter(function(T){return T.isLoop()})):v.merge(w)})}),a.push(v)},"buildComponent"),h=s(function d(p,m,g){p===g&&(i+=1),r[m]={id:n,low:n++,cutVertex:!1};var y=e.getElementById(m).connectedEdges().intersection(e);if(y.size()===0)a.push(e.spawn(e.getElementById(m)));else{var v,x,b,k;y.forEach(function(A){v=A.source().id(),x=A.target().id(),b=v===m?x:v,b!==g&&(k=A.id(),l[k]||(l[k]=!0,o.push({x:m,y:b,edge:A})),b in r?r[m].low=Math.min(r[m].low,r[b].id):(d(p,b,m),r[m].low=Math.min(r[m].low,r[b].low),r[m].id<=r[b].low&&(r[m].cutVertex=!0,u(m,b))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var p=d.id();p in r||(i=0,h(p,p),r[p].cutVertex=i>1)}});var f=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(f),components:a}},"hopcroftTarjanBiconnected"),Kqe={hopcroftTarjanBiconnected:LT,htbc:LT,htb:LT,hopcroftTarjanBiconnectedComponents:LT},DT=s(function(){var e=this,r={},n=0,i=[],a=[],o=e.spawn(e),l=s(function u(h){a.push(h),r[h]={index:n,low:n++,explored:!1};var f=e.getElementById(h).connectedEdges().intersection(e);if(f.forEach(function(y){var v=y.target().id();v!==h&&(v in r||u(v),r[v].explored||(r[h].low=Math.min(r[h].low,r[v].low)))}),r[h].index===r[h].low){for(var d=e.spawn();;){var p=a.pop();if(d.merge(e.getElementById(p)),r[p].low=r[h].index,r[p].explored=!0,p===h)break}var m=d.edgesWith(d),g=d.merge(m);i.push(g),o=o.difference(g)}},"stronglyConnectedSearch");return e.forEach(function(u){if(u.isNode()){var h=u.id();h in r||l(h)}}),{cut:o,components:i}},"tarjanStronglyConnected"),Qqe={tarjanStronglyConnected:DT,tsc:DT,tscc:DT,tarjanStronglyConnectedComponents:DT},k0e={};[Cx,_Ue,AUe,DUe,MUe,NUe,BUe,lqe,Gg,Vg,UO,kqe,Nqe,$qe,Yqe,jqe,Kqe,Qqe].forEach(function(t){Pt(k0e,t)});w0e=0,T0e=1,E0e=2,Hu=s(function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=w0e,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");Hu.prototype={fulfill:s(function(e){return Jfe(this,T0e,"fulfillValue",e)},"fulfill"),reject:s(function(e){return Jfe(this,E0e,"rejectReason",e)},"reject"),then:s(function(e,r){var n=this,i=new Hu;return n.onFulfilled.push(tde(e,i,"fulfill")),n.onRejected.push(tde(r,i,"reject")),C0e(n),i.proxy},"then")};Jfe=s(function(e,r,n,i){return e.state===w0e&&(e.state=r,e[n]=i,C0e(e)),e},"deliver"),C0e=s(function(e){e.state===T0e?ede(e,"onFulfilled",e.fulfillValue):e.state===E0e&&ede(e,"onRejected",e.rejectReason)},"execute"),ede=s(function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=s(function(){for(var l=0;l0},"animatedImpl")},"animated"),clearQueue:s(function(){return s(function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var o=0;o0&&this.spawn(i).updateStyle().emit("class"),r},"classes"),addClass:s(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:s(function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},"hasClass"),toggleClass:s(function(e,r){hn(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],o=0,l=n.length;o0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:s(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:s(function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n},"flashClass")};zT.className=zT.classNames=zT.classes;Tr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Oi,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Tr.variable="(?:[\\w-.]|(?:\\\\"+Tr.metaChar+"))+";Tr.className="(?:[\\w-]|(?:\\\\"+Tr.metaChar+"))+";Tr.value=Tr.string+"|"+Tr.number;Tr.id=Tr.variable;(function(){var t,e,r;for(t=Tr.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(Tr.comparatorOp+="|\\!"+e)})();rn=s(function(){return{checks:[]}},"newQuery"),ft={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},WO=[{selector:":selected",matches:s(function(e){return e.selected()},"matches")},{selector:":unselected",matches:s(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:s(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:s(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:s(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:s(function(e){return!e.locked()},"matches")},{selector:":visible",matches:s(function(e){return e.visible()},"matches")},{selector:":hidden",matches:s(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:s(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:s(function(e){return e.grabbed()},"matches")},{selector:":free",matches:s(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:s(function(e){return e.removed()},"matches")},{selector:":inside",matches:s(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:s(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:s(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:s(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:s(function(e){return!e.animated()},"matches")},{selector:":parent",matches:s(function(e){return e.isParent()},"matches")},{selector:":childless",matches:s(function(e){return e.isChildless()},"matches")},{selector:":child",matches:s(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:s(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:s(function(e){return e.isChild()},"matches")},{selector:":compound",matches:s(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:s(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:s(function(e){return e.isSimple()},"matches")},{selector:":active",matches:s(function(e){return e.active()},"matches")},{selector:":inactive",matches:s(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:s(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:s(function(e){return!e.backgrounding()},"matches")}].sort(function(t,e){return kVe(t.selector,e.selector)}),uYe=function(){for(var t={},e,r=0;r0&&f.edgeCount>0)return Kr("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return Kr("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&Kr("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),gYe=s(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=s(function(f){return f??""},"clean"),r=s(function(f){return At(f)?'"'+f+'"':e(f)},"cleanVal"),n=s(function(f){return" "+f+" "},"space"),i=s(function(f,d){var p=f.type,m=f.value;switch(p){case ft.GROUP:{var g=e(m);return g.substring(0,g.length-1)}case ft.DATA_COMPARE:{var y=f.field,v=f.operator;return"["+y+n(e(v))+r(m)+"]"}case ft.DATA_BOOL:{var x=f.operator,b=f.field;return"["+e(x)+b+"]"}case ft.DATA_EXIST:{var k=f.field;return"["+k+"]"}case ft.META_COMPARE:{var A=f.operator,w=f.field;return"[["+w+n(e(A))+r(m)+"]]"}case ft.STATE:return m;case ft.ID:return"#"+m;case ft.CLASS:return"."+m;case ft.PARENT:case ft.CHILD:return a(f.parent,d)+n(">")+a(f.child,d);case ft.ANCESTOR:case ft.DESCENDANT:return a(f.ancestor,d)+" "+a(f.descendant,d);case ft.COMPOUND_SPLIT:{var T=a(f.left,d),C=a(f.subject,d),E=a(f.right,d);return T+(T.length>0?" ":"")+C+E}case ft.TRUE:return""}},"checkToString"),a=s(function(f,d){return f.checks.reduce(function(p,m,g){return p+(d===f&&g===0?"$":"")+i(m,d)},"")},"queryToString"),o="",l=0;l1&&l=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(a||l||f)&&(u=!a&&!o?"":""+e,h=""+n),f&&(e=u=u.toLowerCase(),n=h=h.toLowerCase()),r){case"*=":i=u.indexOf(h)>=0;break;case"$=":i=u.indexOf(h,u.length-h.length)>=0;break;case"^=":i=u.indexOf(h)===0;break;case"=":i=e===n;break;case">":p=!0,i=e>n;break;case">=":p=!0,i=e>=n;break;case"<":p=!0,i=e1&&arguments[1]!==void 0?arguments[1]:!0;return vP(this,t,e,N0e)};s(O0e,"addParent");Yg.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return vP(this,t,e,O0e)};s(EYe,"addParentAndChildren");Yg.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return vP(this,t,e,EYe)};Yg.ancestors=Yg.parents;Lx=P0e={data:jr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:jr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:jr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:jr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:jr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:jr.removeData({field:"rscratch",triggerEvent:!1}),id:s(function(){var e=this[0];if(e)return e._private.data.id},"id")};Lx.attr=Lx.data;Lx.removeAttr=Lx.removeData;CYe=P0e,f7={};s(NO,"defineDegreeFunction");Pt(f7,{degree:NO(function(t,e){return e.source().same(e.target())?2:1}),indegree:NO(function(t,e){return e.target().same(t)?1:0}),outdegree:NO(function(t,e){return e.source().same(t)?1:0})});s(Ig,"defineDegreeBoundsFunction");Pt(f7,{minDegree:Ig("degree",function(t,e){return te}),minIndegree:Ig("indegree",function(t,e){return te}),minOutdegree:Ig("outdegree",function(t,e){return te})});Pt(f7,{totalDegree:s(function(e){for(var r=0,n=this.nodes(),i=0;i0,p=d;d&&(f=f[0]);var m=p?f.position():{x:0,y:0};r!==void 0?h.position(e,r+m[e]):a!==void 0&&h.position({x:a.x+m.x,y:a.y+m.y})}else{var g=n.position(),y=l?n.parent():null,v=y&&y.length>0,x=v;v&&(y=y[0]);var b=x?y.position():{x:0,y:0};return a={x:g.x-b.x,y:g.y-b.y},e===void 0?a:a[e]}else if(!o)return;return this},"relativePosition")};Ll.modelPosition=Ll.point=Ll.position;Ll.modelPositions=Ll.points=Ll.positions;Ll.renderedPoint=Ll.renderedPosition;Ll.relativePoint=Ll.relativePosition;SYe=B0e;Ug=kf={};kf.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,o=e.x2*n+i.x,l=e.y1*n+i.y,u=e.y2*n+i.y;return{x1:a,x2:o,y1:l,y2:u,w:o-a,h:u-l}};kf.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};kf.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(o){if(!o.isParent())return;var l=o._private,u=o.children(),h=o.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:o.pstyle("min-width").pfValue,left:o.pstyle("min-width-bias-left"),right:o.pstyle("min-width-bias-right")},height:{val:o.pstyle("min-height").pfValue,top:o.pstyle("min-height-bias-top"),bottom:o.pstyle("min-height-bias-bottom")}},d=u.boundingBox({includeLabels:h,includeOverlays:!1,useCache:!1}),p=l.position;(d.w===0||d.h===0)&&(d={w:o.pstyle("width").pfValue,h:o.pstyle("height").pfValue},d.x1=p.x-d.w/2,d.x2=p.x+d.w/2,d.y1=p.y-d.h/2,d.y2=p.y+d.h/2);function m(S,R,D){var L=0,P=0,M=R+D;return S>0&&M>0&&(L=R/M*S,P=D/M*S),{biasDiff:L,biasComplementDiff:P}}s(m,"computeBiasValues");function g(S,R,D,L){if(D.units==="%")switch(L){case"width":return S>0?D.pfValue*S:0;case"height":return R>0?D.pfValue*R:0;case"average":return S>0&&R>0?D.pfValue*(S+R)/2:0;case"min":return S>0&&R>0?S>R?D.pfValue*R:D.pfValue*S:0;case"max":return S>0&&R>0?S>R?D.pfValue*S:D.pfValue*R:0;default:return 0}else return D.units==="px"?D.pfValue:0}s(g,"computePaddingValues");var y=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var v=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(v=v*100/f.width.val);var x=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(x=x*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var k=m(f.width.val-d.w,y,v),A=k.biasDiff,w=k.biasComplementDiff,T=m(f.height.val-d.h,x,b),C=T.biasDiff,E=T.biasComplementDiff;l.autoPadding=g(d.w,d.h,o.pstyle("padding"),o.pstyle("padding-relative-to").value),l.autoWidth=Math.max(d.w,f.width.val),p.x=(-A+d.x1+d.x2+w)/2,l.autoHeight=Math.max(d.h,f.height.val),p.y=(-C+d.y1+d.y2+E)/2}s(r,"update");for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),_0=s(function(e,r){return r==null?e:_l(e,r.x1,r.y1,r.x2,r.y2)},"updateBoundsFromBox"),fx=s(function(e,r,n){return Al(e,r,n)},"prefixedProperty"),RT=s(function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,o=a.arrowWidth/2,l=r.pstyle(n+"-arrow-shape").value,u,h;if(l!=="none"){n==="source"?(u=a.srcX,h=a.srcY):n==="target"?(u=a.tgtX,h=a.tgtY):(u=a.midX,h=a.midY);var f=i.arrowBounds=i.arrowBounds||{},d=f[n]=f[n]||{};d.x1=u-o,d.y1=h-o,d.x2=u+o,d.y2=h+o,d.w=d.x2-d.x1,d.h=d.y2-d.y1,BT(d,1),_l(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),OO=s(function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,o=a.rstyle,l=r.pstyle(i+"label").strValue;if(l){var u=r.pstyle("text-halign"),h=r.pstyle("text-valign"),f=fx(o,"labelWidth",n),d=fx(o,"labelHeight",n),p=fx(o,"labelX",n),m=fx(o,"labelY",n),g=r.pstyle(i+"text-margin-x").pfValue,y=r.pstyle(i+"text-margin-y").pfValue,v=r.isEdge(),x=r.pstyle(i+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,k=r.pstyle("text-border-width").pfValue,A=k/2,w=r.pstyle("text-background-padding").pfValue,T=2,C=d,E=f,S=E/2,R=C/2,D,L,P,M;if(v)D=p-S,L=p+S,P=m-R,M=m+R;else{switch(u.value){case"left":D=p-E,L=p;break;case"center":D=p-S,L=p+S;break;case"right":D=p,L=p+E;break}switch(h.value){case"top":P=m-C,M=m;break;case"center":P=m-R,M=m+R;break;case"bottom":P=m,M=m+C;break}}D+=g-Math.max(b,A)-w-T,L+=g+Math.max(b,A)+w+T,P+=y-Math.max(b,A)-w-T,M+=y+Math.max(b,A)+w+T;var F=n||"main",I=a.labelBounds,O=I[F]=I[F]||{};O.x1=D,O.y1=P,O.x2=L,O.y2=M,O.w=L-D,O.h=M-P;var z=v&&x.strValue==="autorotate",N=x.pfValue!=null&&x.pfValue!==0;if(z||N){var U=z?fx(a.rstyle,"labelAngle",n):x.pfValue,$=Math.cos(U),W=Math.sin(U),ee=(D+L)/2,te=(P+M)/2;if(!v){switch(u.value){case"left":ee=L;break;case"right":ee=D;break}switch(h.value){case"top":te=M;break;case"bottom":te=P;break}}var ce=s(function(ie,ye){return ie=ie-ee,ye=ye-te,{x:ie*$-ye*W+ee,y:ie*W+ye*$+te}},"rotate"),Z=ce(D,P),fe=ce(D,M),ne=ce(L,P),H=ce(L,M);D=Math.min(Z.x,fe.x,ne.x,H.x),L=Math.max(Z.x,fe.x,ne.x,H.x),P=Math.min(Z.y,fe.y,ne.y,H.y),M=Math.max(Z.y,fe.y,ne.y,H.y)}var Q=F+"Rot",K=I[Q]=I[Q]||{};K.x1=D,K.y1=P,K.x2=L,K.y2=M,K.w=L-D,K.h=M-P,_l(e,D,P,L,M),_l(a.labelBounds.all,D,P,L,M)}return e}},"updateBoundsFromLabel"),_Ye=s(function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value;if(n>0&&i>0){var a=r.pstyle("outline-offset").value,o=r.pstyle("shape").value,l=i+a,u=(e.w+l*2)/e.w,h=(e.h+l*2)/e.h,f=0,d=0;["diamond","pentagon","round-triangle"].includes(o)?(u=(e.w+l*2.4)/e.w,d=-l/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(o)?u=(e.w+l*2.4)/e.w:o==="star"?(u=(e.w+l*2.8)/e.w,h=(e.h+l*2.6)/e.h,d=-l/3.8):o==="triangle"?(u=(e.w+l*2.8)/e.w,h=(e.h+l*2.4)/e.h,d=-l/1.4):o==="vee"&&(u=(e.w+l*4.4)/e.w,h=(e.h+l*3.8)/e.h,d=-l*.5);var p=e.h*h-e.h,m=e.w*u-e.w;if(FT(e,[Math.ceil(p/2),Math.ceil(m/2)]),f!=0||d!==0){var g=XUe(e,f,d);f0e(e,g)}}}},"updateBoundsFromOutline"),AYe=s(function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),o=Is(),l=e._private,u=e.isNode(),h=e.isEdge(),f,d,p,m,g,y,v=l.rstyle,x=u&&i?e.pstyle("bounds-expansion").pfValue:[0],b=s(function(De){return De.pstyle("display").value!=="none"},"isDisplayed"),k=!i||b(e)&&(!h||b(e.source())&&b(e.target()));if(k){var A=0,w=0;i&&r.includeOverlays&&(A=e.pstyle("overlay-opacity").value,A!==0&&(w=e.pstyle("overlay-padding").value));var T=0,C=0;i&&r.includeUnderlays&&(T=e.pstyle("underlay-opacity").value,T!==0&&(C=e.pstyle("underlay-padding").value));var E=Math.max(w,C),S=0,R=0;if(i&&(S=e.pstyle("width").pfValue,R=S/2),u&&r.includeNodes){var D=e.position();g=D.x,y=D.y;var L=e.outerWidth(),P=L/2,M=e.outerHeight(),F=M/2;f=g-P,d=g+P,p=y-F,m=y+F,_l(o,f,p,d,m),i&&r.includeOutlines&&_Ye(o,e)}else if(h&&r.includeEdges)if(i&&!a){var I=e.pstyle("curve-style").strValue;if(f=Math.min(v.srcX,v.midX,v.tgtX),d=Math.max(v.srcX,v.midX,v.tgtX),p=Math.min(v.srcY,v.midY,v.tgtY),m=Math.max(v.srcY,v.midY,v.tgtY),f-=R,d+=R,p-=R,m+=R,_l(o,f,p,d,m),I==="haystack"){var O=v.haystackPts;if(O&&O.length===2){if(f=O[0].x,p=O[0].y,d=O[1].x,m=O[1].y,f>d){var z=f;f=d,d=z}if(p>m){var N=p;p=m,m=N}_l(o,f-R,p-R,d+R,m+R)}}else if(I==="bezier"||I==="unbundled-bezier"||I.endsWith("segments")||I.endsWith("taxi")){var U;switch(I){case"bezier":case"unbundled-bezier":U=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=v.linePts;break}if(U!=null)for(var $=0;$d){var fe=f;f=d,d=fe}if(p>m){var ne=p;p=m,m=ne}f-=R,d+=R,p-=R,m+=R,_l(o,f,p,d,m)}if(i&&r.includeEdges&&h&&(RT(o,e,"mid-source"),RT(o,e,"mid-target"),RT(o,e,"source"),RT(o,e,"target")),i){var H=e.pstyle("ghost").value==="yes";if(H){var Q=e.pstyle("ghost-offset-x").pfValue,K=e.pstyle("ghost-offset-y").pfValue;_l(o,o.x1+Q,o.y1+K,o.x2+Q,o.y2+K)}}var re=l.bodyBounds=l.bodyBounds||{};$fe(re,o),FT(re,x),BT(re,1),i&&(f=o.x1,d=o.x2,p=o.y1,m=o.y2,_l(o,f-E,p-E,d+E,m+E));var ie=l.overlayBounds=l.overlayBounds||{};$fe(ie,o),FT(ie,x),BT(ie,1);var ye=l.labelBounds=l.labelBounds||{};ye.all!=null?YUe(ye.all):ye.all=Is(),i&&r.includeLabels&&(r.includeMainLabels&&OO(o,e,null),h&&(r.includeSourceLabels&&OO(o,e,"source"),r.includeTargetLabels&&OO(o,e,"target")))}return o.x1=Go(o.x1),o.y1=Go(o.y1),o.x2=Go(o.x2),o.y2=Go(o.y2),o.w=Go(o.x2-o.x1),o.h=Go(o.y2-o.y1),o.w>0&&o.h>0&&k&&(FT(o,x),BT(o,1)),o},"boundingBoxImpl"),z0e=s(function(e){var r=0,n=s(function(o){return(o?1:0)<=0;l--)o(l);return this};bf.removeAllListeners=function(){return this.removeListener("*")};bf.emit=bf.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,hn(e)||(e=[e]),qYe(this,function(a,o){r!=null&&(n=[{event:o.event,type:o.type,namespace:o.namespace,callback:r}],i=n.length);for(var l=s(function(f){var d=n[f];if(d.type===o.type&&(!d.namespace||d.namespace===o.namespace||d.namespace===VYe)&&a.eventMatches(a.context,d,o)){var p=[o];e!=null&&kUe(p,e),a.beforeEmit(a.context,d,o),d.conf&&d.conf.one&&(a.listeners=a.listeners.filter(function(y){return y!==d}));var m=a.callbackContext(a.context,d,o),g=d.callback.apply(m,p);a.afterEmit(a.context,d,o),g===!1&&(o.stopPropagation(),o.preventDefault())}},"_loop2"),u=0;u1&&!o){var l=this.length-1,u=this[l],h=u._private.data.id;this[l]=void 0,this[e]=u,a.set(h,{ele:u,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:s(function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var o=a.index;return this.unmergeAt(o),this},"unmergeOne"),unmerge:s(function(e){var r=this._private.cy;if(!e)return this;if(e&&At(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},"unmergeBy"),map:s(function(e,r){for(var n=[],i=this,a=0;an&&(n=u,i=l)}return{value:n,ele:i}},"max"),min:s(function(e,r){for(var n=1/0,i,a=this,o=0;o=0&&a"u"?"undefined":Pi(Symbol))!=e&&Pi(Symbol.iterator)!=e;r&&(ZT[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,o=this.length;return qde({next:s(function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){this.cleanStyle();var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:s(function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},"numericStyle"),numericStyleUnits:s(function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},"numericStyleUnits"),renderedStyle:s(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},"renderedStyle"),style:s(function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(Er(e)){var o=e;a.applyBypass(this,o,i),this.emitAndNotify("style")}else if(At(e))if(r===void 0){var l=this[0];return l?a.getStylePropertyValue(l,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?a.getRawStyle(u):void 0}return this},"style"),removeStyle:s(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var o=0;o0&&e.push(f[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:s(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:s(function(e){return this.neighborhood(e)},"openNeighborhood")});Da.neighbourhood=Da.neighborhood;Da.closedNeighbourhood=Da.closedNeighborhood;Da.openNeighbourhood=Da.openNeighborhood;Pt(Da,{source:Vo(s(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"sourceImpl"),"source"),target:Vo(s(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"targetImpl"),"target"),sources:vde({attr:"source"}),targets:vde({attr:"target"})});s(vde,"defineSourceFunction");Pt(Da,{edgesWith:Vo(xde(),"edgesWith"),edgesTo:Vo(xde({thisIsSrc:!0}),"edgesTo")});s(xde,"defineEdgesWithFunction");Pt(Da,{connectedEdges:Vo(function(t){for(var e=[],r=this,n=0;n0);return o},"components"),component:s(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});Da.componentsOf=Da.components;ga=s(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Jn("A collection must have a reference to the core");return}var a=new Ic,o=!1;if(!r)r=[];else if(r.length>0&&Er(r[0])&&!Nx(r[0])){o=!0;for(var l=[],u=new Xg,h=0,f=r.length;h0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],o=[],l,u=0,h=r.length;u0){for(var N=l.length===r.length?r:new ga(n,l),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function o(M){for(var F=M._private.edges,I=0;I0&&(t?D.emitAndNotify("remove"):e&&D.emit("remove"));for(var L=0;Lf&&Math.abs(g.v)>f;);return p?function(y){return u[y*(u.length-1)|0]}:h},"springRK4Factory")}(),kn=s(function(e,r,n,i){var a=eXe(e,r,n,i);return function(o,l,u){return o+(l-o)*a(u)}},"cubicBezier"),GT={linear:s(function(e,r,n){return e+(r-e)*n},"linear"),ease:kn(.25,.1,.25,1),"ease-in":kn(.42,0,1,1),"ease-out":kn(0,0,.58,1),"ease-in-out":kn(.42,0,.58,1),"ease-in-sine":kn(.47,0,.745,.715),"ease-out-sine":kn(.39,.575,.565,1),"ease-in-out-sine":kn(.445,.05,.55,.95),"ease-in-quad":kn(.55,.085,.68,.53),"ease-out-quad":kn(.25,.46,.45,.94),"ease-in-out-quad":kn(.455,.03,.515,.955),"ease-in-cubic":kn(.55,.055,.675,.19),"ease-out-cubic":kn(.215,.61,.355,1),"ease-in-out-cubic":kn(.645,.045,.355,1),"ease-in-quart":kn(.895,.03,.685,.22),"ease-out-quart":kn(.165,.84,.44,1),"ease-in-out-quart":kn(.77,0,.175,1),"ease-in-quint":kn(.755,.05,.855,.06),"ease-out-quint":kn(.23,1,.32,1),"ease-in-out-quint":kn(.86,0,.07,1),"ease-in-expo":kn(.95,.05,.795,.035),"ease-out-expo":kn(.19,1,.22,1),"ease-in-out-expo":kn(1,0,0,1),"ease-in-circ":kn(.6,.04,.98,.335),"ease-out-circ":kn(.075,.82,.165,1),"ease-in-out-circ":kn(.785,.135,.15,.86),spring:s(function(e,r,n){if(n===0)return GT.linear;var i=tXe(e,r,n);return function(a,o,l){return a+(o-a)*i(l)}},"spring"),"cubic-bezier":kn};s(kde,"getEasedValue");s(wde,"getValue");s(Ng,"ease");s(rXe,"step$1");s(px,"valid");s(nXe,"startAnimation");s(Tde,"stepAll");iXe={animate:jr.animate(),animation:jr.animation(),animated:jr.animated(),clearQueue:jr.clearQueue(),delay:jr.delay(),delayAnimation:jr.delayAnimation(),stop:jr.stop(),addToAnimationPool:s(function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:s(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:s(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&YT(s(function(a){Tde(a,e),r()},"animationStep"))}s(r,"headlessStep");var n=e.renderer();n&&n.beforeRender?n.beforeRender(s(function(a,o){Tde(o,e)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):r()},"startAnimationLoop")},aXe={qualifierCompare:s(function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},"qualifierCompare"),eventMatches:s(function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&Nx(n.target)&&i.matches(n.target):!0},"eventMatches"),addEventFields:s(function(e,r){r.cy=e,r.target=e},"addEventFields"),callbackContext:s(function(e,r,n){return r.qualifier!=null?n.target:e},"callbackContext")},NT=s(function(e){return At(e)?new vf(e):e},"argSelector"),K0e={createEmitter:s(function(){var e=this._private;return e.emitter||(e.emitter=new d7(aXe,this)),this},"createEmitter"),emitter:s(function(){return this._private.emitter},"emitter"),on:s(function(e,r,n){return this.emitter().on(e,NT(r),n),this},"on"),removeListener:s(function(e,r,n){return this.emitter().removeListener(e,NT(r),n),this},"removeListener"),removeAllListeners:s(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:s(function(e,r,n){return this.emitter().one(e,NT(r),n),this},"one"),once:s(function(e,r,n){return this.emitter().one(e,NT(r),n),this},"once"),emit:s(function(e,r){return this.emitter().emit(e,r),this},"emit"),emitAndNotify:s(function(e,r){return this.emit(e),this.notify(e,r),this},"emitAndNotify")};jr.eventAliasesOn(K0e);YO={png:s(function(e){var r=this._private.renderer;return e=e||{},r.png(e)},"png"),jpg:s(function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)},"jpg")};YO.jpeg=YO.jpg;VT={layout:s(function(e){var r=this;if(e==null){Jn("Layout options must be specified to make a layout");return}if(e.name==null){Jn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Jn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;At(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var o=new i(Pt({},e,{cy:r,eles:a}));return o},"layout")};VT.createLayout=VT.makeLayout=VT.layout;sXe={notify:s(function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},"notify"),notifications:s(function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},"notifications"),noNotifications:s(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:s(function(){return this._private.batchCount>0},"batching"),startBatch:s(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:s(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},"endBatch"),batch:s(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:s(function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},"destroyRenderer"),onRender:s(function(e){return this.on("render",e)},"onRender"),offRender:s(function(e){return this.off("render",e)},"offRender")};XO.invalidateDimensions=XO.resize;UT={collection:s(function(e,r){return At(e)?this.$(e):oo(e)?e.collection():hn(e)?(r||(r={}),new ga(this,e,r.unique,r.removed)):new ga(this)},"collection"),nodes:s(function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},"nodes"),edges:s(function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},"edges"),$:s(function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},"$"),mutableElements:s(function(){return this._private.elements},"mutableElements")};UT.elements=UT.filter=UT.$;Ma={},bx="t",lXe="f";Ma.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(p||d&&m){var g=void 0;p&&m||p?g=h.properties:m&&(g=h.mappedProperties);for(var y=0;y1&&(A=1),l.color){var T=n.valueMin[0],C=n.valueMax[0],E=n.valueMin[1],S=n.valueMax[1],R=n.valueMin[2],D=n.valueMax[2],L=n.valueMin[3]==null?1:n.valueMin[3],P=n.valueMax[3]==null?1:n.valueMax[3],M=[Math.round(T+(C-T)*A),Math.round(E+(S-E)*A),Math.round(R+(D-R)*A),Math.round(L+(P-L)*A)];a={bypass:n.bypass,name:n.name,value:M,strValue:"rgb("+M[0]+", "+M[1]+", "+M[2]+")"}}else if(l.number){var F=n.valueMin+(n.valueMax-n.valueMin)*A;a=this.parse(n.name,F,n.bypass,p)}else return!1;if(!a)return y(),!1;a.mapping=n,n=a;break}case o.data:{for(var I=n.field.split("."),O=d.data,z=0;z0&&a>0){for(var l={},u=!1,h=0;h0?t.delayAnimation(o).play().promise().then(k):k()}).then(function(){return t.animation({style:l,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};Ma.checkTrigger=function(t,e,r,n,i,a){var o=this.properties[e],l=i(o);l!=null&&l(r,n)&&a(o)};Ma.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};Ma.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),i.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(r==="bezier"||n==="bezier")&&t.parallelEdges().forEach(function(a){a.isBundledBezier()&&a.dirtyBoundingBoxCache()}),i.triggersBoundsOfConnectedEdges&&e==="display"&&(r==="none"||n==="none")&&t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Ma.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n)};Fx={};Fx.applyBypass=function(t,e,r,n){var i=this,a=[],o=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;li.length?n=n.substr(i.length):n=""}s(l,"removeSelAndBlockFromRemaining");function u(){a.length>o.length?a=a.substr(o.length):a=""}for(s(u,"removePropAndValFromRem");;){var h=n.match(/^\s*$/);if(h)break;var f=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){Kr("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=f[0];var d=f[1];if(d!=="core"){var p=new vf(d);if(p.invalid){Kr("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),l();continue}}var m=f[2],g=!1;a=m;for(var y=[];;){var v=a.match(/^\s*$/);if(v)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){Kr("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+m),g=!0;break}o=x[0];var b=x[1],k=x[2],A=e.properties[b];if(!A){Kr("Skipping property: Invalid property name in: "+o),u();continue}var w=r.parse(b,k);if(!w){Kr("Skipping property: Invalid property definition in: "+o),u();continue}y.push({name:b,val:k}),u()}if(g){l();break}r.selector(d);for(var T=0;T=7&&e[0]==="d"&&(f=new RegExp(l.data.regex).exec(e))){if(r)return!1;var p=l.data;return{name:t,value:f,strValue:""+e,mapped:p,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(l.mapData.regex).exec(e))){if(r||h.multiple)return!1;var m=l.mapData;if(!(h.color||h.number))return!1;var g=this.parse(t,d[4]);if(!g||g.mapped)return!1;var y=this.parse(t,d[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return Kr("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var v=g.value,x=y.value,b=v[0]===x[0]&&v[1]===x[1]&&v[2]===x[2]&&(v[3]===x[3]||(v[3]==null||v[3]===1)&&(x[3]==null||x[3]===1));if(b)return!1}return{name:t,value:d,strValue:""+e,mapped:m,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:g.value,valueMax:y.value,bypass:r}}}if(h.multiple&&n!=="multiple"){var k;if(u?k=e.split(/\s+/):hn(e)?k=e:k=[e],h.evenMultiple&&k.length%2!==0)return null;for(var A=[],w=[],T=[],C="",E=!1,S=0;S0?" ":"")+R.strValue}return h.validate&&!h.validate(A,w)?null:h.singleEnum&&E?A.length===1&&At(A[0])?{name:t,value:A[0],strValue:A[0],bypass:r}:null:{name:t,value:A,pfValue:T,strValue:C,bypass:r,units:w}}var D=s(function(){for(var H=0;Hh.max||h.strictMax&&e===h.max))return null;var I={name:t,value:e,strValue:""+e+(L||""),units:L,bypass:r};return h.unitless||L!=="px"&&L!=="em"?I.pfValue=e:I.pfValue=L==="px"||!L?e:this.getEmSizeInPixels()*e,(L==="ms"||L==="s")&&(I.pfValue=L==="ms"?e:1e3*e),(L==="deg"||L==="rad")&&(I.pfValue=L==="rad"?e:UUe(e)),L==="%"&&(I.pfValue=e/100),I}else if(h.propList){var O=[],z=""+e;if(z!=="none"){for(var N=z.split(/\s*,\s*|\s+/),U=0;U0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((o-2*r)/n.w,(l-2*r)/n.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=n.minZoom&&(n.maxZoom=r),this},"zoomRange"),minZoom:s(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:s(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:s(function(e){var r=this._private,n=r.pan,i=r.zoom,a,o,l=!1;if(r.zoomingEnabled||(l=!0),rt(e)?o=e:Er(e)&&(o=e.level,e.position!=null?a=o7(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(l=!0)),o=o>r.maxZoom?r.maxZoom:o,o=or.maxZoom||!r.zoomingEnabled?o=!0:(r.zoom=u,a.push("zoom"))}if(i&&(!o||!e.cancelOnFailedZoom)&&r.panningEnabled){var h=e.pan;rt(h.x)&&(r.pan.x=h.x,l=!1),rt(h.y)&&(r.pan.y=h.y,l=!1),l||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:s(function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:s(function(e,r){if(this._private.panningEnabled){if(At(e)){var n=e;e=this.mutableElements().filter(n)}else oo(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),o=this.height();r=r===void 0?this._private.zoom:r;var l={x:(a-r*(i.x1+i.x2))/2,y:(o-r*(i.y1+i.y2))/2};return l}}},"getCenterPan"),reset:s(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:s(function(){this._private.sizeCache=null},"invalidateSize"),size:s(function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?function(){var i=n.window().getComputedStyle(r),a=s(function(l){return parseFloat(i.getPropertyValue(l))},"val");return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}}():{width:1,height:1})},"size"),width:s(function(){return this.size().width},"width"),height:s(function(){return this.size().height},"height"),extent:s(function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},"extent"),renderedExtent:s(function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},"renderedExtent"),multiClickDebounceTime:s(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};P0.centre=P0.center;P0.autolockNodes=P0.autolock;P0.autoungrabifyNodes=P0.autoungrabify;Rx={data:jr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:jr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:jr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:jr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Rx.attr=Rx.data;Rx.removeAttr=Rx.removeData;Mx=s(function(e){var r=this;e=Pt({},e);var n=e.container;n&&!HT(n)&&HT(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var o=Ni!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=Pt({name:o?"grid":"null"},l.layout),l.renderer=Pt({name:o?"canvas":"null"},l.renderer);var u=s(function(g,y,v){return y!==void 0?y:v!==void 0?v:g},"defVal"),h=this._private={container:n,ready:!1,options:l,elements:new ga(this),listeners:[],aniEles:new ga(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?o:l.styleEnabled,zoom:rt(l.zoom)?l.zoom:1,pan:{x:Er(l.pan)&&rt(l.pan.x)?l.pan.x:0,y:Er(l.pan)&&rt(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var f=s(function(g,y){var v=g.some(dVe);if(v)return jg.all(g).then(y);y(g)},"loadExtData");h.styleEnabled&&r.setStyle([]);var d=Pt({},l,l.renderer);r.initRenderer(d);var p=s(function(g,y,v){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),g!=null&&(Er(g)||hn(g))&&r.add(g),r.one("layoutready",function(k){r.notifications(!0),r.emit(k),r.one("load",y),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",v),r.emit("done")});var b=Pt({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()},"setElesAndLayout");f([l.style,l.elements],function(m){var g=m[0],y=m[1];h.styleEnabled&&r.style().append(g),p(y,function(){r.startAnimationLoop(),h.ready=!0,Gn(l.ready)&&r.on("ready",l.ready);for(var v=0;v0,u=Is(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),h;if(oo(e.roots))h=e.roots;else if(hn(e.roots)){for(var f=[],d=0;d0;){var F=M(),I=R(F,L);if(I)F.outgoers().filter(function(ye){return ye.isNode()&&n.has(ye)}).forEach(P);else if(I===null){Kr("Detected double maximal shift for node `"+F.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}S();var O=0;if(e.avoidOverlap)for(var z=0;z0&&x[0].length<=3?Oe/2:0),q=2*Math.PI/x[oe].length*Re;return oe===0&&x[0].length===1&&(he=1),{x:K.x+he*Math.cos(q),y:K.y+he*Math.sin(q)}}else{var _e={x:K.x+(Re+1-(Pe+1)/2)*Se,y:(oe+1)*Ue};return _e}},"getPosition");return n.nodes().layoutPositions(this,e,ie),this};dXe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:s(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:s(function(e,r){return r},"transform")};s(Z0e,"CircleLayout");Z0e.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var o=Is(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:o.x1+o.w/2,y:o.y1+o.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,h=u/Math.max(1,a.length-1),f,d=0,p=0;p1&&e.avoidOverlap){d*=1.75;var x=Math.cos(h)-Math.cos(0),b=Math.sin(h)-Math.sin(0),k=Math.sqrt(d*d/(x*x+b*b));f=Math.max(k,f)}var A=s(function(T,C){var E=e.startAngle+C*h*(i?1:-1),S=f*Math.cos(E),R=f*Math.sin(E),D={x:l.x+S,y:l.y+R};return D},"getPos");return n.nodes().layoutPositions(this,e,A),this};pXe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:s(function(e){return e.degree()},"concentric"),levelWidth:s(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:s(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:s(function(e,r){return r},"transform")};s(J0e,"ConcentricLayout");J0e.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),o=Is(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:o.x1+o.w/2,y:o.y1+o.h/2},u=[],h=0,f=0;f0){var w=Math.abs(b[0].value-A.value);w>=v&&(b=[],x.push(b))}b.push(A)}var T=h+e.minNodeSpacing;if(!e.avoidOverlap){var C=x.length>0&&x[0].length>1,E=Math.min(o.w,o.h)/2-T,S=E/(x.length+C?1:0);T=Math.min(T,S)}for(var R=0,D=0;D1&&e.avoidOverlap){var F=Math.cos(M)-Math.cos(0),I=Math.sin(M)-Math.sin(0),O=Math.sqrt(T*T/(F*F+I*I));R=Math.max(O,R)}L.r=R,R+=T}if(e.equidistant){for(var z=0,N=0,U=0;U=t.numIter||(wXe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),YT(d)}},"frame");f()}else{for(;h;)h=o(u),u++;Sde(n,t),l()}return this};v7.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};v7.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};gXe=s(function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),o=Is(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},u=n.eles.components(),h={},f=0;f0){l.graphSet.push(E);for(var f=0;fi.count?0:i.graph},"findLCA"),vXe=s(function t(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*f,p=Math.sqrt(l*l+u*u),m=d*l/p,g=d*u/p;else var y=e7(e,l,u),v=e7(r,-1*l,-1*u),x=v.x-y.x,b=v.y-y.y,k=x*x+b*b,p=Math.sqrt(k),d=(e.nodeRepulsion+r.nodeRepulsion)/k,m=d*x/p,g=d*b/p;e.isLocked||(e.offsetX-=m,e.offsetY-=g),r.isLocked||(r.offsetX+=m,r.offsetY+=g)}},"nodeRepulsion"),CXe=s(function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var o=e.maxY-r.minY;else var o=r.maxY-e.minY;return a>=0&&o>=0?Math.sqrt(a*a+o*o):0},"nodesOverlap"),e7=s(function(e,r,n){var i=e.positionX,a=e.positionY,o=e.height||1,l=e.width||1,u=n/r,h=o/l,f={};return r===0&&0n?(f.x=i,f.y=a+o/2,f):0r&&-1*h<=u&&u<=h?(f.x=i-l/2,f.y=a-l*n/2/r,f):0=h)?(f.x=i+o*r/2/n,f.y=a+o/2,f):(0>n&&(u<=-1*h||u>=h)&&(f.x=i-o*r/2/n,f.y=a-o/2),f)},"findClippingPoint"),SXe=s(function(e,r){for(var n=0;nn){var v=r.gravity*m/y,x=r.gravity*g/y;p.offsetX+=v,p.offsetY+=x}}}}},"calculateGravityForces"),AXe=s(function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var o=n[i++],l=e.idToIndex[o],u=e.layoutNodes[l],h=u.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},"limitForce"),RXe=s(function t(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(g+=v+r.componentSpacing,m=0,y=0,v=0)}}},"separateComponents"),MXe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:s(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:s(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:s(function(e,r){return r},"transform")};s(tpe,"GridLayout");tpe.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=Is(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(ee){return{x:a.x1,y:a.y1}});else{var o=i.size(),l=Math.sqrt(o*a.h/a.w),u=Math.round(l),h=Math.round(a.w/a.h*l),f=s(function(te){if(te==null)return Math.min(u,h);var ce=Math.min(u,h);ce==u?u=te:h=te},"small"),d=s(function(te){if(te==null)return Math.max(u,h);var ce=Math.max(u,h);ce==u?u=te:h=te},"large"),p=e.rows,m=e.cols!=null?e.cols:e.columns;if(p!=null&&m!=null)u=p,h=m;else if(p!=null&&m==null)u=p,h=Math.ceil(o/u);else if(p==null&&m!=null)h=m,u=Math.ceil(o/h);else if(h*u>o){var g=f(),y=d();(g-1)*y>=o?f(g-1):(y-1)*g>=o&&d(y-1)}else for(;h*u=o?d(x+1):f(v+1)}var b=a.w/h,k=a.h/u;if(e.condense&&(b=0,k=0),e.avoidOverlap)for(var A=0;A=h&&(F=0,M++)},"moveToNextCell"),O={},z=0;z(F=rqe(t,e,I[O],I[O+1],I[O+2],I[O+3])))return v(C,F),!0}else if(S.edgeType==="bezier"||S.edgeType==="multibezier"||S.edgeType==="self"||S.edgeType==="compound"){for(var I=S.allpts,O=0;O+5(F=tqe(t,e,I[O],I[O+1],I[O+2],I[O+3],I[O+4],I[O+5])))return v(C,F),!0}for(var z=z||E.source,N=N||E.target,U=i.getArrowWidth(R,D),$=[{name:"source",x:S.arrowStartX,y:S.arrowStartY,angle:S.srcArrowAngle},{name:"target",x:S.arrowEndX,y:S.arrowEndY,angle:S.tgtArrowAngle},{name:"mid-source",x:S.midX,y:S.midY,angle:S.midsrcArrowAngle},{name:"mid-target",x:S.midX,y:S.midY,angle:S.midtgtArrowAngle}],O=0;O<$.length;O++){var W=$[O],ee=a.arrowShapes[C.pstyle(W.name+"-arrow-shape").value],te=C.pstyle("width").pfValue;if(ee.roughCollide(t,e,U,W.angle,{x:W.x,y:W.y},te,f)&&ee.collide(t,e,U,W.angle,{x:W.x,y:W.y},te,f))return v(C),!0}h&&l.length>0&&(x(z),x(N))}s(b,"checkEdge");function k(C,E,S){return Al(C,E,S)}s(k,"preprop");function A(C,E){var S=C._private,R=p,D;E?D=E+"-":D="",C.boundingBox();var L=S.labelBounds[E||"main"],P=C.pstyle(D+"label").value,M=C.pstyle("text-events").strValue==="yes";if(!(!M||!P)){var F=k(S.rscratch,"labelX",E),I=k(S.rscratch,"labelY",E),O=k(S.rscratch,"labelAngle",E),z=C.pstyle(D+"text-margin-x").pfValue,N=C.pstyle(D+"text-margin-y").pfValue,U=L.x1-R-z,$=L.x2+R-z,W=L.y1-R-N,ee=L.y2+R-N;if(O){var te=Math.cos(O),ce=Math.sin(O),Z=s(function(ie,ye){return ie=ie-F,ye=ye-I,{x:ie*te-ye*ce+F,y:ie*ce+ye*te+I}},"rotate"),fe=Z(U,W),ne=Z(U,ee),H=Z($,W),Q=Z($,ee),K=[fe.x+z,fe.y+N,H.x+z,H.y+N,Q.x+z,Q.y+N,ne.x+z,ne.y+N];if(Ms(t,e,K))return v(C),!0}else if(Wg(L,t,e))return v(C),!0}}s(A,"checkLabel");for(var w=o.length-1;w>=0;w--){var T=o[w];T.isNode()?x(T)||A(T):b(T)||A(T)||A(T,"source")||A(T,"target")}return l};F0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=[],o=Math.min(t,r),l=Math.max(t,r),u=Math.min(e,n),h=Math.max(e,n);t=o,r=l,e=u,n=h;for(var f=Is({x1:t,y1:e,x2:r,y2:n}),d=0;d0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),FXe=s(function(e,r,n,i,a){if(e!==Rde?Mde(r,e,Rc):BXe($o,Rc),Mde(r,n,$o),Lde=Rc.nx*$o.ny-Rc.ny*$o.nx,Dde=Rc.nx*$o.nx-Rc.ny*-$o.ny,Uu=Math.asin(Math.max(-1,Math.min(1,Lde))),Math.abs(Uu)<1e-6){jO=r.x,KO=r.y,A0=Pg=0;return}L0=1,qT=!1,Dde<0?Uu<0?Uu=Math.PI+Uu:(Uu=Math.PI-Uu,L0=-1,qT=!0):Uu>0&&(L0=-1,qT=!0),r.radius!==void 0?Pg=r.radius:Pg=i,E0=Uu/2,OT=Math.min(Rc.len/2,$o.len/2),a?(Dc=Math.abs(Math.cos(E0)*Pg/Math.sin(E0)),Dc>OT?(Dc=OT,A0=Math.abs(Dc*Math.sin(E0)/Math.cos(E0))):A0=Pg):(Dc=Math.min(OT,Pg),A0=Math.abs(Dc*Math.sin(E0)/Math.cos(E0))),QO=r.x+$o.nx*Dc,ZO=r.y+$o.ny*Dc,jO=QO-$o.ny*A0*L0,KO=ZO+$o.nx*A0*L0,ape=r.x+Rc.nx*Dc,spe=r.y+Rc.ny*Dc,Rde=r},"calcCornerArc");s(ope,"drawPreparedRoundCorner");s(EP,"getRoundCorner");Ia={};Ia.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,o=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=o.units!=null&&l.units!=null,h=s(function(w,T,C,E){var S=E-T,R=C-w,D=Math.sqrt(R*R+S*S);return{x:-S/D,y:R/D}},"recalcVectorNormInverse"),f=t.pstyle("edge-distances").value;switch(f){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(u){var d=this.manualEndptToPx(t.source()[0],o),p=Sl(d,2),m=p[0],g=p[1],y=this.manualEndptToPx(t.target()[0],l),v=Sl(y,2),x=v[0],b=v[1],k={x1:m,y1:g,x2:x,y2:b};i=h(m,g,x,b),a=k}else Kr("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Ia.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Ne-Be,0):Math.min(Ne+Be,0)},"subDWH"),P=L(R,E),M=L(D,S),F=!1;b===h?x=Math.abs(P)>Math.abs(M)?i:n:b===u||b===l?(x=n,F=!0):(b===a||b===o)&&(x=i,F=!0);var I=x===n,O=I?M:P,z=I?D:R,N=h0e(z),U=!1;!(F&&(A||T))&&(b===l&&z<0||b===u&&z>0||b===a&&z>0||b===o&&z<0)&&(N*=-1,O=N*Math.abs(O),U=!0);var $;if(A){var W=w<0?1+w:w;$=W*O}else{var ee=w<0?O:0;$=ee+w*N}var te=s(function(Ne){return Math.abs(Ne)=Math.abs(O)},"getIsTooClose"),ce=te($),Z=te(Math.abs(O)-Math.abs($)),fe=ce||Z;if(fe&&!U)if(I){var ne=Math.abs(z)<=p/2,H=Math.abs(R)<=m/2;if(ne){var Q=(f.x1+f.x2)/2,K=f.y1,re=f.y2;r.segpts=[Q,K,Q,re]}else if(H){var ie=(f.y1+f.y2)/2,ye=f.x1,j=f.x2;r.segpts=[ye,ie,j,ie]}else r.segpts=[f.x1,f.y2]}else{var De=Math.abs(z)<=d/2,oe=Math.abs(D)<=g/2;if(De){var Re=(f.y1+f.y2)/2,Pe=f.x1,Se=f.x2;r.segpts=[Pe,Re,Se,Re]}else if(oe){var Ue=(f.x1+f.x2)/2,Oe=f.y1,_e=f.y2;r.segpts=[Ue,Oe,Ue,_e]}else r.segpts=[f.x2,f.y1]}else if(I){var he=f.y1+$+(v?p/2*N:0),q=f.x1,se=f.x2;r.segpts=[q,he,se,he]}else{var ue=f.x1+$+(v?d/2*N:0),X=f.y1,ae=f.y2;r.segpts=[ue,X,ue,ae]}if(r.isRound){var pe=t.pstyle("taxi-radius").value,de=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(pe),r.isArcRadius=new Array(r.segpts.length/2).fill(de)}};Ia.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,o=e.srcH,l=e.tgtW,u=e.tgtH,h=e.srcShape,f=e.tgtShape,d=e.srcCornerRadius,p=e.tgtCornerRadius,m=e.srcRs,g=e.tgtRs,y=!rt(r.startX)||!rt(r.startY),v=!rt(r.arrowStartX)||!rt(r.arrowStartY),x=!rt(r.endX)||!rt(r.endY),b=!rt(r.arrowEndX)||!rt(r.arrowEndY),k=3,A=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,w=k*A,T=I0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),C=TM.poolIndex()){var F=P;P=M,M=F}var I=S.srcPos=P.position(),O=S.tgtPos=M.position(),z=S.srcW=P.outerWidth(),N=S.srcH=P.outerHeight(),U=S.tgtW=M.outerWidth(),$=S.tgtH=M.outerHeight(),W=S.srcShape=r.nodeShapes[e.getNodeShape(P)],ee=S.tgtShape=r.nodeShapes[e.getNodeShape(M)],te=S.srcCornerRadius=P.pstyle("corner-radius").value==="auto"?"auto":P.pstyle("corner-radius").pfValue,ce=S.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,Z=S.tgtRs=M._private.rscratch,fe=S.srcRs=P._private.rscratch;S.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne0){var re=a,ie=S0(re,Fg(r)),ye=S0(re,Fg(K)),j=ie;if(ye2){var De=S0(re,{x:K[2],y:K[3]});De0){var ae=o,pe=S0(ae,Fg(r)),de=S0(ae,Fg(X)),Ie=pe;if(de2){var Ne=S0(ae,{x:X[2],y:X[3]});Ne=g||C){v={cp:A,segment:T};break}}if(v)break}var E=v.cp,S=v.segment,R=(g-x)/S.length,D=S.t1-S.t0,L=m?S.t0+D*R:S.t1-D*R;L=Sx(0,L,1),e=$g(E.p0,E.p1,E.p2,L),p=$Xe(E.p0,E.p1,E.p2,L);break}case"straight":case"segments":case"haystack":{for(var P=0,M,F,I,O,z=n.allpts.length,N=0;N+3=g));N+=2);var U=g-F,$=U/M;$=Sx(0,$,1),e=WUe(I,O,$),p=upe(I,O);break}}o("labelX",d,e.x),o("labelY",d,e.y),o("labelAutoAngle",d,p)}},"calculateEndProjection");h("source"),h("target"),this.applyLabelDimensions(t)}};Oc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};Oc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=this.calculateLabelDimensions(t,n),a=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Al(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=i.height/u,f=h*a,d=i.width,p=i.height+(u-1)*(a-1)*h;ff(r.rstyle,"labelWidth",e,d),ff(r.rscratch,"labelWidth",e,d),ff(r.rstyle,"labelHeight",e,p),ff(r.rscratch,"labelHeight",e,p),ff(r.rscratch,"labelLineHeight",e,f)};Oc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,o=s(function(ee,te){return te?(ff(r.rscratch,ee,e,te),te):Al(r.rscratch,ee,e)},"rscratch");if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=o("labelKey");if(u!=null&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var h="\u200B",f=i.split(` +`),d=t.pstyle("text-max-width").pfValue,p=t.pstyle("text-overflow-wrap").value,m=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,v=0;vd){var w=x.matchAll(y),T="",C=0,E=Hde(w),S;try{for(E.s();!(S=E.n()).done;){var R=S.value,D=R[0],L=x.substring(C,R.index);C=R.index+D.length;var P=T.length===0?L:T+L+D,M=this.calculateLabelDimensions(t,P),F=M.width;F<=d?T+=L+D:(T&&g.push(T),T=L+D)}}catch(W){E.e(W)}finally{E.f()}T.match(/^[\s\u200b]+$/)||g.push(T)}else g.push(x)}o("labelWrapCachedLines",g),i=o("labelWrapCachedText",g.join(` +`)),o("labelWrapKey",u)}else if(l==="ellipsis"){var I=t.pstyle("text-max-width").pfValue,O="",z="\u2026",N=!1;if(this.calculateLabelDimensions(t,i).widthI)break;O+=i[U],U===i.length-1&&(N=!0)}return N||(O+=z),O}return i};Oc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Oc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=M0(e,t._private.labelDimsKey),o=r.labelDimCache||(r.labelDimCache=[]),l=o[a];if(l!=null)return l;var u=0,h=t.pstyle("font-style").strValue,f=t.pstyle("font-size").pfValue,d=t.pstyle("font-family").strValue,p=t.pstyle("font-weight").strValue,m=this.labelCalcCanvas,g=this.labelCalcCanvasContext;if(!m){m=this.labelCalcCanvas=i.createElement("canvas"),g=this.labelCalcCanvasContext=m.getContext("2d");var y=m.style;y.position="absolute",y.left="-9999px",y.top="-9999px",y.zIndex="-1",y.visibility="hidden",y.pointerEvents="none"}g.font="".concat(h," ").concat(p," ").concat(f,"px ").concat(d);for(var v=0,x=0,b=e.split(` +`),k=0;k1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(o),l)for(var u=0;u=t.desktopTapThreshold2}var Rt=i(q);We&&(t.hoverData.tapholdCancelled=!0);var Qe=s(function(){var Bt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];Bt.length===0?(Bt.push(we[0]),Bt.push(we[1])):(Bt[0]+=we[0],Bt[1]+=we[1])},"updateDragDelta");ue=!0,n(ze,["mousemove","vmousemove","tapdrag"],q,{x:de[0],y:de[1]});var Dt=s(function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||X.emit({originalEvent:q,type:"boxstart",position:{x:de[0],y:de[1]}}),Be[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()},"goIntoBoxMode");if(t.hoverData.which===3){if(We){var qt={originalEvent:q,type:"cxtdrag",position:{x:de[0],y:de[1]}};Fe?Fe.emit(qt):X.emit(qt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||ze!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:q,type:"cxtdragout",position:{x:de[0],y:de[1]}}),t.hoverData.cxtOver=ze,ze&&ze.emit({originalEvent:q,type:"cxtdragover",position:{x:de[0],y:de[1]}}))}}else if(t.hoverData.dragging){if(ue=!0,X.panningEnabled()&&X.userPanningEnabled()){var yt;if(t.hoverData.justStartedPan){var Et=t.hoverData.mdownPos;yt={x:(de[0]-Et[0])*ae,y:(de[1]-Et[1])*ae},t.hoverData.justStartedPan=!1}else yt={x:we[0]*ae,y:we[1]*ae};X.panBy(yt),X.emit("dragpan"),t.hoverData.dragged=!0}de=t.projectIntoViewport(q.clientX,q.clientY)}else if(Be[4]==1&&(Fe==null||Fe.pannable())){if(We){if(!t.hoverData.dragging&&X.boxSelectionEnabled()&&(Rt||!X.panningEnabled()||!X.userPanningEnabled()))Dt();else if(!t.hoverData.selecting&&X.panningEnabled()&&X.userPanningEnabled()){var pt=a(Fe,t.hoverData.downs);pt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,Be[4]=0,t.data.bgActivePosistion=Fg(Ie),t.redrawHint("select",!0),t.redraw())}Fe&&Fe.pannable()&&Fe.active()&&Fe.unactivate()}}else{if(Fe&&Fe.pannable()&&Fe.active()&&Fe.unactivate(),(!Fe||!Fe.grabbed())&&ze!=qe&&(qe&&n(qe,["mouseout","tapdragout"],q,{x:de[0],y:de[1]}),ze&&n(ze,["mouseover","tapdragover"],q,{x:de[0],y:de[1]}),t.hoverData.last=ze),Fe)if(We){if(X.boxSelectionEnabled()&&Rt)Fe&&Fe.grabbed()&&(v(Je),Fe.emit("freeon"),Je.emit("free"),t.dragData.didDrag&&(Fe.emit("dragfreeon"),Je.emit("dragfree"))),Dt();else if(Fe&&Fe.grabbed()&&t.nodeIsDraggable(Fe)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||g(Je,{inDragLayer:!0});var ot={x:0,y:0};if(rt(we[0])&&rt(we[1])&&(ot.x+=we[0],ot.y+=we[1],Wt)){var fr=t.hoverData.dragDelta;fr&&rt(fr[0])&&rt(fr[1])&&(ot.x+=fr[0],ot.y+=fr[1])}t.hoverData.draggingEles=!0,Je.silentShift(ot).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else Qe();ue=!0}if(Be[2]=de[0],Be[3]=de[1],ue)return q.stopPropagation&&q.stopPropagation(),q.preventDefault&&q.preventDefault(),!1}},"mousemoveHandler"),!1);var R,D,L;t.registerBinding(e,"mouseup",s(function(q){if(!(t.hoverData.which===1&&q.which!==1&&t.hoverData.capture)){var se=t.hoverData.capture;if(se){t.hoverData.capture=!1;var ue=t.cy,X=t.projectIntoViewport(q.clientX,q.clientY),ae=t.selection,pe=t.findNearestElement(X[0],X[1],!0,!1),de=t.dragData.possibleDragElements,Ie=t.hoverData.down,Ne=i(q);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,Ie&&Ie.unactivate(),t.hoverData.which===3){var Be={originalEvent:q,type:"cxttapend",position:{x:X[0],y:X[1]}};if(Ie?Ie.emit(Be):ue.emit(Be),!t.hoverData.cxtDragged){var ze={originalEvent:q,type:"cxttap",position:{x:X[0],y:X[1]}};Ie?Ie.emit(ze):ue.emit(ze)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(n(pe,["mouseup","tapend","vmouseup"],q,{x:X[0],y:X[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(n(Ie,["click","tap","vclick"],q,{x:X[0],y:X[1]}),D=!1,q.timeStamp-L<=ue.multiClickDebounceTime()?(R&&clearTimeout(R),D=!0,L=null,n(Ie,["dblclick","dbltap","vdblclick"],q,{x:X[0],y:X[1]})):(R=setTimeout(function(){D||n(Ie,["oneclick","onetap","voneclick"],q,{x:X[0],y:X[1]})},ue.multiClickDebounceTime()),L=q.timeStamp)),Ie==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!i(q)&&(ue.$(r).unselect(["tapunselect"]),de.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=de=ue.collection()),pe==Ie&&!t.dragData.didDrag&&!t.hoverData.selecting&&pe!=null&&pe._private.selectable&&(t.hoverData.dragging||(ue.selectionType()==="additive"||Ne?pe.selected()?pe.unselect(["tapunselect"]):pe.select(["tapselect"]):Ne||(ue.$(r).unmerge(pe).unselect(["tapunselect"]),pe.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var qe=ue.collection(t.getAllInBox(ae[0],ae[1],ae[2],ae[3]));t.redrawHint("select",!0),qe.length>0&&t.redrawHint("eles",!0),ue.emit({type:"boxend",originalEvent:q,position:{x:X[0],y:X[1]}});var Fe=s(function(We){return We.selectable()&&!We.selected()},"eleWouldBeSelected");ue.selectionType()==="additive"||Ne||ue.$(r).unmerge(qe).unselect(),qe.emit("box").stdFilter(Fe).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!ae[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var we=Ie&&Ie.grabbed();v(de),we&&(Ie.emit("freeon"),de.emit("free"),t.dragData.didDrag&&(Ie.emit("dragfreeon"),de.emit("dragfree")))}}ae[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}}},"mouseupHandler"),!1);var P=s(function(q){if(!t.scrollingPage){var se=t.cy,ue=se.zoom(),X=se.pan(),ae=t.projectIntoViewport(q.clientX,q.clientY),pe=[ae[0]*ue+X.x,ae[1]*ue+X.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||E()){q.preventDefault();return}if(se.panningEnabled()&&se.userPanningEnabled()&&se.zoomingEnabled()&&se.userZoomingEnabled()){q.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var de;q.deltaY!=null?de=q.deltaY/-250:q.wheelDeltaY!=null?de=q.wheelDeltaY/1e3:de=q.wheelDelta/1e3,de=de*t.wheelSensitivity;var Ie=q.deltaMode===1;Ie&&(de*=33);var Ne=se.zoom()*Math.pow(10,de);q.type==="gesturechange"&&(Ne=t.gestureStartZoom*q.scale),se.zoom({level:Ne,renderedPosition:{x:pe[0],y:pe[1]}}),se.emit(q.type==="gesturechange"?"pinchzoom":"scrollzoom")}}},"wheelHandler");t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",s(function(q){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",s(function(q){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||q.preventDefault()},"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",function(he){t.hasTouchStarted||P(he)},!0),t.registerBinding(t.container,"mouseout",s(function(q){var se=t.projectIntoViewport(q.clientX,q.clientY);t.cy.emit({originalEvent:q,type:"mouseout",position:{x:se[0],y:se[1]}})},"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",s(function(q){var se=t.projectIntoViewport(q.clientX,q.clientY);t.cy.emit({originalEvent:q,type:"mouseover",position:{x:se[0],y:se[1]}})},"mouseOverHandler"),!1);var M,F,I,O,z,N,U,$,W,ee,te,ce,Z,fe=s(function(q,se,ue,X){return Math.sqrt((ue-q)*(ue-q)+(X-se)*(X-se))},"distance"),ne=s(function(q,se,ue,X){return(ue-q)*(ue-q)+(X-se)*(X-se)},"distanceSq"),H;t.registerBinding(t.container,"touchstart",H=s(function(q){if(t.hasTouchStarted=!0,!!S(q)){b(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var se=t.cy,ue=t.touchData.now,X=t.touchData.earlier;if(q.touches[0]){var ae=t.projectIntoViewport(q.touches[0].clientX,q.touches[0].clientY);ue[0]=ae[0],ue[1]=ae[1]}if(q.touches[1]){var ae=t.projectIntoViewport(q.touches[1].clientX,q.touches[1].clientY);ue[2]=ae[0],ue[3]=ae[1]}if(q.touches[2]){var ae=t.projectIntoViewport(q.touches[2].clientX,q.touches[2].clientY);ue[4]=ae[0],ue[5]=ae[1]}if(q.touches[1]){t.touchData.singleTouchMoved=!0,v(t.dragData.touchDragEles);var pe=t.findContainerClientCoords();W=pe[0],ee=pe[1],te=pe[2],ce=pe[3],M=q.touches[0].clientX-W,F=q.touches[0].clientY-ee,I=q.touches[1].clientX-W,O=q.touches[1].clientY-ee,Z=0<=M&&M<=te&&0<=I&&I<=te&&0<=F&&F<=ce&&0<=O&&O<=ce;var de=se.pan(),Ie=se.zoom();z=fe(M,F,I,O),N=ne(M,F,I,O),U=[(M+I)/2,(F+O)/2],$=[(U[0]-de.x)/Ie,(U[1]-de.y)/Ie];var Ne=200,Be=Ne*Ne;if(N=1){for(var Cr=t.touchData.startPosition=[null,null,null,null,null,null],Ut=0;Ut=t.touchTapThreshold2}if(se&&t.touchData.cxt){q.preventDefault();var Cr=q.touches[0].clientX-W,Ut=q.touches[0].clientY-ee,ar=q.touches[1].clientX-W,ut=q.touches[1].clientY-ee,Rt=ne(Cr,Ut,ar,ut),Qe=Rt/N,Dt=150,qt=Dt*Dt,yt=1.5,Et=yt*yt;if(Qe>=Et||Rt>=qt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var pt={originalEvent:q,type:"cxttapend",position:{x:ae[0],y:ae[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(pt),t.touchData.start=null):X.emit(pt)}}if(se&&t.touchData.cxt){var pt={originalEvent:q,type:"cxtdrag",position:{x:ae[0],y:ae[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(pt):X.emit(pt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(ae[0],ae[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:q,type:"cxtdragout",position:{x:ae[0],y:ae[1]}}),t.touchData.cxtOver=Wt,Wt&&Wt.emit({originalEvent:q,type:"cxtdragover",position:{x:ae[0],y:ae[1]}}))}else if(se&&q.touches[2]&&X.boxSelectionEnabled())q.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||X.emit({originalEvent:q,type:"boxstart",position:{x:ae[0],y:ae[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,ue[4]=1,!ue||ue.length===0||ue[0]===void 0?(ue[0]=(ae[0]+ae[2]+ae[4])/3,ue[1]=(ae[1]+ae[3]+ae[5])/3,ue[2]=(ae[0]+ae[2]+ae[4])/3+1,ue[3]=(ae[1]+ae[3]+ae[5])/3+1):(ue[2]=(ae[0]+ae[2]+ae[4])/3,ue[3]=(ae[1]+ae[3]+ae[5])/3),t.redrawHint("select",!0),t.redraw();else if(se&&q.touches[1]&&!t.touchData.didSelect&&X.zoomingEnabled()&&X.panningEnabled()&&X.userZoomingEnabled()&&X.userPanningEnabled()){q.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var ot=t.dragData.touchDragEles;if(ot){t.redrawHint("drag",!0);for(var fr=0;fr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},"touchmoveHandler"),!1);var K;t.registerBinding(e,"touchcancel",K=s(function(q){var se=t.touchData.start;t.touchData.capture=!1,se&&se.unactivate()},"touchcancelHandler"));var re,ie,ye,j;if(t.registerBinding(e,"touchend",re=s(function(q){var se=t.touchData.start,ue=t.touchData.capture;if(ue)q.touches.length===0&&(t.touchData.capture=!1),q.preventDefault();else return;var X=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var ae=t.cy,pe=ae.zoom(),de=t.touchData.now,Ie=t.touchData.earlier;if(q.touches[0]){var Ne=t.projectIntoViewport(q.touches[0].clientX,q.touches[0].clientY);de[0]=Ne[0],de[1]=Ne[1]}if(q.touches[1]){var Ne=t.projectIntoViewport(q.touches[1].clientX,q.touches[1].clientY);de[2]=Ne[0],de[3]=Ne[1]}if(q.touches[2]){var Ne=t.projectIntoViewport(q.touches[2].clientX,q.touches[2].clientY);de[4]=Ne[0],de[5]=Ne[1]}se&&se.unactivate();var Be;if(t.touchData.cxt){if(Be={originalEvent:q,type:"cxttapend",position:{x:de[0],y:de[1]}},se?se.emit(Be):ae.emit(Be),!t.touchData.cxtDragged){var ze={originalEvent:q,type:"cxttap",position:{x:de[0],y:de[1]}};se?se.emit(ze):ae.emit(ze)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!q.touches[2]&&ae.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var qe=ae.collection(t.getAllInBox(X[0],X[1],X[2],X[3]));X[0]=void 0,X[1]=void 0,X[2]=void 0,X[3]=void 0,X[4]=0,t.redrawHint("select",!0),ae.emit({type:"boxend",originalEvent:q,position:{x:de[0],y:de[1]}});var Fe=s(function(qt){return qt.selectable()&&!qt.selected()},"eleWouldBeSelected");qe.emit("box").stdFilter(Fe).select().emit("boxselect"),qe.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(se?.unactivate(),q.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!q.touches[1]){if(!q.touches[0]){if(!q.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var we=t.dragData.touchDragEles;if(se!=null){var Je=se._private.grabbed;v(we),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Je&&(se.emit("freeon"),we.emit("free"),t.dragData.didDrag&&(se.emit("dragfreeon"),we.emit("dragfree"))),n(se,["touchend","tapend","vmouseup","tapdragout"],q,{x:de[0],y:de[1]}),se.unactivate(),t.touchData.start=null}else{var We=t.findNearestElement(de[0],de[1],!0,!0);n(We,["touchend","tapend","vmouseup","tapdragout"],q,{x:de[0],y:de[1]})}var or=t.touchData.startPosition[0]-de[0],Cr=or*or,Ut=t.touchData.startPosition[1]-de[1],ar=Ut*Ut,ut=Cr+ar,Rt=ut*pe*pe;t.touchData.singleTouchMoved||(se||ae.$(":selected").unselect(["tapunselect"]),n(se,["tap","vclick"],q,{x:de[0],y:de[1]}),ie=!1,q.timeStamp-j<=ae.multiClickDebounceTime()?(ye&&clearTimeout(ye),ie=!0,j=null,n(se,["dbltap","vdblclick"],q,{x:de[0],y:de[1]})):(ye=setTimeout(function(){ie||n(se,["onetap","voneclick"],q,{x:de[0],y:de[1]})},ae.multiClickDebounceTime()),j=q.timeStamp)),se!=null&&!t.dragData.didDrag&&se._private.selectable&&Rt"u"){var De=[],oe=s(function(q){return{clientX:q.clientX,clientY:q.clientY,force:1,identifier:q.pointerId,pageX:q.pageX,pageY:q.pageY,radiusX:q.width/2,radiusY:q.height/2,screenX:q.screenX,screenY:q.screenY,target:q.target}},"makeTouch"),Re=s(function(q){return{event:q,touch:oe(q)}},"makePointer"),Pe=s(function(q){De.push(Re(q))},"addPointer"),Se=s(function(q){for(var se=0;se0)return W[0]}return null},"getCurveT"),g=Object.keys(p),y=0;y0?m:p0e(a,o,e,r,n,i,l,u)},"intersectLine"),checkPoint:s(function(e,r,n,i,a,o,l,u){u=u==="auto"?N0(i,a):u;var h=2*u;if(Wu(e,r,this.points,o,l,i,a-h,[0,-1],n)||Wu(e,r,this.points,o,l,i-h,a,[0,-1],n))return!0;var f=i/2+2*n,d=a/2+2*n,p=[o-f,l-d,o-f,l,o+f,l,o+f,l-d];return!!(Ms(e,r,p)||D0(e,r,h,h,o+i/2-u,l+a/2-u,n)||D0(e,r,h,h,o-i/2+u,l+a/2-u,n))},"checkPoint")}};Xu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",es(3,0)),this.generateRoundPolygon("round-triangle",es(3,0)),this.generatePolygon("rectangle",es(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",es(5,0)),this.generateRoundPolygon("round-pentagon",es(5,0)),this.generatePolygon("hexagon",es(6,0)),this.generateRoundPolygon("round-hexagon",es(6,0)),this.generatePolygon("heptagon",es(7,0)),this.generateRoundPolygon("round-heptagon",es(7,0)),this.generatePolygon("octagon",es(8,0)),this.generateRoundPolygon("round-octagon",es(8,0));var n=new Array(20);{var i=GO(5,0),a=GO(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var l=0;l=e.deqFastCost*A)break}else if(h){if(b>=e.deqCost*m||b>=e.deqAvgCost*p)break}else if(k>=e.deqNoDrawCost*FO)break;var w=e.deq(n,v,y);if(w.length>0)for(var T=0;T0&&(e.onDeqd(n,g),!h&&e.shouldRedraw(n,g,v,y)&&a())},"dequeue"),l=e.priority||lP;i.beforeRender(o,l(n))}},"setupDequeueingImpl")},"setupDequeueing")},VXe=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:XT;nP(this,t),this.idsByKey=new Ic,this.keyForId=new Ic,this.cachesByLvl=new Ic,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return s(t,"ElementTextureCacheLookup"),iP(t,[{key:"getIdsFor",value:s(function(r){r==null&&Jn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new Xg,n.set(r,i)),i},"getIdsFor")},{key:"addIdForKey",value:s(function(r,n){r!=null&&this.getIdsFor(r).add(n)},"addIdForKey")},{key:"deleteIdForKey",value:s(function(r,n){r!=null&&this.getIdsFor(r).delete(n)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:s(function(r){return r==null?0:this.getIdsFor(r).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:s(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:s(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:s(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a},"keyHasChangedFor")},{key:"isInvalid",value:s(function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)},"isInvalid")},{key:"getCachesAt",value:s(function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new Ic,n.set(r,a),i.push(r)),a},"getCachesAt")},{key:"getCache",value:s(function(r,n){return this.getCachesAt(n).get(r)},"getCache")},{key:"get",value:s(function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a},"get")},{key:"getForCachedKey",value:s(function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a},"getForCachedKey")},{key:"hasCache",value:s(function(r,n){return this.getCachesAt(n).has(r)},"hasCache")},{key:"has",value:s(function(r,n){var i=this.getKey(r);return this.hasCache(i,n)},"has")},{key:"setCache",value:s(function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)},"setCache")},{key:"set",value:s(function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)},"set")},{key:"deleteCache",value:s(function(r,n){this.getCachesAt(n).delete(r)},"deleteCache")},{key:"delete",value:s(function(r,n){var i=this.getKey(r);this.deleteCache(i,n)},"_delete")},{key:"invalidateKey",value:s(function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})},"invalidateKey")},{key:"invalidate",value:s(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0},"invalidate")}]),t}(),Pde=25,PT=50,WT=-4,JO=3,UXe=7.99,qXe=8,WXe=1024,HXe=1024,YXe=1024,XXe=.2,jXe=.8,KXe=10,QXe=.15,ZXe=.1,JXe=.9,eje=.9,tje=100,rje=1,zg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},nje=ya({getKey:null,doesEleInvalidateKey:XT,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:s0e,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),xx=s(function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=nje(r);Pt(n,i),n.lookup=new VXe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},"ElementTextureCache"),Bi=xx.prototype;Bi.reasons=zg;Bi.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};Bi.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};Bi.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new Px(function(r,n){return n.reqs-r.reqs});return e};Bi.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};Bi.getElement=function(t,e,r,n,i){var a=this,o=this.renderer,l=o.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(uP(l*r))),n=UXe||n>JO)return null;var h=Math.pow(2,n),f=e.h*h,d=e.w*h,p=o.eleTextBiggerThanMin(t,h);if(!this.isVisible(t,p))return null;var m=u.get(t,n);if(m&&m.invalidated&&(m.invalidated=!1,m.texture.invalidatedWidth-=m.width),m)return m;var g;if(f<=Pde?g=Pde:f<=PT?g=PT:g=Math.ceil(f/PT)*PT,f>YXe||d>HXe)return null;var y=a.getTextureQueue(g),v=y[y.length-2],x=s(function(){return a.recycleTexture(g,d)||a.addTexture(g,d)},"addNewTxr");v||(v=y[y.length-1]),v||(v=x()),v.width-v.usedWidthn;D--)S=a.getElement(t,e,r,D,zg.downscale);R()}else return a.queueElement(t,T.level-1),T;else{var L;if(!k&&!A&&!w)for(var P=n-1;P>=WT;P--){var M=u.get(t,P);if(M){L=M;break}}if(b(L))return a.queueElement(t,n),L;v.context.translate(v.usedWidth,0),v.context.scale(h,h),this.drawElement(v.context,t,e,p,!1),v.context.scale(1/h,1/h),v.context.translate(-v.usedWidth,0)}return m={x:v.usedWidth,texture:v,level:n,scale:h,width:d,height:f,scaledLabelShown:p},v.usedWidth+=Math.ceil(d+qXe),v.eleCaches.push(m),u.set(t,n,m),a.checkTextureFullness(v),m};Bi.invalidateElements=function(t){for(var e=0;e=XXe*t.width&&this.retireTexture(t)};Bi.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>jXe&&t.fullnessChecks>=KXe?yf(r,t):t.fullnessChecks++};Bi.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;yf(n,t),t.retired=!0;for(var a=t.eleCaches,o=0;o=e)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,cP(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),yf(i,o),n.push(o),o}};Bi.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),o=i[a];if(o)o.level=Math.max(o.level,e),o.eles.merge(t),o.reqs++,n.updateItem(o);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(l),i[a]=l}};Bi.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,o=0;o0;o++){var l=r.pop(),u=l.key,h=l.eles[0],f=a.hasCache(h,l.level);if(n[u]=null,f)continue;i.push(l);var d=e.getBoundingBox(h);e.getElement(h,d,t,l.level,zg.dequeue)}return i};Bi.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=oP,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};Bi.onDequeue=function(t){this.onDequeues.push(t)};Bi.offDequeue=function(t){yf(this.onDequeues,t)};Bi.setupDequeueing=mpe.setupDequeueing({deqRedrawThreshold:tje,deqCost:QXe,deqAvgCost:ZXe,deqNoDrawCost:JXe,deqFastCost:eje,deq:s(function(e,r,n){return e.dequeue(r,n)},"deq"),onDeqd:s(function(e,r){for(var n=0;n=aje||r>r7)return null}n.validateLayersElesOrdering(r,t);var u=n.layersByLevel,h=Math.pow(2,r),f=u[r]=u[r]||[],d,p=n.levelIsComplete(r,t),m,g=s(function(){var R=s(function(F){if(n.validateLayersElesOrdering(F,t),n.levelIsComplete(F,t))return m=u[F],!0},"canUseAsTmpLvl"),D=s(function(F){if(!m)for(var I=r+F;kx<=I&&I<=r7&&!R(I);I+=F);},"checkLvls");D(1),D(-1);for(var L=f.length-1;L>=0;L--){var P=f[L];P.invalid&&yf(f,P)}},"checkTempLevels");if(!p)g();else return f;var y=s(function(){if(!d){d=Is();for(var R=0;Rdje)return null;var P=n.makeLayer(d,r);if(D!=null){var M=f.indexOf(D)+1;f.splice(M,0,P)}else(R.insert===void 0||R.insert)&&f.unshift(P);return P},"makeLayer");if(n.skipping&&!l)return null;for(var x=null,b=t.length/ije,k=!l,A=0;A=b||!d0e(x.bb,w.boundingBox()))&&(x=v({insert:!0,after:x}),!x))return null;m||k?n.queueLayer(x,w):n.drawEleInLayer(x,w,r,e),x.eles.push(w),C[r]=x}return m||(k?null:f)};va.getEleLevelForLayerLevel=function(t,e){return t};va.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,o=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(o,!1),a.drawCachedElement(o,e,null,null,r,pje),a.setImgSmoothing(o,!0))};va.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||o.invalid)return!1;i+=o.eles.length}return i===e.length};va.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};va.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=qu(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,s(function(n,i,a){e.invalidateLayer(n)},"invalAssocLayers")))};va.invalidateLayer=function(t){if(this.lastInvalidationTime=qu(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];yf(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,l=e._private.rscratch;if(!(a&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var h=a?e.pstyle("opacity").value:1,f=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,p=e.pstyle("line-style").value,m=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,v=e.pstyle("line-outline-color").value,x=h*f,b=h*f,k=s(function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(o.eleStrokeStyle(t,e,F),o.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=m,t.lineCap=g,o.eleStrokeStyle(t,e,F),o.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLine"),A=s(function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=m+y,t.lineCap=g,y>0)o.colorStrokeStyle(t,v[0],v[1],v[2],F);else{t.lineCap="butt";return}d==="straight-triangle"?o.drawEdgeTrianglePath(e,t,l.allpts):(o.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLineOutline"),w=s(function(){i&&o.drawEdgeOverlay(t,e)},"drawOverlay"),T=s(function(){i&&o.drawEdgeUnderlay(t,e)},"drawUnderlay"),C=s(function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;o.drawArrowheads(t,e,F)},"drawArrows"),E=s(function(){o.drawElementText(t,e,null,n)},"drawText");t.lineJoin="round";var S=e.pstyle("ghost").value==="yes";if(S){var R=e.pstyle("ghost-offset-x").pfValue,D=e.pstyle("ghost-offset-y").pfValue,L=e.pstyle("ghost-opacity").value,P=x*L;t.translate(R,D),k(P),C(P),t.translate(-R,-D)}else A();T(),k(),C(),w(),E(),r&&t.translate(u.x1,u.y1)}};vpe=s(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,o=a.usePaths(),l=n._private.rscratch,u=n.pstyle("".concat(e,"-padding")).pfValue,h=2*u,f=n.pstyle("".concat(e,"-color")).value;r.lineWidth=h,l.edgeType==="self"&&!o?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,f[0],f[1],f[2],i),a.drawEdgePath(n,r,l.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");ju.drawEdgeOverlay=vpe("overlay");ju.drawEdgeUnderlay=vpe("underlay");ju.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,o,l=!1,u=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var d=r.join("$"),p=i.pathCacheKey&&i.pathCacheKey===d;p?(o=e=i.pathCache,l=!0):(o=e=new Path2D,i.pathCacheKey=d,i.pathCache=o)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(h),a.lineDashOffset=f;break;case"solid":a.setLineDash([]);break}if(!l&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var m=2;m+35&&arguments[5]!==void 0?arguments[5]:!0,o=this;if(n==null){if(a&&!o.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var u=o.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var h=e.element()._private.rscratch.badLine,f=e.pstyle("label"),d=e.pstyle("source-label"),p=e.pstyle("target-label");if(h||(!f||!f.value)&&(!d||!d.value)&&(!p||!p.value))return;t.textAlign="center",t.textBaseline="bottom"}var m=!r,g;r&&(g=r,t.translate(-g.x1,-g.y1)),i==null?(o.drawText(t,e,null,m,a),e.isEdge()&&(o.drawText(t,e,"source",m,a),o.drawText(t,e,"target",m,a))):o.drawText(t,e,i,m,a),r&&t.translate(g.x1,g.y1)};z0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,o=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,h=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=n+" "+o+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,h[0],h[1],h[2],l),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};s($O,"roundRect");z0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",o=t.pstyle(a+"text-rotation"),l=Al(i,"labelAngle",e);return o.strValue==="autorotate"?r=t.isEdge()?l:0:o.strValue==="none"?r=0:r=o.pfValue,r};z0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,o=a.rscratch,l=i?e.effectiveOpacity():1;if(!(i&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=Al(o,"labelX",r),h=Al(o,"labelY",r),f,d,p=this.getLabelText(e,r);if(p!=null&&p!==""&&!isNaN(u)&&!isNaN(h)){this.setupTextStyle(t,e,i);var m=r?r+"-":"",g=Al(o,"labelWidth",r),y=Al(o,"labelHeight",r),v=e.pstyle(m+"text-margin-x").pfValue,x=e.pstyle(m+"text-margin-y").pfValue,b=e.isEdge(),k=e.pstyle("text-halign").value,A=e.pstyle("text-valign").value;b&&(k="center",A="center"),u+=v,h+=x;var w;switch(n?w=this.getTextAngle(e,r):w=0,w!==0&&(f=u,d=h,t.translate(f,d),t.rotate(w),u=0,h=0),A){case"top":break;case"center":h+=y/2;break;case"bottom":h+=y;break}var T=e.pstyle("text-background-opacity").value,C=e.pstyle("text-border-opacity").value,E=e.pstyle("text-border-width").pfValue,S=e.pstyle("text-background-padding").pfValue,R=e.pstyle("text-background-shape").strValue,D=R.indexOf("round")===0,L=2;if(T>0||E>0&&C>0){var P=u-S;switch(k){case"left":P-=g;break;case"center":P-=g/2;break}var M=h-y-S,F=g+2*S,I=y+2*S;if(T>0){var O=t.fillStyle,z=e.pstyle("text-background-color").value;t.fillStyle="rgba("+z[0]+","+z[1]+","+z[2]+","+T*l+")",D?$O(t,P,M,F,I,L):t.fillRect(P,M,F,I),t.fillStyle=O}if(E>0&&C>0){var N=t.strokeStyle,U=t.lineWidth,$=e.pstyle("text-border-color").value,W=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+$[0]+","+$[1]+","+$[2]+","+C*l+")",t.lineWidth=E,t.setLineDash)switch(W){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=E/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(D?$O(t,P,M,F,I,L,"stroke"):t.strokeRect(P,M,F,I),W==="double"){var ee=E/2;D?$O(t,P+ee,M+ee,F-ee*2,I-ee*2,L,"stroke"):t.strokeRect(P+ee,M+ee,F-ee*2,I-ee*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=U,t.strokeStyle=N}}var te=2*e.pstyle("text-outline-width").pfValue;if(te>0&&(t.lineWidth=te),e.pstyle("text-wrap").value==="wrap"){var ce=Al(o,"labelWrapCachedLines",r),Z=Al(o,"labelLineHeight",r),fe=g/2,ne=this.getLabelJustification(e);switch(ne==="auto"||(k==="left"?ne==="left"?u+=-g:ne==="center"&&(u+=-fe):k==="center"?ne==="left"?u+=-fe:ne==="right"&&(u+=fe):k==="right"&&(ne==="center"?u+=fe:ne==="right"&&(u+=g))),A){case"top":h-=(ce.length-1)*Z;break;case"center":case"bottom":h-=(ce.length-1)*Z;break}for(var H=0;H0&&t.strokeText(ce[H],u,h),t.fillText(ce[H],u,h),h+=Z}else te>0&&t.strokeText(p,u,h),t.fillText(p,u,h);w!==0&&(t.rotate(-w),t.translate(-f,-d))}}};n1={};n1.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,l,u,h=e._private,f=h.rscratch,d=e.position();if(!(!rt(d.x)||!rt(d.y))&&!(a&&!e.visible())){var p=a?e.effectiveOpacity():1,m=o.usePaths(),g,y=!1,v=e.padding();l=e.width()+2*v,u=e.height()+2*v;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var b=e.pstyle("background-image"),k=b.value,A=new Array(k.length),w=new Array(k.length),T=0,C=0;C0&&arguments[0]!==void 0?arguments[0]:P;o.eleFillStyle(t,e,pe)},"setupShapeColor"),H=s(function(){var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$;o.colorStrokeStyle(t,M[0],M[1],M[2],pe)},"setupBorderColor"),Q=s(function(){var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ce;o.colorStrokeStyle(t,ee[0],ee[1],ee[2],pe)},"setupOutlineColor"),K=s(function(pe,de,Ie,Ne){var Be=o.nodePathCache=o.nodePathCache||[],ze=a0e(Ie==="polygon"?Ie+","+Ne.join(","):Ie,""+de,""+pe,""+fe),qe=Be[ze],Fe,we=!1;return qe!=null?(Fe=qe,we=!0,f.pathCache=Fe):(Fe=new Path2D,Be[ze]=f.pathCache=Fe),{path:Fe,cacheHit:we}},"getPath"),re=e.pstyle("shape").strValue,ie=e.pstyle("shape-polygon-points").pfValue;if(m){t.translate(d.x,d.y);var ye=K(l,u,re,ie);g=ye.path,y=ye.cacheHit}var j=s(function(){if(!y){var pe=d;m&&(pe={x:0,y:0}),o.nodeShapes[o.getNodeShape(e)].draw(g||t,pe.x,pe.y,l,u,fe,f)}m?t.fill(g):t.fill()},"drawShape"),De=s(function(){for(var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,de=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Ie=h.backgrounding,Ne=0,Be=0;Be0&&arguments[0]!==void 0?arguments[0]:!1,de=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;o.hasPie(e)&&(o.drawPie(t,e,de),pe&&(m||o.nodeShapes[o.getNodeShape(e)].draw(t,d.x,d.y,l,u,fe,f)))},"drawPie"),Re=s(function(){var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,de=(D>0?D:-D)*pe,Ie=D>0?0:255;D!==0&&(o.colorFillStyle(t,Ie,Ie,Ie,de),m?t.fill(g):t.fill())},"darken"),Pe=s(function(){if(L>0){if(t.lineWidth=L,t.lineCap=O,t.lineJoin=I,t.setLineDash)switch(F){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(N),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(z!=="center"){if(t.save(),t.lineWidth*=2,z==="inside")m?t.clip(g):t.clip();else{var pe=new Path2D;pe.rect(-l/2-L,-u/2-L,l+2*L,u+2*L),pe.addPath(g),t.clip(pe,"evenodd")}m?t.stroke(g):t.stroke(),t.restore()}else m?t.stroke(g):t.stroke();if(F==="double"){t.lineWidth=L/3;var de=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",m?t.stroke(g):t.stroke(),t.globalCompositeOperation=de}t.setLineDash&&t.setLineDash([])}},"drawBorder"),Se=s(function(){if(W>0){if(t.lineWidth=W,t.lineCap="butt",t.setLineDash)switch(te){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var pe=d;m&&(pe={x:0,y:0});var de=o.getNodeShape(e),Ie=L;z==="inside"&&(Ie=0),z==="outside"&&(Ie*=2);var Ne=(l+Ie+(W+Z))/l,Be=(u+Ie+(W+Z))/u,ze=l*Ne,qe=u*Be,Fe=o.nodeShapes[de].points,we;if(m){var Je=K(ze,qe,de,Fe);we=Je.path}if(de==="ellipse")o.drawEllipsePath(we||t,pe.x,pe.y,ze,qe);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(de)){var We=0,or=0,Cr=0;de==="round-diamond"?We=(Ie+Z+W)*1.4:de==="round-heptagon"?(We=(Ie+Z+W)*1.075,Cr=-(Ie/2+Z+W)/35):de==="round-hexagon"?We=(Ie+Z+W)*1.12:de==="round-pentagon"?(We=(Ie+Z+W)*1.13,Cr=-(Ie/2+Z+W)/15):de==="round-tag"?(We=(Ie+Z+W)*1.12,or=(Ie/2+W+Z)*.07):de==="round-triangle"&&(We=(Ie+Z+W)*(Math.PI/2),Cr=-(Ie+Z/2+W)/Math.PI),We!==0&&(Ne=(l+We)/l,ze=l*Ne,["round-hexagon","round-tag"].includes(de)||(Be=(u+We)/u,qe=u*Be)),fe=fe==="auto"?g0e(ze,qe):fe;for(var Ut=ze/2,ar=qe/2,ut=fe+(Ie+W+Z)/2,Rt=new Array(Fe.length/2),Qe=new Array(Fe.length/2),Dt=0;Dt0){if(i=i||n.position(),a==null||o==null){var m=n.padding();a=n.width()+2*m,o=n.height()+2*m}l.colorFillStyle(r,f[0],f[1],f[2],h),l.nodeShapes[d].draw(r,i.x,i.y,a+u*2,o+u*2,p),r.fill()}}}},"drawNodeOverlayUnderlay");n1.drawNodeOverlay=xpe("overlay");n1.drawNodeUnderlay=xpe("underlay");n1.hasPie=function(t){return t=t[0],t._private.hasPie};n1.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),o=n.x,l=n.y,u=e.width(),h=e.height(),f=Math.min(u,h)/2,d=0,p=this.usePaths();p&&(o=0,l=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2);for(var m=1;m<=i.pieBackgroundN;m++){var g=e.pstyle("pie-"+m+"-background-size").value,y=e.pstyle("pie-"+m+"-background-color").value,v=e.pstyle("pie-"+m+"-background-opacity").value*r,x=g/100;x+d>1&&(x=1-d);var b=1.5*Math.PI+2*Math.PI*d,k=2*Math.PI*x,A=b+k;g===0||d>=1||d+x>1||(t.beginPath(),t.moveTo(o,l),t.arc(o,l,f,b,A),t.closePath(),this.colorFillStyle(t,y[0],y[1],y[2],v),t.fill(),d+=x)}};lo={},Cje=100;lo.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};lo.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(f[o.NODE]=!0,f[o.SELECT_BOX]=!0);var b=u.style(),k=u.zoom(),A=i!==void 0?i:k,w=u.pan(),T={x:w.x,y:w.y},C={zoom:k,pan:{x:w.x,y:w.y}},E=o.prevViewport,S=E===void 0||C.zoom!==E.zoom||C.pan.x!==E.pan.x||C.pan.y!==E.pan.y;!S&&!(y&&!g)&&(o.motionBlurPxRatio=1),a&&(T=a),A*=l,T.x*=l,T.y*=l;var R=o.getCachedZSortedEles();function D(ye,j,De,oe,Re){var Pe=ye.globalCompositeOperation;ye.globalCompositeOperation="destination-out",o.colorFillStyle(ye,255,255,255,o.motionBlurTransparency),ye.fillRect(j,De,oe,Re),ye.globalCompositeOperation=Pe}s(D,"mbclear");function L(ye,j){var De,oe,Re,Pe;!o.clearingMotionBlur&&(ye===h.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]||ye===h.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG])?(De={x:w.x*m,y:w.y*m},oe=k*m,Re=o.canvasWidth*m,Pe=o.canvasHeight*m):(De=T,oe=A,Re=o.canvasWidth,Pe=o.canvasHeight),ye.setTransform(1,0,0,1,0,0),j==="motionBlur"?D(ye,0,0,Re,Pe):!e&&(j===void 0||j)&&ye.clearRect(0,0,Re,Pe),r||(ye.translate(De.x,De.y),ye.scale(oe,oe)),a&&ye.translate(a.x,a.y),i&&ye.scale(i,i)}if(s(L,"setContextTransform"),d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=u.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var P=o.data.bufferContexts[o.TEXTURE_BUFFER];P.setTransform(1,0,0,1,0,0),P.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:P,drawOnlyNodeLayer:!0,forcedPxRatio:l*o.textureMult});var C=o.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:o.canvasWidth,height:o.canvasHeight};C.mpan={x:(0-C.pan.x)/C.zoom,y:(0-C.pan.y)/C.zoom}}f[o.DRAG]=!1,f[o.NODE]=!1;var M=h.contexts[o.NODE],F=o.textureCache.texture,C=o.textureCache.viewport;M.setTransform(1,0,0,1,0,0),p?D(M,0,0,C.width,C.height):M.clearRect(0,0,C.width,C.height);var I=b.core("outside-texture-bg-color").value,O=b.core("outside-texture-bg-opacity").value;o.colorFillStyle(M,I[0],I[1],I[2],O),M.fillRect(0,0,C.width,C.height);var k=u.zoom();L(M,!1),M.clearRect(C.mpan.x,C.mpan.y,C.width/C.zoom/l,C.height/C.zoom/l),M.drawImage(F,C.mpan.x,C.mpan.y,C.width/C.zoom/l,C.height/C.zoom/l)}else o.textureOnViewport&&!e&&(o.textureCache=null);var z=u.extent(),N=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),U=o.hideEdgesOnViewport&&N,$=[];if($[o.NODE]=!f[o.NODE]&&p&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,$[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),$[o.DRAG]=!f[o.DRAG]&&p&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,$[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),f[o.NODE]||r||n||$[o.NODE]){var W=p&&!$[o.NODE]&&m!==1,M=e||(W?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:h.contexts[o.NODE]),ee=p&&!W?"motionBlur":void 0;L(M,ee),U?o.drawCachedNodes(M,R.nondrag,l,z):o.drawLayeredElements(M,R.nondrag,l,z),o.debug&&o.drawDebugPoints(M,R.nondrag),!r&&!p&&(f[o.NODE]=!1)}if(!n&&(f[o.DRAG]||r||$[o.DRAG])){var W=p&&!$[o.DRAG]&&m!==1,M=e||(W?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:h.contexts[o.DRAG]);L(M,p&&!W?"motionBlur":void 0),U?o.drawCachedNodes(M,R.drag,l,z):o.drawCachedElements(M,R.drag,l,z),o.debug&&o.drawDebugPoints(M,R.drag),!r&&!p&&(f[o.DRAG]=!1)}if(o.showFps||!n&&f[o.SELECT_BOX]&&!r){var M=e||h.contexts[o.SELECT_BOX];if(L(M),o.selection[4]==1&&(o.hoverData.selecting||o.touchData.selecting)){var k=o.cy.zoom(),te=b.core("selection-box-border-width").value/k;M.lineWidth=te,M.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",M.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),te>0&&(M.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",M.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(h.bgActivePosistion&&!o.hoverData.selecting){var k=o.cy.zoom(),ce=h.bgActivePosistion;M.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",M.beginPath(),M.arc(ce.x,ce.y,b.core("active-bg-size").pfValue/k,0,2*Math.PI),M.fill()}var Z=o.lastRedrawTime;if(o.showFps&&Z){Z=Math.round(Z);var fe=Math.round(1e3/Z);M.setTransform(1,0,0,1,0,0),M.fillStyle="rgba(255, 0, 0, 0.75)",M.strokeStyle="rgba(255, 0, 0, 0.75)",M.lineWidth=1,M.fillText("1 frame = "+Z+" ms = "+fe+" fps",0,20);var ne=60;M.strokeRect(0,30,250,20),M.fillRect(0,30,250*Math.min(fe/ne,1),20)}r||(f[o.SELECT_BOX]=!1)}if(p&&m!==1){var H=h.contexts[o.NODE],Q=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],K=h.contexts[o.DRAG],re=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],ie=s(function(j,De,oe){j.setTransform(1,0,0,1,0,0),oe||!x?j.clearRect(0,0,o.canvasWidth,o.canvasHeight):D(j,0,0,o.canvasWidth,o.canvasHeight);var Re=m;j.drawImage(De,0,0,o.canvasWidth*Re,o.canvasHeight*Re,0,0,o.canvasWidth,o.canvasHeight)},"drawMotionBlur");(f[o.NODE]||$[o.NODE])&&(ie(H,Q,$[o.NODE]),f[o.NODE]=!1),(f[o.DRAG]||$[o.DRAG])&&(ie(K,re,$[o.DRAG]),f[o.DRAG]=!1)}o.prevViewport=C,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),p&&(o.motionBlurTimeout=setTimeout(function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,f[o.NODE]=!0,f[o.DRAG]=!0,o.redraw()},Cje)),e||u.emit("render")};wf={};wf.drawPolygonPath=function(t,e,r,n,i,a){var o=n/2,l=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+o*a[0],r+l*a[1]);for(var u=1;u0&&o>0){m.clearRect(0,0,a,o),m.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(t.full)m.translate(-n.x1*h,-n.y1*h),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(n.x1*h,n.y1*h);else{var y=e.pan(),v={x:y.x*h,y:y.y*h};h*=e.zoom(),m.translate(v.x,v.y),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(-v.x,-v.y)}t.bg&&(m.globalCompositeOperation="destination-over",m.fillStyle=t.bg,m.rect(0,0,a,o),m.fill())}return p};s(Sje,"b64ToBlob");s(Ude,"b64UriToB64");s(kpe,"output");Gx.png=function(t){return kpe(t,this.bufferCanvasImage(t),"image/png")};Gx.jpg=function(t){return kpe(t,this.bufferCanvasImage(t),"image/jpeg")};wpe={};wpe.nodeShapeImpl=function(t,e,r,n,i,a,o,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,i,a);case"polygon":return this.drawPolygonPath(e,r,n,i,a,o);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,i,a,o,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,i,a,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,i,a,o,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,i,a,l);case"barrel":return this.drawBarrelPath(e,r,n,i,a)}};_je=Tpe,Fr=Tpe.prototype;Fr.CANVAS_LAYERS=3;Fr.SELECT_BOX=0;Fr.DRAG=1;Fr.NODE=2;Fr.BUFFER_COUNT=3;Fr.TEXTURE_BUFFER=0;Fr.MOTIONBLUR_BUFFER_NODE=1;Fr.MOTIONBLUR_BUFFER_DRAG=2;s(Tpe,"CanvasRenderer");Fr.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Fr.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Fr.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Fr.SELECT_BOX]=e;break}};Aje=typeof Path2D<"u";Fr.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t};Fr.usePaths=function(){return Aje&&this.pathsEnabled};Fr.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)};Fr.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled};Fr.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":Pi(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[ype,Pc,ju,SP,z0,n1,lo,wf,Gx,wpe].forEach(function(t){Pt(Fr,t)});Lje=[{name:"null",impl:ipe},{name:"base",impl:ppe},{name:"canvas",impl:_je}],Dje=[{type:"layout",extensions:PXe},{type:"renderer",extensions:Lje}],Epe={},Cpe={};s(Spe,"setExtension");s(_pe,"getExtension");s(Rje,"setModule");s(Mje,"getModule");rP=s(function(){if(arguments.length===2)return _pe.apply(null,arguments);if(arguments.length===3)return Spe.apply(null,arguments);if(arguments.length===4)return Mje.apply(null,arguments);if(arguments.length===5)return Rje.apply(null,arguments);Jn("Invalid extension access syntax")},"extension");Mx.prototype.extension=rP;Dje.forEach(function(t){t.extensions.forEach(function(e){Spe(t.type,e.name,e.impl)})});Ape=s(function t(){if(!(this instanceof t))return new t;this.length=0},"Stylesheet"),B0=Ape.prototype;B0.instanceString=function(){return"stylesheet"};B0.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this};B0.css=function(t,e){var r=this.length-1;if(At(t))this[r].properties.push({name:t,value:e});else if(Er(t))for(var n=t,i=Object.keys(n),a=0;a{"use strict";s(function(e,r){typeof Vx=="object"&&typeof _P=="object"?_P.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Vx=="object"?Vx.layoutBase=r():e.layoutBase=r()},"webpackUniversalModuleDefinition")(Vx,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return s(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?s(function(){return n.default},"getDefault"):s(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=26)}([function(t,e,r){"use strict";function n(){}s(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function o(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}s(o,"LEdge"),o.prototype=Object.create(n.prototype);for(var l in n)o[l]=n[l];o.prototype.getSource=function(){return this.source},o.prototype.getTarget=function(){return this.target},o.prototype.isInterGraph=function(){return this.isInterGraph},o.prototype.getLength=function(){return this.length},o.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},o.prototype.getBendpoints=function(){return this.bendpoints},o.prototype.getLca=function(){return this.lca},o.prototype.getSourceInLca=function(){return this.sourceInLca},o.prototype.getTargetInLca=function(){return this.targetInLca},o.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},o.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},o.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},o.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=o},function(t,e,r){"use strict";function n(i){this.vGraphObject=i}s(n,"LGraphObject"),t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),o=r(0),l=r(16),u=r(4);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}s(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp&&(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)),this.labelHeight>m&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-m)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-m),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>o.WORLD_BOUNDARY?p=o.WORLD_BOUNDARY:p<-o.WORLD_BOUNDARY&&(p=-o.WORLD_BOUNDARY);var m=this.rect.y;m>o.WORLD_BOUNDARY?m=o.WORLD_BOUNDARY:m<-o.WORLD_BOUNDARY&&(m=-o.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h},function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}s(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),o=r(6),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof o?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}s(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,k=0;k-1&&T>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(T,1);var A=x.source.owner.getEdges().indexOf(x);if(A==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(A,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,k=this.getNodes(),A=k.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(k[0].getParent().paddingLeft!=null?b=k[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,k,A,w,T,C,E=this.nodes,S=E.length,R=0;Rk&&(y=k),vw&&(x=w),bk&&(y=k),vw&&(x=w),b=this.nodes.length){var S=0;v.forEach(function(R){R.owner==g&&S++}),S==this.nodes.length&&(this.isConnected=!0)}},t.exports=p},function(t,e,r){"use strict";var n,i=r(1);function a(o){n=r(5),this.layout=o,this.graphs=[],this.edges=[]}s(a,"LGraphManager"),a.prototype.addRoot=function(){var o=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(o,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(o,l,u,h,f){if(u==null&&h==null&&f==null){if(o==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(o)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(o),o.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return o.parent=l,l.child=o,o}else{f=u,h=l,u=o;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(o){if(o instanceof n){var l=o;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=o.getRight()?l[0]+=Math.min(o.getX()-a.getX(),a.getRight()-o.getRight()):o.getX()<=a.getX()&&o.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-o.getX(),o.getRight()-a.getRight())),a.getY()<=o.getY()&&a.getBottom()>=o.getBottom()?l[1]+=Math.min(o.getY()-a.getY(),a.getBottom()-o.getBottom()):o.getY()<=a.getY()&&o.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-o.getY(),o.getBottom()-a.getBottom()));var f=Math.abs((o.getCenterY()-a.getCenterY())/(o.getCenterX()-a.getCenterX()));o.getCenterY()===a.getCenterY()&&o.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=E,!1;if(hf)return l[0]=p,l[1]=h,l[2]=T,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,L=!0):(l[0]=g,l[1]=m,L=!0):M===I&&(u>f?(l[0]=p,l[1]=m,L=!0):(l[0]=x,l[1]=v,L=!0)),-F===I?f>u?(l[2]=C,l[3]=E,P=!0):(l[2]=T,l[3]=w,P=!0):F===I&&(f>u?(l[2]=A,l[3]=w,P=!0):(l[2]=S,l[3]=E,P=!0)),L&&P)return!1;if(u>f?h>d?(O=this.getCardinalDirection(M,I,4),z=this.getCardinalDirection(F,I,2)):(O=this.getCardinalDirection(-M,I,3),z=this.getCardinalDirection(-F,I,1)):h>d?(O=this.getCardinalDirection(-M,I,1),z=this.getCardinalDirection(-F,I,3)):(O=this.getCardinalDirection(M,I,2),z=this.getCardinalDirection(F,I,4)),!L)switch(O){case 1:U=m,N=u+-k/I,l[0]=N,l[1]=U;break;case 2:N=x,U=h+b*I,l[0]=N,l[1]=U;break;case 3:U=v,N=u+k/I,l[0]=N,l[1]=U;break;case 4:N=y,U=h+-b*I,l[0]=N,l[1]=U;break}if(!P)switch(z){case 1:W=w,$=f+-D/I,l[2]=$,l[3]=W;break;case 2:$=S,W=d+R*I,l[2]=$,l[3]=W;break;case 3:W=E,$=f+D/I,l[2]=$,l[3]=W;break;case 4:$=C,W=d+-R*I,l[2]=$,l[3]=W;break}}return!1},i.getCardinalDirection=function(a,o,l){return a>o?l:1+l%4},i.getIntersection=function(a,o,l,u){if(u==null)return this.getIntersection2(a,o,l);var h=a.x,f=a.y,d=o.x,p=o.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,k=void 0,A=void 0,w=void 0,T=void 0,C=void 0,E=void 0,S=void 0;return k=p-f,w=h-d,C=d*f-h*p,A=v-g,T=m-y,E=y*g-m*v,S=k*T-A*w,S===0?null:(x=(w*E-T*C)/S,b=(A*C-k*E)/S,new n(x,b))},i.angleOfVector=function(a,o,l,u){var h=void 0;return a!==l?(h=Math.atan((u-o)/(l-a)),l0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n},function(t,e,r){"use strict";function n(){}s(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n},function(t,e,r){"use strict";var n=function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||o!="object"&&o!="function"},t.exports=i},function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(k.push(w[0]);k.length>0&&g;){var T=k[0];k.splice(0,1),b.add(T);for(var C=T.getEdges(),x=0;x-1&&w.splice(D,1)}b=new Set,A=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(E,1);var S=A.getNeighborsList();S.forEach(function(L){if(y.indexOf(L)<0){var P=v.get(L),M=P-1;M==1&&T.push(L),v.set(L,M)}})}y=y.concat(T),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p},function(t,e,r){"use strict";function n(){}s(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n},function(t,e,r){"use strict";var n=r(4);function i(a,o){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var o=0,l=this.lworldExtX;return l!=0&&(o=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),o},i.prototype.transformY=function(a){var o=0,l=this.lworldExtY;return l!=0&&(o=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),o},i.prototype.inverseTransformX=function(a){var o=0,l=this.ldeviceExtX;return l!=0&&(o=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),o},i.prototype.inverseTransformY=function(a){var o=0,l=this.ldeviceExtY;return l!=0&&(o=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),o},i.prototype.inverseTransformPoint=function(a){var o=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return o},t.exports=i},function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mk||b>k)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(k=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>k||b>k)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||k>=x[0].length)){for(var A=0;Ah},"_defaultCompareFunction")}]),l}();t.exports=o},function(t,e,r){"use strict";var n=function(){function o(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,o),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===o&&this.listeners.splice(l,1)}},i.emit=function(a,o){for(var l=0;l{"use strict";s(function(e,r){typeof Ux=="object"&&typeof LP=="object"?LP.exports=r(AP()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof Ux=="object"?Ux.coseBase=r(AP()):e.coseBase=r(e.layoutBase)},"webpackUniversalModuleDefinition")(Ux,function(t){return function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return s(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:o})},n.n=function(i){var a=i&&i.__esModule?s(function(){return i.default},"getDefault"):s(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=7)}([function(e,r){e.exports=t},function(e,r,n){"use strict";var i=n(0).FDLayoutConstants;function a(){}s(a,"CoSEConstants");for(var o in i)a[o]=i[o];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=i.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=a},function(e,r,n){"use strict";var i=n(0).FDLayoutEdge;function a(l,u,h){i.call(this,l,u,h)}s(a,"CoSEEdge"),a.prototype=Object.create(i.prototype);for(var o in i)a[o]=i[o];e.exports=a},function(e,r,n){"use strict";var i=n(0).LGraph;function a(l,u,h){i.call(this,l,u,h)}s(a,"CoSEGraph"),a.prototype=Object.create(i.prototype);for(var o in i)a[o]=i[o];e.exports=a},function(e,r,n){"use strict";var i=n(0).LGraphManager;function a(l){i.call(this,l)}s(a,"CoSEGraphManager"),a.prototype=Object.create(i.prototype);for(var o in i)a[o]=i[o];e.exports=a},function(e,r,n){"use strict";var i=n(0).FDLayoutNode,a=n(0).IMath;function o(u,h,f,d){i.call(this,u,h,f,d)}s(o,"CoSENode"),o.prototype=Object.create(i.prototype);for(var l in i)o[l]=i[l];o.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(u,h){for(var f=this.getChild().getNodes(),d,p=0;p0)this.positionNodesRadially(w);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var T=new Set(this.getAllNodes()),C=this.nodesWithGravity.filter(function(E){return T.has(E)});this.graphManager.setAllNodesToApplyGravitation(C),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},k.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var w=new Set(this.getAllNodes()),T=this.nodesWithGravity.filter(function(S){return w.has(S)});this.graphManager.setAllNodesToApplyGravitation(T),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var C=!this.isTreeGrowing&&!this.isGrowthFinished,E=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(C,E),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},k.prototype.getPositionsData=function(){for(var w=this.graphManager.getAllNodes(),T={},C=0;C1){var L;for(L=0;LE&&(E=Math.floor(D.y)),R=Math.floor(D.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(d.WORLD_CENTER_X-D.x/2,d.WORLD_CENTER_Y-D.y/2))},k.radialLayout=function(w,T,C){var E=Math.max(this.maxDiagonalInTree(w),h.DEFAULT_RADIAL_SEPARATION);k.branchRadialLayout(T,null,0,359,0,E);var S=x.calculateBounds(w),R=new b;R.setDeviceOrgX(S.getMinX()),R.setDeviceOrgY(S.getMinY()),R.setWorldOrgX(C.x),R.setWorldOrgY(C.y);for(var D=0;D1;){var ee=W[0];W.splice(0,1);var te=O.indexOf(ee);te>=0&&O.splice(te,1),U--,z--}T!=null?$=(O.indexOf(W[0])+1)%U:$=0;for(var ce=Math.abs(E-C)/z,Z=$;N!=z;Z=++Z%U){var fe=O[Z].getOtherEnd(w);if(fe!=T){var ne=(C+N*ce)%360,H=(ne+ce)%360;k.branchRadialLayout(fe,w,ne,H,S+R,R),N++}}},k.maxDiagonalInTree=function(w){for(var T=y.MIN_VALUE,C=0;CT&&(T=S)}return T},k.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},k.prototype.groupZeroDegreeMembers=function(){var w=this,T={};this.memberGroups={},this.idToDummyNode={};for(var C=[],E=this.graphManager.getAllNodes(),S=0;S"u"&&(T[L]=[]),T[L]=T[L].concat(R)}Object.keys(T).forEach(function(P){if(T[P].length>1){var M="DummyCompound_"+P;w.memberGroups[M]=T[P];var F=T[P][0].getParent(),I=new l(w.graphManager);I.id=M,I.paddingLeft=F.paddingLeft||0,I.paddingRight=F.paddingRight||0,I.paddingBottom=F.paddingBottom||0,I.paddingTop=F.paddingTop||0,w.idToDummyNode[M]=I;var O=w.getGraphManager().add(w.newGraph(),I),z=F.getChild();z.add(I);for(var N=0;N=0;w--){var T=this.compoundOrder[w],C=T.id,E=T.paddingLeft,S=T.paddingTop;this.adjustLocations(this.tiledMemberPack[C],T.rect.x,T.rect.y,E,S)}},k.prototype.repopulateZeroDegreeMembers=function(){var w=this,T=this.tiledZeroDegreePack;Object.keys(T).forEach(function(C){var E=w.idToDummyNode[C],S=E.paddingLeft,R=E.paddingTop;w.adjustLocations(T[C],E.rect.x,E.rect.y,S,R)})},k.prototype.getToBeTiled=function(w){var T=w.id;if(this.toBeTiled[T]!=null)return this.toBeTiled[T];var C=w.getChild();if(C==null)return this.toBeTiled[T]=!1,!1;for(var E=C.getNodes(),S=0;S0)return this.toBeTiled[T]=!1,!1;if(R.getChild()==null){this.toBeTiled[R.id]=!1;continue}if(!this.getToBeTiled(R))return this.toBeTiled[T]=!1,!1}return this.toBeTiled[T]=!0,!0},k.prototype.getNodeDegree=function(w){for(var T=w.id,C=w.getEdges(),E=0,S=0;SP&&(P=F.rect.height)}C+=P+w.verticalPadding}},k.prototype.tileCompoundMembers=function(w,T){var C=this;this.tiledMemberPack=[],Object.keys(w).forEach(function(E){var S=T[E];C.tiledMemberPack[E]=C.tileNodes(w[E],S.paddingLeft+S.paddingRight),S.rect.width=C.tiledMemberPack[E].width,S.rect.height=C.tiledMemberPack[E].height})},k.prototype.tileNodes=function(w,T){var C=h.TILING_PADDING_VERTICAL,E=h.TILING_PADDING_HORIZONTAL,S={rows:[],rowWidth:[],rowHeight:[],width:0,height:T,verticalPadding:C,horizontalPadding:E};w.sort(function(L,P){return L.rect.width*L.rect.height>P.rect.width*P.rect.height?-1:L.rect.width*L.rect.height0&&(D+=w.horizontalPadding),w.rowWidth[C]=D,w.width0&&(L+=w.verticalPadding);var P=0;L>w.rowHeight[C]&&(P=w.rowHeight[C],w.rowHeight[C]=L,P=w.rowHeight[C]-P),w.height+=P,w.rows[C].push(T)},k.prototype.getShortestRowIndex=function(w){for(var T=-1,C=Number.MAX_VALUE,E=0;EC&&(T=E,C=w.rowWidth[E]);return T},k.prototype.canAddHorizontal=function(w,T,C){var E=this.getShortestRowIndex(w);if(E<0)return!0;var S=w.rowWidth[E];if(S+w.horizontalPadding+T<=w.width)return!0;var R=0;w.rowHeight[E]0&&(R=C+w.verticalPadding-w.rowHeight[E]);var D;w.width-S>=T+w.horizontalPadding?D=(w.height+R)/(S+T+w.horizontalPadding):D=(w.height+R)/w.width,R=C+w.verticalPadding;var L;return w.widthR&&T!=C){E.splice(-1,1),w.rows[C].push(S),w.rowWidth[T]=w.rowWidth[T]-R,w.rowWidth[C]=w.rowWidth[C]+R,w.width=w.rowWidth[instance.getLongestRowIndex(w)];for(var D=Number.MIN_VALUE,L=0;LD&&(D=E[L].height);T>0&&(D+=w.verticalPadding);var P=w.rowHeight[T]+w.rowHeight[C];w.rowHeight[T]=D,w.rowHeight[C]0)for(var z=S;z<=R;z++)O[0]+=this.grid[z][D-1].length+this.grid[z][D].length-1;if(R0)for(var z=D;z<=L;z++)O[3]+=this.grid[S-1][z].length+this.grid[S][z].length-1;for(var N=y.MAX_VALUE,U,$,W=0;W{"use strict";s(function(e,r){typeof qx=="object"&&typeof RP=="object"?RP.exports=r(DP()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof qx=="object"?qx.cytoscapeCoseBilkent=r(DP()):e.cytoscapeCoseBilkent=r(e.coseBase)},"webpackUniversalModuleDefinition")(qx,function(t){return function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return s(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:o})},n.n=function(i){var a=i&&i.__esModule?s(function(){return i.default},"getDefault"):s(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=1)}([function(e,r){e.exports=t},function(e,r,n){"use strict";var i=n(0).layoutBase.LayoutConstants,a=n(0).layoutBase.FDLayoutConstants,o=n(0).CoSEConstants,l=n(0).CoSELayout,u=n(0).CoSENode,h=n(0).layoutBase.PointD,f=n(0).layoutBase.DimensionD,d={ready:s(function(){},"ready"),stop:s(function(){},"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function p(v,x){var b={};for(var k in v)b[k]=v[k];for(var k in x)b[k]=x[k];return b}s(p,"extend");function m(v){this.options=p(d,v),g(this.options)}s(m,"_CoSELayout");var g=s(function(x){x.nodeRepulsion!=null&&(o.DEFAULT_REPULSION_STRENGTH=a.DEFAULT_REPULSION_STRENGTH=x.nodeRepulsion),x.idealEdgeLength!=null&&(o.DEFAULT_EDGE_LENGTH=a.DEFAULT_EDGE_LENGTH=x.idealEdgeLength),x.edgeElasticity!=null&&(o.DEFAULT_SPRING_STRENGTH=a.DEFAULT_SPRING_STRENGTH=x.edgeElasticity),x.nestingFactor!=null&&(o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=x.nestingFactor),x.gravity!=null&&(o.DEFAULT_GRAVITY_STRENGTH=a.DEFAULT_GRAVITY_STRENGTH=x.gravity),x.numIter!=null&&(o.MAX_ITERATIONS=a.MAX_ITERATIONS=x.numIter),x.gravityRange!=null&&(o.DEFAULT_GRAVITY_RANGE_FACTOR=a.DEFAULT_GRAVITY_RANGE_FACTOR=x.gravityRange),x.gravityCompound!=null&&(o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=x.gravityCompound),x.gravityRangeCompound!=null&&(o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=x.gravityRangeCompound),x.initialEnergyOnIncremental!=null&&(o.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.DEFAULT_COOLING_FACTOR_INCREMENTAL=x.initialEnergyOnIncremental),x.quality=="draft"?i.QUALITY=0:x.quality=="proof"?i.QUALITY=2:i.QUALITY=1,o.NODE_DIMENSIONS_INCLUDE_LABELS=a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=x.nodeDimensionsIncludeLabels,o.DEFAULT_INCREMENTAL=a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!x.randomize,o.ANIMATE=a.ANIMATE=i.ANIMATE=x.animate,o.TILE=x.tile,o.TILING_PADDING_VERTICAL=typeof x.tilingPaddingVertical=="function"?x.tilingPaddingVertical.call():x.tilingPaddingVertical,o.TILING_PADDING_HORIZONTAL=typeof x.tilingPaddingHorizontal=="function"?x.tilingPaddingHorizontal.call():x.tilingPaddingHorizontal},"getUserOptions");m.prototype.run=function(){var v,x,b=this.options,k=this.idToLNode={},A=this.layout=new l,w=this;w.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var T=A.newGraphManager();this.gm=T;var C=this.options.eles.nodes(),E=this.options.eles.edges();this.root=T.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(C),A);for(var S=0;S0){var L;L=b.getGraphManager().add(b.newGraph(),C),this.processChildrenList(L,T,b)}}},m.prototype.stop=function(){return this.stopped=!0,this};var y=s(function(x){x("layout","cose-bilkent",m)},"register");typeof cytoscape<"u"&&y(cytoscape),e.exports=y}])})});function $je(t,e,r,n,i){return t.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("transform","translate("+(i.width-e)/2+", "+r+")")}var Nje,Oje,Pje,Bje,Fje,zje,Gje,Vje,Rpe,Mpe,Ipe=_(()=>{"use strict";ic();pr();Nje=12,Oje=s(function(t,e,r,n){e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 ${r.height-5} v${-r.height+2*5} q0,-5 5,-5 h${r.width-2*5} q5,0 5,5 v${r.height-5} H0 Z`),e.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",r.height).attr("x2",r.width).attr("y2",r.height)},"defaultBkg"),Pje=s(function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("width",r.width)},"rectBkg"),Bje=s(function(t,e,r){let n=r.width,i=r.height,a=.15*n,o=.25*n,l=.35*n,u=.2*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 0 0,1 ${n*.25},${-1*n*.1} + a${l},${l} 1 0,1 ${n*.4},${-1*n*.1} + a${o},${o} 1 0,1 ${n*.35},${1*n*.2} + + a${a},${a} 1 0,1 ${n*.15},${1*i*.35} + a${u},${u} 1 0,1 ${-1*n*.15},${1*i*.65} + + a${o},${a} 1 0,1 ${-1*n*.25},${n*.15} + a${l},${l} 1 0,1 ${-1*n*.5},0 + a${a},${a} 1 0,1 ${-1*n*.25},${-1*n*.15} + + a${a},${a} 1 0,1 ${-1*n*.1},${-1*i*.35} + a${u},${u} 1 0,1 ${n*.1},${-1*i*.65} + + H0 V0 Z`)},"cloudBkg"),Fje=s(function(t,e,r){let n=r.width,i=r.height,a=.15*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 1 0,0 ${n*.25},${-1*i*.1} + a${a},${a} 1 0,0 ${n*.25},0 + a${a},${a} 1 0,0 ${n*.25},0 + a${a},${a} 1 0,0 ${n*.25},${1*i*.1} + + a${a},${a} 1 0,0 ${n*.15},${1*i*.33} + a${a*.8},${a*.8} 1 0,0 0,${1*i*.34} + a${a},${a} 1 0,0 ${-1*n*.15},${1*i*.33} + + a${a},${a} 1 0,0 ${-1*n*.25},${i*.15} + a${a},${a} 1 0,0 ${-1*n*.25},0 + a${a},${a} 1 0,0 ${-1*n*.25},0 + a${a},${a} 1 0,0 ${-1*n*.25},${-1*i*.15} + + a${a},${a} 1 0,0 ${-1*n*.1},${-1*i*.33} + a${a*.8},${a*.8} 1 0,0 0,${-1*i*.34} + a${a},${a} 1 0,0 ${n*.1},${-1*i*.33} + + H0 V0 Z`)},"bangBkg"),zje=s(function(t,e,r){e.append("circle").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("r",r.width/2)},"circleBkg");s($je,"insertPolygonShape");Gje=s(function(t,e,r){let n=r.height,a=n/4,o=r.width-r.padding+2*a,l=[{x:a,y:0},{x:o-a,y:0},{x:o,y:-n/2},{x:o-a,y:-n},{x:a,y:-n},{x:0,y:-n/2}];$je(e,o,n,l,r)},"hexagonBkg"),Vje=s(function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("rx",r.padding).attr("ry",r.padding).attr("width",r.width)},"roundedRectBkg"),Rpe=s(async function(t,e,r,n,i){let a=i.htmlLabels,o=n%(Nje-1),l=e.append("g");r.section=o;let u="section-"+o;o<0&&(u+=" section-root"),l.attr("class",(r.class?r.class+" ":"")+"mindmap-node "+u);let h=l.append("g"),f=l.append("g"),d=r.descr.replace(/()/g,` +`);await vs(f,d,{useHtmlLabels:a,width:r.width,classes:"mindmap-node-label"},i),a||f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");let p=f.node().getBBox(),[m]=nc(i.fontSize);if(r.height=p.height+m*1.1*.5+r.padding,r.width=p.width+2*r.padding,r.icon)if(r.type===t.nodeType.CIRCLE)r.height+=50,r.width+=50,l.append("foreignObject").attr("height","50px").attr("width",r.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+r.icon),f.attr("transform","translate("+r.width/2+", "+(r.height/2-1.5*r.padding)+")");else{r.width+=50;let g=r.height;r.height=Math.max(g,60);let y=Math.abs(r.height-g);l.append("foreignObject").attr("width","60px").attr("height",r.height).attr("style","text-align: center;margin-top:"+y/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+r.icon),f.attr("transform","translate("+(25+r.width/2)+", "+(y/2+r.padding/2)+")")}else if(a){let g=(r.width-p.width)/2,y=(r.height-p.height)/2;f.attr("transform","translate("+g+", "+y+")")}else{let g=r.width/2,y=r.padding/2;f.attr("transform","translate("+g+", "+y+")")}switch(r.type){case t.nodeType.DEFAULT:Oje(t,h,r,o);break;case t.nodeType.ROUNDED_RECT:Vje(t,h,r,o);break;case t.nodeType.RECT:Pje(t,h,r,o);break;case t.nodeType.CIRCLE:h.attr("transform","translate("+r.width/2+", "+ +r.height/2+")"),zje(t,h,r,o);break;case t.nodeType.CLOUD:Bje(t,h,r,o);break;case t.nodeType.BANG:Fje(t,h,r,o);break;case t.nodeType.HEXAGON:Gje(t,h,r,o);break}return t.setElementForId(r.id,l),r.height},"drawNode"),Mpe=s(function(t,e){let r=t.getElementById(e.id),n=e.x||0,i=e.y||0;r.attr("transform","translate("+n+","+i+")")},"positionNode")});async function Ope(t,e,r,n,i){await Rpe(t,e,r,n,i),r.children&&await Promise.all(r.children.map((a,o)=>Ope(t,e,a,n<0?o:n,i)))}function Uje(t,e){e.edges().map((r,n)=>{let i=r.data();if(r[0]._private.bodyBounds){let a=r[0]._private.rscratch;V.trace("Edge: ",n,i),t.insert("path").attr("d",`M ${a.startX},${a.startY} L ${a.midX},${a.midY} L${a.endX},${a.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth)}})}function Ppe(t,e,r,n){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:n,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(i=>{Ppe(i,e,r,n+1),e.add({group:"edges",data:{id:`${t.id}_${i.id}`,source:t.id,target:i.id,depth:n,section:i.section}})})}function qje(t,e){return new Promise(r=>{let n=Me("body").append("div").attr("id","cy").attr("style","display:none"),i=Yu({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});n.remove(),Ppe(t,i,e,0),i.nodes().forEach(function(a){a.layoutDimensions=()=>{let o=a.data();return{w:o.width,h:o.height}}}),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready(a=>{V.info("Ready",a),r(i)})})}function Wje(t,e){e.nodes().map((r,n)=>{let i=r.data();i.x=r.position().x,i.y=r.position().y,Mpe(t,i);let a=t.getElementById(i.nodeId);V.info("Id:",n,"Position: (",r.position().x,", ",r.position().y,")",i),a.attr("transform",`translate(${r.position().x-i.width/2}, ${r.position().y-i.height/2})`),a.attr("attr",`apa-${n})`)})}var Npe,Hje,Bpe,Fpe=_(()=>{"use strict";Lpe();Npe=ka(Dpe(),1);Xt();gt();it();p0();Un();Ipe();Pl();Yu.use(Npe.default);s(Ope,"drawNodes");s(Uje,"drawEdges");s(Ppe,"addNodes");s(qje,"layoutMindmap");s(Wje,"positionNodes");Hje=s(async(t,e,r,n)=>{V.debug(`Rendering mindmap diagram +`+t);let i=n.db,a=i.getMindmap();if(!a)return;let o=le();o.htmlLabels=!1;let l=Bo(e),u=l.append("g");u.attr("class","mindmap-edges");let h=l.append("g");h.attr("class","mindmap-nodes"),await Ope(i,h,a,-1,o);let f=await qje(a,o);Uje(u,f),Wje(i,f),ql(void 0,l,o.mindmap?.padding??dr.mindmap.padding,o.mindmap?.useMaxWidth??dr.mindmap.useMaxWidth)},"draw"),Bpe={draw:Hje}});var Yje,Xje,zpe,$pe=_(()=>{"use strict";Ho();Yje=s(t=>{let e="";for(let r=0;r` + .edge { + stroke-width: 3; + } + ${Yje(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`,"getStyles"),zpe=Xje});var Gpe={};ur(Gpe,{diagram:()=>jje});var jje,Vpe=_(()=>{"use strict";Sfe();Lfe();Fpe();$pe();jje={db:Afe,renderer:Bpe,parser:Cfe,styles:zpe}});var MP,Wx,Wpe=_(()=>{"use strict";MP=function(){var t=s(function(l,u,h,f){for(h=h||{},f=l.length;f--;h[l[f]]=u);return h},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:s(function(u,h,f,d,p,m,g){var y=m.length-1;switch(p){case 7:let v=d.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());d.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:s(function(u,h){if(h.recoverable)this.trace(u);else{var f=new Error(u);throw f.hash=h,f}},"parseError"),parse:s(function(u){var h=this,f=[0],d=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,k=2,A=1,w=m.slice.call(arguments,1),T=Object.create(this.lexer),C={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(C.yy[E]=this.yy[E]);T.setInput(u,C.yy),C.yy.lexer=T,C.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var S=T.yylloc;m.push(S);var R=T.options&&T.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ce){f.length=f.length-2*ce,p.length=p.length-ce,m.length=m.length-ce}s(D,"popStack");function L(){var ce;return ce=d.pop()||T.lex()||A,typeof ce!="number"&&(ce instanceof Array&&(d=ce,ce=d.pop()),ce=h.symbols_[ce]||ce),ce}s(L,"lex");for(var P,M,F,I,O,z,N={},U,$,W,ee;;){if(F=f[f.length-1],this.defaultActions[F]?I=this.defaultActions[F]:((P===null||typeof P>"u")&&(P=L()),I=g[F]&&g[F][P]),typeof I>"u"||!I.length||!I[0]){var te="";ee=[];for(U in g[F])this.terminals_[U]&&U>k&&ee.push("'"+this.terminals_[U]+"'");T.showPosition?te="Parse error on line "+(v+1)+`: +`+T.showPosition()+` +Expecting `+ee.join(", ")+", got '"+(this.terminals_[P]||P)+"'":te="Parse error on line "+(v+1)+": Unexpected "+(P==A?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(te,{text:T.match,token:this.terminals_[P]||P,line:T.yylineno,loc:S,expected:ee})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+F+", token: "+P);switch(I[0]){case 1:f.push(P),p.push(T.yytext),m.push(T.yylloc),f.push(I[1]),P=null,M?(P=M,M=null):(x=T.yyleng,y=T.yytext,v=T.yylineno,S=T.yylloc,b>0&&b--);break;case 2:if($=this.productions_[I[1]][1],N.$=p[p.length-$],N._$={first_line:m[m.length-($||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-($||1)].first_column,last_column:m[m.length-1].last_column},R&&(N._$.range=[m[m.length-($||1)].range[0],m[m.length-1].range[1]]),z=this.performAction.apply(N,[y,x,v,C.yy,I[1],p,m].concat(w)),typeof z<"u")return z;$&&(f=f.slice(0,-1*$*2),p=p.slice(0,-1*$),m=m.slice(0,-1*$)),f.push(this.productions_[I[1]][0]),p.push(N.$),m.push(N._$),W=g[f[f.length-2]][f[f.length-1]],f.push(W);break;case 3:return!0}}return!0},"parse")},a=function(){var l={EOF:1,parseError:s(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw new Error(h)},"parseError"),setInput:s(function(u,h){return this.yy=h||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:s(function(u){var h=u.length,f=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===d.length?this.yylloc.first_column:0)+d[d.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(u){this.unput(this.match.slice(u))},"less"),pastInput:s(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var u=this.pastInput(),h=new Array(u.length+1).join("-");return u+this.upcomingInput()+` +`+h+"^"},"showPosition"),test_match:s(function(u,h){var f,d,p;if(this.options.backtrack_lexer&&(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(p.yylloc.range=this.yylloc.range.slice(0))),d=u[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],f=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var m in p)this[m]=p[m];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,h,f,d;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),m=0;mh[0].length)){if(h=f,d=m,this.options.backtrack_lexer){if(u=this.test_match(f,p[m]),u!==!1)return u;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(u=this.test_match(h,p[d]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var h=this.next();return h||this.lex()},"lex"),begin:s(function(h){this.conditionStack.push(h)},"begin"),popState:s(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:s(function(h){this.begin(h)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(h,f,d,p){var m=p;switch(d){case 0:return this.pushState("csv"),4;break;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;break;case 5:return 20;case 6:return this.popState("escaped_text"),18;break;case 7:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return l}();i.lexer=a;function o(){this.yy={}}return s(o,"Parser"),o.prototype=i,i.Parser=o,new o}();MP.parser=MP;Wx=MP});var w7,T7,k7,Jje,IP,eKe,NP,tKe,rKe,nKe,iKe,Hpe,Ype=_(()=>{"use strict";gt();Qt();Ci();w7=[],T7=[],k7=new Map,Jje=s(()=>{w7=[],T7=[],k7=new Map,br()},"clear"),IP=class{constructor(e,r,n=0){this.source=e;this.target=r;this.value=n}static{s(this,"SankeyLink")}},eKe=s((t,e,r)=>{w7.push(new IP(t,e,r))},"addLink"),NP=class{constructor(e){this.ID=e}static{s(this,"SankeyNode")}},tKe=s(t=>{t=$e.sanitizeText(t,le());let e=k7.get(t);return e===void 0&&(e=new NP(t),k7.set(t,e),T7.push(e)),e},"findOrCreateNode"),rKe=s(()=>T7,"getNodes"),nKe=s(()=>w7,"getLinks"),iKe=s(()=>({nodes:T7.map(t=>({id:t.ID})),links:w7.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),Hpe={nodesMap:k7,getConfig:s(()=>le().sankey,"getConfig"),getNodes:rKe,getLinks:nKe,getGraph:iKe,addLink:eKe,findOrCreateNode:tKe,getAccTitle:Gr,setAccTitle:Ar,getAccDescription:Ur,setAccDescription:Vr,getDiagramTitle:Qr,setDiagramTitle:an,clear:Jje}});function Hx(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var Xpe=_(()=>{"use strict";s(Hx,"max")});function i1(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var jpe=_(()=>{"use strict";s(i1,"min")});function a1(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}var Kpe=_(()=>{"use strict";s(a1,"sum")});var OP=_(()=>{"use strict";Xpe();jpe();Kpe()});function aKe(t){return t.target.depth}function PP(t){return t.depth}function BP(t,e){return e-1-t.height}function Yx(t,e){return t.sourceLinks.length?t.depth:e-1}function FP(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?i1(t.sourceLinks,aKe)-1:0}var zP=_(()=>{"use strict";OP();s(aKe,"targetDepth");s(PP,"left");s(BP,"right");s(Yx,"justify");s(FP,"center")});function s1(t){return function(){return t}}var Qpe=_(()=>{"use strict";s(s1,"constant")});function Zpe(t,e){return E7(t.source,e.source)||t.index-e.index}function Jpe(t,e){return E7(t.target,e.target)||t.index-e.index}function E7(t,e){return t.y0-e.y0}function $P(t){return t.value}function sKe(t){return t.index}function oKe(t){return t.nodes}function lKe(t){return t.links}function eme(t,e){let r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function tme({nodes:t}){for(let e of t){let r=e.y0,n=r;for(let i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(let i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function C7(){let t=0,e=0,r=1,n=1,i=24,a=8,o,l=sKe,u=Yx,h,f,d=oKe,p=lKe,m=6;function g(){let F={nodes:d.apply(null,arguments),links:p.apply(null,arguments)};return y(F),v(F),x(F),b(F),w(F),tme(F),F}s(g,"sankey"),g.update=function(F){return tme(F),F},g.nodeId=function(F){return arguments.length?(l=typeof F=="function"?F:s1(F),g):l},g.nodeAlign=function(F){return arguments.length?(u=typeof F=="function"?F:s1(F),g):u},g.nodeSort=function(F){return arguments.length?(h=F,g):h},g.nodeWidth=function(F){return arguments.length?(i=+F,g):i},g.nodePadding=function(F){return arguments.length?(a=o=+F,g):a},g.nodes=function(F){return arguments.length?(d=typeof F=="function"?F:s1(F),g):d},g.links=function(F){return arguments.length?(p=typeof F=="function"?F:s1(F),g):p},g.linkSort=function(F){return arguments.length?(f=F,g):f},g.size=function(F){return arguments.length?(t=e=0,r=+F[0],n=+F[1],g):[r-t,n-e]},g.extent=function(F){return arguments.length?(t=+F[0][0],r=+F[1][0],e=+F[0][1],n=+F[1][1],g):[[t,e],[r,n]]},g.iterations=function(F){return arguments.length?(m=+F,g):m};function y({nodes:F,links:I}){for(let[z,N]of F.entries())N.index=z,N.sourceLinks=[],N.targetLinks=[];let O=new Map(F.map((z,N)=>[l(z,N,F),z]));for(let[z,N]of I.entries()){N.index=z;let{source:U,target:$}=N;typeof U!="object"&&(U=N.source=eme(O,U)),typeof $!="object"&&($=N.target=eme(O,$)),U.sourceLinks.push(N),$.targetLinks.push(N)}if(f!=null)for(let{sourceLinks:z,targetLinks:N}of F)z.sort(f),N.sort(f)}s(y,"computeNodeLinks");function v({nodes:F}){for(let I of F)I.value=I.fixedValue===void 0?Math.max(a1(I.sourceLinks,$P),a1(I.targetLinks,$P)):I.fixedValue}s(v,"computeNodeValues");function x({nodes:F}){let I=F.length,O=new Set(F),z=new Set,N=0;for(;O.size;){for(let U of O){U.depth=N;for(let{target:$}of U.sourceLinks)z.add($)}if(++N>I)throw new Error("circular link");O=z,z=new Set}}s(x,"computeNodeDepths");function b({nodes:F}){let I=F.length,O=new Set(F),z=new Set,N=0;for(;O.size;){for(let U of O){U.height=N;for(let{source:$}of U.targetLinks)z.add($)}if(++N>I)throw new Error("circular link");O=z,z=new Set}}s(b,"computeNodeHeights");function k({nodes:F}){let I=Hx(F,N=>N.depth)+1,O=(r-t-i)/(I-1),z=new Array(I);for(let N of F){let U=Math.max(0,Math.min(I-1,Math.floor(u.call(null,N,I))));N.layer=U,N.x0=t+U*O,N.x1=N.x0+i,z[U]?z[U].push(N):z[U]=[N]}if(h)for(let N of z)N.sort(h);return z}s(k,"computeNodeLayers");function A(F){let I=i1(F,O=>(n-e-(O.length-1)*o)/a1(O,$P));for(let O of F){let z=e;for(let N of O){N.y0=z,N.y1=z+N.value*I,z=N.y1+o;for(let U of N.sourceLinks)U.width=U.value*I}z=(n-z+o)/(O.length+1);for(let N=0;NO.length)-1)),A(I);for(let O=0;O0))continue;let te=(W/ee-$.y0)*I;$.y0+=te,$.y1+=te,D($)}h===void 0&&U.sort(E7),E(U,O)}}s(T,"relaxLeftToRight");function C(F,I,O){for(let z=F.length,N=z-2;N>=0;--N){let U=F[N];for(let $ of U){let W=0,ee=0;for(let{target:ce,value:Z}of $.sourceLinks){let fe=Z*(ce.layer-$.layer);W+=M($,ce)*fe,ee+=fe}if(!(ee>0))continue;let te=(W/ee-$.y0)*I;$.y0+=te,$.y1+=te,D($)}h===void 0&&U.sort(E7),E(U,O)}}s(C,"relaxRightToLeft");function E(F,I){let O=F.length>>1,z=F[O];R(F,z.y0-o,O-1,I),S(F,z.y1+o,O+1,I),R(F,n,F.length-1,I),S(F,e,0,I)}s(E,"resolveCollisions");function S(F,I,O,z){for(;O1e-6&&(N.y0+=U,N.y1+=U),I=N.y1+o}}s(S,"resolveCollisionsTopToBottom");function R(F,I,O,z){for(;O>=0;--O){let N=F[O],U=(N.y1-I)*z;U>1e-6&&(N.y0-=U,N.y1-=U),I=N.y0-o}}s(R,"resolveCollisionsBottomToTop");function D({sourceLinks:F,targetLinks:I}){if(f===void 0){for(let{source:{sourceLinks:O}}of I)O.sort(Jpe);for(let{target:{targetLinks:O}}of F)O.sort(Zpe)}}s(D,"reorderNodeLinks");function L(F){if(f===void 0)for(let{sourceLinks:I,targetLinks:O}of F)I.sort(Jpe),O.sort(Zpe)}s(L,"reorderLinks");function P(F,I){let O=F.y0-(F.sourceLinks.length-1)*o/2;for(let{target:z,width:N}of F.sourceLinks){if(z===I)break;O+=N+o}for(let{source:z,width:N}of I.targetLinks){if(z===F)break;O-=N}return O}s(P,"targetTop");function M(F,I){let O=I.y0-(I.targetLinks.length-1)*o/2;for(let{source:z,width:N}of I.targetLinks){if(z===F)break;O+=N+o}for(let{target:z,width:N}of F.sourceLinks){if(z===I)break;O-=N}return O}return s(M,"sourceTop"),g}var rme=_(()=>{"use strict";OP();zP();Qpe();s(Zpe,"ascendingSourceBreadth");s(Jpe,"ascendingTargetBreadth");s(E7,"ascendingBreadth");s($P,"value");s(sKe,"defaultId");s(oKe,"defaultNodes");s(lKe,"defaultLinks");s(eme,"find");s(tme,"computeLinkBreadths");s(C7,"Sankey")});function UP(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function nme(){return new UP}var GP,VP,$0,cKe,qP,ime=_(()=>{"use strict";GP=Math.PI,VP=2*GP,$0=1e-6,cKe=VP-$0;s(UP,"Path");s(nme,"path");UP.prototype=nme.prototype={constructor:UP,moveTo:s(function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},"moveTo"),closePath:s(function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},"closePath"),lineTo:s(function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},"lineTo"),quadraticCurveTo:s(function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},"quadraticCurveTo"),bezierCurveTo:s(function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},"bezierCurveTo"),arcTo:s(function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,o=this._y1,l=r-t,u=n-e,h=a-t,f=o-e,d=h*h+f*f;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>$0)if(!(Math.abs(f*l-u*h)>$0)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var p=r-a,m=n-o,g=l*l+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(d),b=i*Math.tan((GP-Math.acos((g+d-y)/(2*v*x)))/2),k=b/x,A=b/v;Math.abs(k-1)>$0&&(this._+="L"+(t+k*h)+","+(e+k*f)),this._+="A"+i+","+i+",0,0,"+ +(f*p>h*m)+","+(this._x1=t+A*l)+","+(this._y1=e+A*u)}},"arcTo"),arc:s(function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var o=r*Math.cos(n),l=r*Math.sin(n),u=t+o,h=e+l,f=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+u+","+h:(Math.abs(this._x1-u)>$0||Math.abs(this._y1-h)>$0)&&(this._+="L"+u+","+h),r&&(d<0&&(d=d%VP+VP),d>cKe?this._+="A"+r+","+r+",0,1,"+f+","+(t-o)+","+(e-l)+"A"+r+","+r+",0,1,"+f+","+(this._x1=u)+","+(this._y1=h):d>$0&&(this._+="A"+r+","+r+",0,"+ +(d>=GP)+","+f+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},"arc"),rect:s(function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},"rect"),toString:s(function(){return this._},"toString")};qP=nme});var ame=_(()=>{"use strict";ime()});function S7(t){return s(function(){return t},"constant")}var sme=_(()=>{"use strict";s(S7,"default")});function ome(t){return t[0]}function lme(t){return t[1]}var cme=_(()=>{"use strict";s(ome,"x");s(lme,"y")});var ume,hme=_(()=>{"use strict";ume=Array.prototype.slice});function uKe(t){return t.source}function hKe(t){return t.target}function fKe(t){var e=uKe,r=hKe,n=ome,i=lme,a=null;function o(){var l,u=ume.call(arguments),h=e.apply(this,u),f=r.apply(this,u);if(a||(a=l=qP()),t(a,+n.apply(this,(u[0]=h,u)),+i.apply(this,u),+n.apply(this,(u[0]=f,u)),+i.apply(this,u)),l)return a=null,l+""||null}return s(o,"link"),o.source=function(l){return arguments.length?(e=l,o):e},o.target=function(l){return arguments.length?(r=l,o):r},o.x=function(l){return arguments.length?(n=typeof l=="function"?l:S7(+l),o):n},o.y=function(l){return arguments.length?(i=typeof l=="function"?l:S7(+l),o):i},o.context=function(l){return arguments.length?(a=l??null,o):a},o}function dKe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function WP(){return fKe(dKe)}var fme=_(()=>{"use strict";ame();hme();sme();cme();s(uKe,"linkSource");s(hKe,"linkTarget");s(fKe,"link");s(dKe,"curveHorizontal");s(WP,"linkHorizontal")});var dme=_(()=>{"use strict";fme()});function pKe(t){return[t.source.x1,t.y0]}function mKe(t){return[t.target.x0,t.y1]}function _7(){return WP().source(pKe).target(mKe)}var pme=_(()=>{"use strict";dme();s(pKe,"horizontalSource");s(mKe,"horizontalTarget");s(_7,"default")});var mme=_(()=>{"use strict";rme();zP();pme()});var Xx,gme=_(()=>{"use strict";Xx=class t{static{s(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}}});var gKe,yKe,yme,vme=_(()=>{"use strict";gt();Xt();mme();Un();gme();gKe={left:PP,right:BP,center:FP,justify:Yx},yKe=s(function(t,e,r,n){let{securityLevel:i,sankey:a}=le(),o=Qb.sankey,l;i==="sandbox"&&(l=Me("#i"+e));let u=i==="sandbox"?Me(l.nodes()[0].contentDocument.body):Me("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):Me(`[id="${e}"]`),f=a?.width??o.width,d=a?.height??o.width,p=a?.useMaxWidth??o.useMaxWidth,m=a?.nodeAlignment??o.nodeAlignment,g=a?.prefix??o.prefix,y=a?.suffix??o.suffix,v=a?.showValues??o.showValues,x=n.db.getGraph(),b=gKe[m];C7().nodeId(R=>R.id).nodeWidth(10).nodePadding(10+(v?15:0)).nodeAlign(b).extent([[0,0],[f,d]])(x);let w=au(l_);h.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",R=>(R.uid=Xx.next("node-")).id).attr("transform",function(R){return"translate("+R.x0+","+R.y0+")"}).attr("x",R=>R.x0).attr("y",R=>R.y0).append("rect").attr("height",R=>R.y1-R.y0).attr("width",R=>R.x1-R.x0).attr("fill",R=>w(R.id));let T=s(({id:R,value:D})=>v?`${R} +${g}${Math.round(D*100)/100}${y}`:R,"getText");h.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",R=>R.x0(R.y1+R.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",R=>R.x0(D.uid=Xx.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",D=>D.source.x1).attr("x2",D=>D.target.x0);R.append("stop").attr("offset","0%").attr("stop-color",D=>w(D.source.id)),R.append("stop").attr("offset","100%").attr("stop-color",D=>w(D.target.id))}let S;switch(E){case"gradient":S=s(R=>R.uid,"coloring");break;case"source":S=s(R=>w(R.source.id),"coloring");break;case"target":S=s(R=>w(R.target.id),"coloring");break;default:S=E}C.append("path").attr("d",_7()).attr("stroke",S).attr("stroke-width",R=>Math.max(1,R.width)),ql(void 0,h,0,p)},"draw"),yme={draw:yKe}});var xme,bme=_(()=>{"use strict";xme=s(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing")});var kme={};ur(kme,{diagram:()=>xKe});var vKe,xKe,wme=_(()=>{"use strict";Wpe();Ype();vme();bme();vKe=Wx.parse.bind(Wx);Wx.parse=t=>vKe(xme(t));xKe={parser:Wx,db:Hpe,renderer:yme}});var Cme,HP,TKe,EKe,CKe,SKe,_Ke,Tf,YP=_(()=>{"use strict";zs();Pl();pr();Ci();Cme={packet:[]},HP=structuredClone(Cme),TKe=dr.packet,EKe=s(()=>{let t=ms({...TKe,..._r().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),CKe=s(()=>HP.packet,"getPacket"),SKe=s(t=>{t.length>0&&HP.packet.push(t)},"pushWord"),_Ke=s(()=>{br(),HP=structuredClone(Cme)},"clear"),Tf={pushWord:SKe,getPacket:CKe,getConfig:EKe,clear:_Ke,setAccTitle:Ar,getAccTitle:Gr,setDiagramTitle:an,getDiagramTitle:Qr,getAccDescription:Ur,setAccDescription:Vr}});var AKe,LKe,DKe,Sme,_me=_(()=>{"use strict";V2();it();kw();YP();AKe=1e4,LKe=s(t=>{dg(t,Tf);let e=-1,r=[],n=1,{bitsPerRow:i}=Tf.getConfig();for(let{start:a,end:o,label:l}of t.blocks){if(o&&o{if(t.end===void 0&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*r?[t,void 0]:[{start:t.start,end:e*r-1,label:t.label},{start:e*r,end:t.end,label:t.label}]},"getNextFittingBlock"),Sme={parse:s(async t=>{let e=await Bu("packet",t);V.debug(e),LKe(e)},"parse")}});var RKe,MKe,Ame,Lme=_(()=>{"use strict";p0();Un();RKe=s((t,e,r,n)=>{let i=n.db,a=i.getConfig(),{rowHeight:o,paddingY:l,bitWidth:u,bitsPerRow:h}=a,f=i.getPacket(),d=i.getDiagramTitle(),p=o+l,m=p*(f.length+1)-(d?0:o),g=u*h+2,y=Bo(e);y.attr("viewbox",`0 0 ${g} ${m}`),xr(y,m,g,a.useMaxWidth);for(let[v,x]of f.entries())MKe(y,x,v,a);y.append("text").text(d).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),MKe=s((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:l,showBits:u})=>{let h=t.append("g"),f=r*(n+a)+a;for(let d of e){let p=d.start%l*o+1,m=(d.end-d.start+1)*o-i;if(h.append("rect").attr("x",p).attr("y",f).attr("width",m).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",f+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!u)continue;let g=d.end===d.start,y=f-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(d.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),Ame={draw:RKe}});var IKe,Dme,Rme=_(()=>{"use strict";pr();IKe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},Dme=s(({packet:t}={})=>{let e=ms(IKe,t);return` + .packetByte { + font-size: ${e.byteFontSize}; + } + .packetByte.start { + fill: ${e.startByteColor}; + } + .packetByte.end { + fill: ${e.endByteColor}; + } + .packetLabel { + fill: ${e.labelColor}; + font-size: ${e.labelFontSize}; + } + .packetTitle { + fill: ${e.titleColor}; + font-size: ${e.titleFontSize}; + } + .packetBlock { + stroke: ${e.blockStrokeColor}; + stroke-width: ${e.blockStrokeWidth}; + fill: ${e.blockFillColor}; + } + `},"styles")});var Mme={};ur(Mme,{diagram:()=>NKe});var NKe,Ime=_(()=>{"use strict";YP();_me();Lme();Rme();NKe={parser:Sme,db:Tf,renderer:Ame,styles:Dme}});var XP,Pme,Bme=_(()=>{"use strict";XP=function(){var t=s(function(k,A,w,T){for(w=w||{},T=k.length;T--;w[k[T]]=A);return w},"o"),e=[1,7],r=[1,13],n=[1,14],i=[1,15],a=[1,19],o=[1,16],l=[1,17],u=[1,18],h=[8,30],f=[8,21,28,29,30,31,32,40,44,47],d=[1,23],p=[1,24],m=[8,15,16,21,28,29,30,31,32,40,44,47],g=[8,15,16,21,27,28,29,30,31,32,40,44,47],y=[1,49],v={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:s(function(A,w,T,C,E,S,R){var D=S.length-1;switch(E){case 4:C.getLogger().debug("Rule: separator (NL) ");break;case 5:C.getLogger().debug("Rule: separator (Space) ");break;case 6:C.getLogger().debug("Rule: separator (EOF) ");break;case 7:C.getLogger().debug("Rule: hierarchy: ",S[D-1]),C.setHierarchy(S[D-1]);break;case 8:C.getLogger().debug("Stop NL ");break;case 9:C.getLogger().debug("Stop EOF ");break;case 10:C.getLogger().debug("Stop NL2 ");break;case 11:C.getLogger().debug("Stop EOF2 ");break;case 12:C.getLogger().debug("Rule: statement: ",S[D]),typeof S[D].length=="number"?this.$=S[D]:this.$=[S[D]];break;case 13:C.getLogger().debug("Rule: statement #2: ",S[D-1]),this.$=[S[D-1]].concat(S[D]);break;case 14:C.getLogger().debug("Rule: link: ",S[D],A),this.$={edgeTypeStr:S[D],label:""};break;case 15:C.getLogger().debug("Rule: LABEL link: ",S[D-3],S[D-1],S[D]),this.$={edgeTypeStr:S[D],label:S[D-1]};break;case 18:let L=parseInt(S[D]),P=C.generateId();this.$={id:P,type:"space",label:"",width:L,children:[]};break;case 23:C.getLogger().debug("Rule: (nodeStatement link node) ",S[D-2],S[D-1],S[D]," typestr: ",S[D-1].edgeTypeStr);let M=C.edgeStrToEdgeData(S[D-1].edgeTypeStr);this.$=[{id:S[D-2].id,label:S[D-2].label,type:S[D-2].type,directions:S[D-2].directions},{id:S[D-2].id+"-"+S[D].id,start:S[D-2].id,end:S[D].id,label:S[D-1].label,type:"edge",directions:S[D].directions,arrowTypeEnd:M,arrowTypeStart:"arrow_open"},{id:S[D].id,label:S[D].label,type:C.typeStr2Type(S[D].typeStr),directions:S[D].directions}];break;case 24:C.getLogger().debug("Rule: nodeStatement (abc88 node size) ",S[D-1],S[D]),this.$={id:S[D-1].id,label:S[D-1].label,type:C.typeStr2Type(S[D-1].typeStr),directions:S[D-1].directions,widthInColumns:parseInt(S[D],10)};break;case 25:C.getLogger().debug("Rule: nodeStatement (node) ",S[D]),this.$={id:S[D].id,label:S[D].label,type:C.typeStr2Type(S[D].typeStr),directions:S[D].directions,widthInColumns:1};break;case 26:C.getLogger().debug("APA123",this?this:"na"),C.getLogger().debug("COLUMNS: ",S[D]),this.$={type:"column-setting",columns:S[D]==="auto"?-1:parseInt(S[D])};break;case 27:C.getLogger().debug("Rule: id-block statement : ",S[D-2],S[D-1]);let F=C.generateId();this.$={...S[D-2],type:"composite",children:S[D-1]};break;case 28:C.getLogger().debug("Rule: blockStatement : ",S[D-2],S[D-1],S[D]);let I=C.generateId();this.$={id:I,type:"composite",label:"",children:S[D-1]};break;case 29:C.getLogger().debug("Rule: node (NODE_ID separator): ",S[D]),this.$={id:S[D]};break;case 30:C.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",S[D-1],S[D]),this.$={id:S[D-1],label:S[D].label,typeStr:S[D].typeStr,directions:S[D].directions};break;case 31:C.getLogger().debug("Rule: dirList: ",S[D]),this.$=[S[D]];break;case 32:C.getLogger().debug("Rule: dirList: ",S[D-1],S[D]),this.$=[S[D-1]].concat(S[D]);break;case 33:C.getLogger().debug("Rule: nodeShapeNLabel: ",S[D-2],S[D-1],S[D]),this.$={typeStr:S[D-2]+S[D],label:S[D-1]};break;case 34:C.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",S[D-3],S[D-2]," #3:",S[D-1],S[D]),this.$={typeStr:S[D-3]+S[D],label:S[D-2],directions:S[D-1]};break;case 35:case 36:this.$={type:"classDef",id:S[D-1].trim(),css:S[D].trim()};break;case 37:this.$={type:"applyClass",id:S[D-1].trim(),styleClass:S[D].trim()};break;case 38:this.$={type:"applyStyles",id:S[D-1].trim(),stylesStr:S[D].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:o,44:l,47:u},{8:[1,20]},t(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:e,28:r,29:n,31:i,32:a,40:o,44:l,47:u}),t(f,[2,16],{14:22,15:d,16:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,22]),t(m,[2,25],{27:[1,25]}),t(f,[2,26]),{19:26,26:12,32:a},{11:27,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:o,44:l,47:u},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},t(g,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},t(h,[2,13]),{26:35,32:a},{32:[2,14]},{17:[1,36]},t(m,[2,24]),{11:37,13:4,14:22,15:d,16:p,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:o,44:l,47:u},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(m,[2,23]),{18:[1,45]},{30:[1,46]},t(f,[2,28]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{37:[1,47]},{34:48,35:y},{15:[1,50]},t(f,[2,27]),t(g,[2,33]),{39:[1,51]},{34:52,35:y,39:[2,31]},{32:[2,15]},t(g,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:s(function(A,w){if(w.recoverable)this.trace(A);else{var T=new Error(A);throw T.hash=w,T}},"parseError"),parse:s(function(A){var w=this,T=[0],C=[],E=[null],S=[],R=this.table,D="",L=0,P=0,M=0,F=2,I=1,O=S.slice.call(arguments,1),z=Object.create(this.lexer),N={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(N.yy[U]=this.yy[U]);z.setInput(A,N.yy),N.yy.lexer=z,N.yy.parser=this,typeof z.yylloc>"u"&&(z.yylloc={});var $=z.yylloc;S.push($);var W=z.options&&z.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(oe){T.length=T.length-2*oe,E.length=E.length-oe,S.length=S.length-oe}s(ee,"popStack");function te(){var oe;return oe=C.pop()||z.lex()||I,typeof oe!="number"&&(oe instanceof Array&&(C=oe,oe=C.pop()),oe=w.symbols_[oe]||oe),oe}s(te,"lex");for(var ce,Z,fe,ne,H,Q,K={},re,ie,ye,j;;){if(fe=T[T.length-1],this.defaultActions[fe]?ne=this.defaultActions[fe]:((ce===null||typeof ce>"u")&&(ce=te()),ne=R[fe]&&R[fe][ce]),typeof ne>"u"||!ne.length||!ne[0]){var De="";j=[];for(re in R[fe])this.terminals_[re]&&re>F&&j.push("'"+this.terminals_[re]+"'");z.showPosition?De="Parse error on line "+(L+1)+`: +`+z.showPosition()+` +Expecting `+j.join(", ")+", got '"+(this.terminals_[ce]||ce)+"'":De="Parse error on line "+(L+1)+": Unexpected "+(ce==I?"end of input":"'"+(this.terminals_[ce]||ce)+"'"),this.parseError(De,{text:z.match,token:this.terminals_[ce]||ce,line:z.yylineno,loc:$,expected:j})}if(ne[0]instanceof Array&&ne.length>1)throw new Error("Parse Error: multiple actions possible at state: "+fe+", token: "+ce);switch(ne[0]){case 1:T.push(ce),E.push(z.yytext),S.push(z.yylloc),T.push(ne[1]),ce=null,Z?(ce=Z,Z=null):(P=z.yyleng,D=z.yytext,L=z.yylineno,$=z.yylloc,M>0&&M--);break;case 2:if(ie=this.productions_[ne[1]][1],K.$=E[E.length-ie],K._$={first_line:S[S.length-(ie||1)].first_line,last_line:S[S.length-1].last_line,first_column:S[S.length-(ie||1)].first_column,last_column:S[S.length-1].last_column},W&&(K._$.range=[S[S.length-(ie||1)].range[0],S[S.length-1].range[1]]),Q=this.performAction.apply(K,[D,P,L,N.yy,ne[1],E,S].concat(O)),typeof Q<"u")return Q;ie&&(T=T.slice(0,-1*ie*2),E=E.slice(0,-1*ie),S=S.slice(0,-1*ie)),T.push(this.productions_[ne[1]][0]),E.push(K.$),S.push(K._$),ye=R[T[T.length-2]][T[T.length-1]],T.push(ye);break;case 3:return!0}}return!0},"parse")},x=function(){var k={EOF:1,parseError:s(function(w,T){if(this.yy.parser)this.yy.parser.parseError(w,T);else throw new Error(w)},"parseError"),setInput:s(function(A,w){return this.yy=w||this.yy||{},this._input=A,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var A=this._input[0];this.yytext+=A,this.yyleng++,this.offset++,this.match+=A,this.matched+=A;var w=A.match(/(?:\r\n?|\n).*/g);return w?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),A},"input"),unput:s(function(A){var w=A.length,T=A.split(/(?:\r\n?|\n)/g);this._input=A+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;var C=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),T.length-1&&(this.yylineno-=T.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:T?(T.length===C.length?this.yylloc.first_column:0)+C[C.length-T.length].length-T[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(A){this.unput(this.match.slice(A))},"less"),pastInput:s(function(){var A=this.matched.substr(0,this.matched.length-this.match.length);return(A.length>20?"...":"")+A.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var A=this.match;return A.length<20&&(A+=this._input.substr(0,20-A.length)),(A.substr(0,20)+(A.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var A=this.pastInput(),w=new Array(A.length+1).join("-");return A+this.upcomingInput()+` +`+w+"^"},"showPosition"),test_match:s(function(A,w){var T,C,E;if(this.options.backtrack_lexer&&(E={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(E.yylloc.range=this.yylloc.range.slice(0))),C=A[0].match(/(?:\r\n?|\n).*/g),C&&(this.yylineno+=C.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:C?C[C.length-1].length-C[C.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+A[0].length},this.yytext+=A[0],this.match+=A[0],this.matches=A,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(A[0].length),this.matched+=A[0],T=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),T)return T;if(this._backtrack){for(var S in E)this[S]=E[S];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var A,w,T,C;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),S=0;Sw[0].length)){if(w=T,C=S,this.options.backtrack_lexer){if(A=this.test_match(T,E[S]),A!==!1)return A;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(A=this.test_match(w,E[C]),A!==!1?A:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var w=this.next();return w||this.lex()},"lex"),begin:s(function(w){this.conditionStack.push(w)},"begin"),popState:s(function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:"INITIAL"},"topState"),pushState:s(function(w){this.begin(w)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(w,T,C,E){var S=E;switch(C){case 0:return 10;case 1:return w.getLogger().debug("Found space-block"),31;break;case 2:return w.getLogger().debug("Found nl-block"),31;break;case 3:return w.getLogger().debug("Found space-block"),29;break;case 4:w.getLogger().debug(".",T.yytext);break;case 5:w.getLogger().debug("_",T.yytext);break;case 6:return 5;case 7:return T.yytext=-1,28;break;case 8:return T.yytext=T.yytext.replace(/columns\s+/,""),w.getLogger().debug("COLUMNS (LEX)",T.yytext),28;break;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:w.getLogger().debug("LEX: POPPING STR:",T.yytext),this.popState();break;case 14:return w.getLogger().debug("LEX: STR end:",T.yytext),"STR";break;case 15:return T.yytext=T.yytext.replace(/space\:/,""),w.getLogger().debug("SPACE NUM (LEX)",T.yytext),21;break;case 16:return T.yytext="1",w.getLogger().debug("COLUMNS (LEX)",T.yytext),21;break;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;break;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 22:return this.popState(),this.pushState("CLASSDEFID"),41;break;case 23:return this.popState(),42;break;case 24:return this.pushState("CLASS"),44;break;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;break;case 26:return this.popState(),46;break;case 27:return this.pushState("STYLE_STMNT"),47;break;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;break;case 29:return this.popState(),49;break;case 30:return this.pushState("acc_title"),"acc_title";break;case 31:return this.popState(),"acc_title_value";break;case 32:return this.pushState("acc_descr"),"acc_descr";break;case 33:return this.popState(),"acc_descr_value";break;case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 40:return this.popState(),w.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 41:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 43:return this.popState(),w.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 44:return this.popState(),w.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 45:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 46:return this.popState(),w.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 47:return this.popState(),w.getLogger().debug("Lex: ("),"NODE_DEND";break;case 48:return this.popState(),w.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 49:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 51:return this.popState(),w.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 52:return this.popState(),w.getLogger().debug("Lex: )"),"NODE_DEND";break;case 53:return this.popState(),w.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 54:return this.popState(),w.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 55:return w.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;break;case 56:return w.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;break;case 57:return w.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;break;case 58:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 59:return w.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;break;case 60:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 61:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 62:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 63:return w.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;break;case 64:return w.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;break;case 65:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 66:return this.pushState("NODE"),36;break;case 67:return this.pushState("NODE"),36;break;case 68:return this.pushState("NODE"),36;break;case 69:return this.pushState("NODE"),36;break;case 70:return this.pushState("NODE"),36;break;case 71:return this.pushState("NODE"),36;break;case 72:return this.pushState("NODE"),36;break;case 73:return w.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;break;case 74:return this.pushState("BLOCK_ARROW"),w.getLogger().debug("LEX ARR START"),38;break;case 75:return w.getLogger().debug("Lex: NODE_ID",T.yytext),32;break;case 76:return w.getLogger().debug("Lex: EOF",T.yytext),8;break;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:w.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:w.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return w.getLogger().debug("LEX: NODE_DESCR:",T.yytext),"NODE_DESCR";break;case 84:w.getLogger().debug("LEX POPPING"),this.popState();break;case 85:w.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return T.yytext=T.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (right): dir:",T.yytext),"DIR";break;case 87:return T.yytext=T.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (left):",T.yytext),"DIR";break;case 88:return T.yytext=T.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (x):",T.yytext),"DIR";break;case 89:return T.yytext=T.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (y):",T.yytext),"DIR";break;case 90:return T.yytext=T.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (up):",T.yytext),"DIR";break;case 91:return T.yytext=T.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (down):",T.yytext),"DIR";break;case 92:return T.yytext="]>",w.getLogger().debug("Lex (ARROW_DIR end):",T.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 93:return w.getLogger().debug("Lex: LINK","#"+T.yytext+"#"),15;break;case 94:return w.getLogger().debug("Lex: LINK",T.yytext),15;break;case 95:return w.getLogger().debug("Lex: LINK",T.yytext),15;break;case 96:return w.getLogger().debug("Lex: LINK",T.yytext),15;break;case 97:return w.getLogger().debug("Lex: START_LINK",T.yytext),this.pushState("LLABEL"),16;break;case 98:return w.getLogger().debug("Lex: START_LINK",T.yytext),this.pushState("LLABEL"),16;break;case 99:return w.getLogger().debug("Lex: START_LINK",T.yytext),this.pushState("LLABEL"),16;break;case 100:this.pushState("md_string");break;case 101:return w.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 102:return this.popState(),w.getLogger().debug("Lex: LINK","#"+T.yytext+"#"),15;break;case 103:return this.popState(),w.getLogger().debug("Lex: LINK",T.yytext),15;break;case 104:return this.popState(),w.getLogger().debug("Lex: LINK",T.yytext),15;break;case 105:return w.getLogger().debug("Lex: COLON",T.yytext),T.yytext=T.yytext.slice(1),27;break}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return k}();v.lexer=x;function b(){this.yy={}}return s(b,"Parser"),b.prototype=v,v.Parser=b,new b}();XP.parser=XP;Pme=XP});function qKe(t){switch(V.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return V.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function WKe(t){switch(V.debug("typeStr2Type",t),t){case"==":return"thick";default:return"normal"}}function HKe(t){switch(t.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}var Dl,KP,jP,Fme,zme,BKe,Gme,FKe,A7,zKe,$Ke,GKe,VKe,Vme,QP,jx,UKe,$me,YKe,XKe,jKe,KKe,QKe,ZKe,JKe,eQe,tQe,rQe,nQe,Ume,qme=_(()=>{"use strict";S9();zs();gt();it();Qt();Ci();Dl=new Map,KP=[],jP=new Map,Fme="color",zme="fill",BKe="bgFill",Gme=",",FKe=le(),A7=new Map,zKe=s(t=>$e.sanitizeText(t,FKe),"sanitizeText"),$Ke=s(function(t,e=""){let r=A7.get(t);r||(r={id:t,styles:[],textStyles:[]},A7.set(t,r)),e?.split(Gme).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(Fme).exec(n)){let o=i.replace(zme,BKe).replace(Fme,zme);r.textStyles.push(o)}r.styles.push(i)})},"addStyleClass"),GKe=s(function(t,e=""){let r=Dl.get(t);e!=null&&(r.styles=e.split(Gme))},"addStyle2Node"),VKe=s(function(t,e){t.split(",").forEach(function(r){let n=Dl.get(r);if(n===void 0){let i=r.trim();n={id:i,type:"na",children:[]},Dl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),Vme=s((t,e)=>{let r=t.flat(),n=[];for(let i of r){if(i.label&&(i.label=zKe(i.label)),i.type==="classDef"){$Ke(i.id,i.css);continue}if(i.type==="applyClass"){VKe(i.id,i?.styleClass??"");continue}if(i.type==="applyStyles"){i?.stylesStr&&GKe(i.id,i?.stylesStr);continue}if(i.type==="column-setting")e.columns=i.columns??-1;else if(i.type==="edge"){let a=(jP.get(i.id)??0)+1;jP.set(i.id,a),i.id=a+"-"+i.id,KP.push(i)}else{i.label||(i.type==="composite"?i.label="":i.label=i.id);let a=Dl.get(i.id);if(a===void 0?Dl.set(i.id,i):(i.type!=="na"&&(a.type=i.type),i.label!==i.id&&(a.label=i.label)),i.children&&Vme(i.children,i),i.type==="space"){let o=i.width??1;for(let l=0;l{V.debug("Clear called"),br(),jx={id:"root",type:"composite",children:[],columns:-1},Dl=new Map([["root",jx]]),QP=[],A7=new Map,KP=[],jP=new Map},"clear");s(qKe,"typeStr2Type");s(WKe,"edgeTypeStr2Type");s(HKe,"edgeStrToEdgeData");$me=0,YKe=s(()=>($me++,"id-"+Math.random().toString(36).substr(2,12)+"-"+$me),"generateId"),XKe=s(t=>{jx.children=t,Vme(t,jx),QP=jx.children},"setHierarchy"),jKe=s(t=>{let e=Dl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),KKe=s(()=>[...Dl.values()],"getBlocksFlat"),QKe=s(()=>QP||[],"getBlocks"),ZKe=s(()=>KP,"getEdges"),JKe=s(t=>Dl.get(t),"getBlock"),eQe=s(t=>{Dl.set(t.id,t)},"setBlock"),tQe=s(()=>console,"getLogger"),rQe=s(function(){return A7},"getClasses"),nQe={getConfig:s(()=>_r().block,"getConfig"),typeStr2Type:qKe,edgeTypeStr2Type:WKe,edgeStrToEdgeData:HKe,getLogger:tQe,getBlocksFlat:KKe,getBlocks:QKe,getEdges:ZKe,setHierarchy:XKe,getBlock:JKe,setBlock:eQe,getColumns:jKe,getClasses:rQe,clear:UKe,generateId:YKe},Ume=nQe});var L7,iQe,Wme,Hme=_(()=>{"use strict";Ho();L7=s((t,e)=>{let r=D1,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Fs(n,i,a,e)},"fade"),iQe=s(t=>`.label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor||t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span,p { + color: ${t.titleColor}; + } + + + + .label text,span,p { + fill: ${t.nodeTextColor||t.textColor}; + color: ${t.nodeTextColor||t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${L7(t.edgeLabelBackground,.5)}; + // background-color: + } + + .node .cluster { + // fill: ${L7(t.mainBkg,.5)}; + fill: ${L7(t.clusterBkg,.5)}; + stroke: ${L7(t.clusterBorder,.2)}; + box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span,p { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`,"getStyles"),Wme=iQe});function aQe(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};let r=e%t,n=Math.floor(e/t);return{px:r,py:n}}function ZP(t,e,r=0,n=0){V.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"sieblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(let m of t.children)ZP(m,e);let o=sQe(t);i=o.width,a=o.height,V.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(let m of t.children)m.size&&(V.debug(`abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`),m.size.width=i*(m.widthInColumns??1)+li*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,V.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));for(let m of t.children)ZP(m,e,i,a);let l=t.columns??-1,u=0;for(let m of t.children)u+=m.widthInColumns??1;let h=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(m>0){let g=(d-m*li-li)/m;V.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,g);for(let y of t.children)y.size&&(y.size.width=g)}}t.size={width:d,height:p,x:0,y:0}}V.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function Yme(t,e){V.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let r=t.columns??-1;if(V.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){let n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*li;V.debug("widthOfChildren 88",i,"posX");let a=0;V.debug("abc91 block?.size?.x",t.id,t?.size?.x);let o=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-li,l=0;for(let u of t.children){let h=t;if(!u.size)continue;let{width:f,height:d}=u.size,{px:p,py:m}=aQe(r,a);if(m!=l&&(l=m,o=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-li,V.debug("New row in layout for block",t.id," and child ",u.id,l)),V.debug(`abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${li}`),h.size){let g=f/2;u.size.x=o+li+g,V.debug(`abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${o} new startingPosX${u.size.x} ${g} padding=${li} width=${f} halfWidth=${g} => x:${u.size.x} y:${u.size.y} ${u.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(u?.widthInColumns??1)/2}`),o=u.size.x+g,u.size.y=h.size.y-h.size.height/2+m*(d+li)+d/2+li,V.debug(`abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${o}${li}${g}=>x:${u.size.x}y:${u.size.y}${u.widthInColumns}(width * (child?.w || 1)) / 2${f*(u?.widthInColumns??1)/2}`)}u.children&&Yme(u,e),a+=u?.widthInColumns??1,V.debug("abc88 columnsPos",u,a)}}V.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function Xme(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){let{x:a,y:o,width:l,height:u}=t.size;a-l/2n&&(n=a+l/2),o+u/2>i&&(i=o+u/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=Xme(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}function jme(t){let e=t.getBlock("root");if(!e)return;ZP(e,t,0,0),Yme(e,t),V.debug("getBlocks",JSON.stringify(e,null,2));let{minX:r,minY:n,maxX:i,maxY:a}=Xme(e),o=a-n,l=i-r;return{x:r,y:n,width:l,height:o}}var li,sQe,Kme=_(()=>{"use strict";it();gt();li=le()?.block?.padding??8;s(aQe,"calculateBlockPosition");sQe=s(t=>{let e=0,r=0;for(let n of t.children){let{width:i,height:a,x:o,y:l}=n.size??{width:0,height:0,x:0,y:0};V.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",o,"y:",l,n.type),n.type!=="space"&&(i>e&&(e=i/(t.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");s(ZP,"setBlockSizes");s(Yme,"layoutBlocks");s(Xme,"findBounds");s(jme,"layout")});function Qme(t,e,r=!1){let n=t,i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,o="",l;switch(n.type){case"round":a=5,o="rect";break;case"composite":a=0,o="composite",l=0;break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"block_arrow":o="block_arrow";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"rect_left_inv_arrow":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}let u=Hp(n?.styles??[]),h=n.label,f=n.size??{width:0,height:0,x:0,y:0};return{labelStyle:u.labelStyle,shape:o,labelText:h,rx:a,ry:a,class:i,style:u.style,id:n.id,directions:n.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:r,intersect:void 0,type:n.type,padding:l??_r()?.block?.padding??0}}async function oQe(t,e,r){let n=Qme(e,r,!1);if(n.type==="group")return;let i=await Zp(t,n),a=i.node().getBBox(),o=r.getBlock(n.id);o.size={width:a.width,height:a.height,x:0,y:0,node:i},r.setBlock(o),i.remove()}async function lQe(t,e,r){let n=Qme(e,r,!0);r.getBlock(n.id).type!=="space"&&(await Zp(t,n),e.intersect=n?.intersect,nv(n))}async function JP(t,e,r,n){for(let i of e)await n(t,i,r),i.children&&await JP(t,i.children,r,n)}async function Zme(t,e,r){await JP(t,e,r,oQe)}async function Jme(t,e,r){await JP(t,e,r,lQe)}async function ege(t,e,r,n,i){let a=new ir({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let o of r)o.size&&a.setNode(o.id,{width:o.size.width,height:o.size.height,intersect:o.intersect});for(let o of e)if(o.start&&o.end){let l=n.getBlock(o.start),u=n.getBlock(o.end);if(l?.size&&u?.size){let h=l.size,f=u.size,d=[{x:h.x,y:h.y},{x:h.x+(f.x-h.x)/2,y:h.y+(f.y-h.y)/2},{x:f.x,y:f.y}];aT(t,{v:o.start,w:o.end,name:o.id},{...o,arrowTypeEnd:o.arrowTypeEnd,arrowTypeStart:o.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),o.label&&(await nT(t,{...o,label:o.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:o.arrowTypeEnd,arrowTypeStart:o.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),iT({...o,x:d[1].x,y:d[1].y},{originalPath:d}))}}}var tge=_(()=>{"use strict";la();zs();zN();r5();pr();s(Qme,"getNodeFromBlock");s(oQe,"calculateBlockSize");s(lQe,"insertBlockPositioned");s(JP,"performOperations");s(Zme,"calculateBlockSizes");s(Jme,"insertBlocks");s(ege,"insertEdges")});var cQe,uQe,rge,nge=_(()=>{"use strict";Xt();zs();FN();it();Un();Kme();tge();cQe=s(function(t,e){return e.db.getClasses()},"getClasses"),uQe=s(async function(t,e,r,n){let{securityLevel:i,block:a}=_r(),o=n.db,l;i==="sandbox"&&(l=Me("#i"+e));let u=i==="sandbox"?Me(l.nodes()[0].contentDocument.body):Me("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):Me(`[id="${e}"]`);Zw(h,["point","circle","cross"],n.type,e);let d=o.getBlocks(),p=o.getBlocksFlat(),m=o.getEdges(),g=h.insert("g").attr("class","block");await Zme(g,d,o);let y=jme(o);if(await Jme(g,d,o),await ege(g,m,p,o,e),y){let v=y,x=Math.max(1,Math.round(.125*(v.width/v.height))),b=v.height+x+10,k=v.width+10,{useMaxWidth:A}=a;xr(h,b,k,!!A),V.debug("Here Bounds",y,v),h.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),rge={draw:uQe,getClasses:cQe}});var ige={};ur(ige,{diagram:()=>hQe});var hQe,age=_(()=>{"use strict";Bme();qme();Hme();nge();hQe={parser:Pme,db:Ume,renderer:rge,styles:Wme}});var bet={};ur(bet,{default:()=>xet});Y7();Mf();var dY="c4",Ywe=s(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),Xwe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(fY(),hY));return{id:dY,diagram:t}},"loader"),jwe={id:dY,detector:Ywe,loader:Xwe},pY=jwe;var _te="flowchart",iDe=s((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),aDe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Nk(),Ik));return{id:_te,diagram:t}},"loader"),sDe={id:_te,detector:iDe,loader:aDe},Ate=sDe;var Lte="flowchart-v2",oDe=s((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t),"detector"),lDe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Nk(),Ik));return{id:Lte,diagram:t}},"loader"),cDe={id:Lte,detector:oDe,loader:lDe},Dte=cDe;var are="er",FDe=s(t=>/^\s*erDiagram/.test(t),"detector"),zDe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(ire(),nre));return{id:are,diagram:t}},"loader"),$De={id:are,detector:FDe,loader:zDe},sre=$De;var hoe="gitGraph",sOe=s(t=>/^\s*gitGraph/.test(t),"detector"),oOe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(uoe(),coe));return{id:hoe,diagram:t}},"loader"),lOe={id:hoe,detector:sOe,loader:oOe},foe=lOe;var Voe="gantt",jOe=s(t=>/^\s*gantt/.test(t),"detector"),KOe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Goe(),$oe));return{id:Voe,diagram:t}},"loader"),QOe={id:Voe,detector:jOe,loader:KOe},Uoe=QOe;var Zoe="info",nPe=s(t=>/^\s*info/.test(t),"detector"),iPe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Qoe(),Koe));return{id:Zoe,diagram:t}},"loader"),Joe={id:Zoe,detector:nPe,loader:iPe};var cle="pie",yPe=s(t=>/^\s*pie/.test(t),"detector"),vPe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(lle(),ole));return{id:cle,diagram:t}},"loader"),ule={id:cle,detector:yPe,loader:vPe};var Tle="quadrantChart",PPe=s(t=>/^\s*quadrantChart/.test(t),"detector"),BPe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(wle(),kle));return{id:Tle,diagram:t}},"loader"),FPe={id:Tle,detector:PPe,loader:BPe},Ele=FPe;var Qle="xychart",eBe=s(t=>/^\s*xychart-beta/.test(t),"detector"),tBe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Kle(),jle));return{id:Qle,diagram:t}},"loader"),rBe={id:Qle,detector:eBe,loader:tBe},Zle=rBe;var pce="requirement",DBe=s(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),RBe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(dce(),fce));return{id:pce,diagram:t}},"loader"),MBe={id:pce,detector:DBe,loader:RBe},mce=MBe;var Vce="sequence",OFe=s(t=>/^\s*sequenceDiagram/.test(t),"detector"),PFe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Gce(),$ce));return{id:Vce,diagram:t}},"loader"),BFe={id:Vce,detector:OFe,loader:PFe},Uce=BFe;var iue="class",yze=s((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),vze=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(nue(),rue));return{id:iue,diagram:t}},"loader"),xze={id:iue,detector:yze,loader:vze},aue=xze;var Iue="classDiagram",Hze=s((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),Yze=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Mue(),Rue));return{id:Iue,diagram:t}},"loader"),Xze={id:Iue,detector:Hze,loader:Yze},Nue=Xze;var Che="state",U$e=s((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),q$e=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Ehe(),The));return{id:Che,diagram:t}},"loader"),W$e={id:Che,detector:U$e,loader:q$e},She=W$e;var Lhe="stateDiagram",Y$e=s((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),X$e=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Ahe(),_he));return{id:Lhe,diagram:t}},"loader"),j$e={id:Lhe,detector:Y$e,loader:X$e},Dhe=j$e;var Hhe="journey",gGe=s(t=>/^\s*journey/.test(t),"detector"),yGe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Whe(),qhe));return{id:Hhe,diagram:t}},"loader"),vGe={id:Hhe,detector:gGe,loader:yGe},Yhe=vGe;it();p0();Un();var xGe=s((t,e,r)=>{V.debug(`rendering svg for syntax error +`);let n=Bo(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),xr(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),kO={draw:xGe},Xhe=kO;var bGe={db:{},renderer:kO,parser:{parse:s(()=>{},"parse")}},jhe=bGe;var Khe="flowchart-elk",kGe=s((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),wGe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Nk(),Ik));return{id:Khe,diagram:t}},"loader"),TGe={id:Khe,detector:kGe,loader:wGe},Qhe=TGe;var Tfe="timeline",VGe=s(t=>/^\s*timeline/.test(t),"detector"),UGe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(wfe(),kfe));return{id:Tfe,diagram:t}},"loader"),qGe={id:Tfe,detector:VGe,loader:UGe},Efe=qGe;var Upe="mindmap",Kje=s(t=>/^\s*mindmap/.test(t),"detector"),Qje=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Vpe(),Gpe));return{id:Upe,diagram:t}},"loader"),Zje={id:Upe,detector:Kje,loader:Qje},qpe=Zje;var Tme="sankey",bKe=s(t=>/^\s*sankey-beta/.test(t),"detector"),kKe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(wme(),kme));return{id:Tme,diagram:t}},"loader"),wKe={id:Tme,detector:bKe,loader:kKe},Eme=wKe;var Nme="packet",OKe=s(t=>/^\s*packet-beta/.test(t),"detector"),PKe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Ime(),Mme));return{id:Nme,diagram:t}},"loader"),Ome={id:Nme,detector:OKe,loader:PKe};var sge="block",fQe=s(t=>/^\s*block-beta/.test(t),"detector"),dQe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(age(),ige));return{id:sge,diagram:t}},"loader"),pQe={id:sge,detector:fQe,loader:dQe},oge=pQe;Mf();gt();var lge=!1,o1=s(()=>{lge||(lge=!0,Gf("error",jhe,t=>t.toLowerCase().trim()==="error"),Gf("---",{db:{clear:s(()=>{},"clear")},styles:{},renderer:{draw:s(()=>{},"draw")},parser:{parse:s(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:s(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),fb(pY,Nue,aue,sre,Uoe,Joe,ule,mce,Uce,Qhe,Dte,Ate,qpe,Efe,foe,Dhe,She,Yhe,Ele,Eme,Ome,Zle,oge))},"addDiagrams");it();Mf();gt();var cge=s(async()=>{V.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(Rf).map(async([r,{detector:n,loader:i}])=>{if(i)try{W1(r)}catch{try{let{diagram:a,id:o}=await i();Gf(o,a,n)}catch(a){throw V.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Rf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){V.error(`Failed to load ${e.length} external diagrams`);for(let r of e)V.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams");it();Xt();var D7="comm",R7="rule",M7="decl";var uge="@import";var hge="@keyframes";var fge="@layer";var eB=Math.abs,Kx=String.fromCharCode;function I7(t){return t.trim()}s(I7,"trim");function Qx(t,e,r){return t.replace(e,r)}s(Qx,"replace");function dge(t,e,r){return t.indexOf(e,r)}s(dge,"indexof");function G0(t,e){return t.charCodeAt(e)|0}s(G0,"charat");function V0(t,e,r){return t.slice(e,r)}s(V0,"substr");function Uo(t){return t.length}s(Uo,"strlen");function pge(t){return t.length}s(pge,"sizeof");function l1(t,e){return e.push(t),t}s(l1,"append");var N7=1,c1=1,mge=0,qo=0,gi=0,u1="";function O7(t,e,r,n,i,a,o,l){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:N7,column:c1,length:o,return:"",siblings:l}}s(O7,"node");function gge(){return gi}s(gge,"char");function yge(){return gi=qo>0?G0(u1,--qo):0,c1--,gi===10&&(c1=1,N7--),gi}s(yge,"prev");function Wo(){return gi=qo2||tB(gi)>3?"":" "}s(bge,"whitespace");function kge(t,e){for(;--e&&Wo()&&!(gi<48||gi>102||gi>57&&gi<65||gi>70&&gi<97););return P7(t,Zx()+(e<6&&Ef()==32&&Wo()==32))}s(kge,"escaping");function rB(t){for(;Wo();)switch(gi){case t:return qo;case 34:case 39:t!==34&&t!==39&&rB(gi);break;case 40:t===41&&rB(t);break;case 92:Wo();break}return qo}s(rB,"delimiter");function wge(t,e){for(;Wo()&&t+gi!==57;)if(t+gi===84&&Ef()===47)break;return"/*"+P7(e,qo-1)+"*"+Kx(t===47?t:Wo())}s(wge,"commenter");function Tge(t){for(;!tB(Ef());)Wo();return P7(t,qo)}s(Tge,"identifier");function Sge(t){return xge(F7("",null,null,null,[""],t=vge(t),0,[0],t))}s(Sge,"compile");function F7(t,e,r,n,i,a,o,l,u){for(var h=0,f=0,d=o,p=0,m=0,g=0,y=1,v=1,x=1,b=0,k="",A=i,w=a,T=n,C=k;v;)switch(g=b,b=Wo()){case 40:if(g!=108&&G0(C,d-1)==58){dge(C+=Qx(B7(b),"&","&\f"),"&\f",eB(h?l[h-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:C+=B7(b);break;case 9:case 10:case 13:case 32:C+=bge(g);break;case 92:C+=kge(Zx()-1,7);continue;case 47:switch(Ef()){case 42:case 47:l1(mQe(wge(Wo(),Zx()),e,r,u),u);break;default:C+="/"}break;case 123*y:l[h++]=Uo(C)*x;case 125*y:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+f:x==-1&&(C=Qx(C,/\f/g,"")),m>0&&Uo(C)-d&&l1(m>32?Cge(C+";",n,r,d-1,u):Cge(Qx(C," ","")+";",n,r,d-2,u),u);break;case 59:C+=";";default:if(l1(T=Ege(C,e,r,h,f,i,l,k,A=[],w=[],d,a),a),b===123)if(f===0)F7(C,e,T,T,A,a,d,l,w);else switch(p===99&&G0(C,3)===110?100:p){case 100:case 108:case 109:case 115:F7(t,T,T,n&&l1(Ege(t,T,T,0,0,i,l,k,i,A=[],d,w),w),i,w,d,l,n?A:w);break;default:F7(C,T,T,T,[""],w,0,l,w)}}h=f=m=0,y=x=1,k=C="",d=o;break;case 58:d=1+Uo(C),m=g;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&yge()==125)continue}switch(C+=Kx(b),b*y){case 38:x=f>0?1:(C+="\f",-1);break;case 44:l[h++]=(Uo(C)-1)*x,x=1;break;case 64:Ef()===45&&(C+=B7(Wo())),p=Ef(),f=d=Uo(k=C+=Tge(Zx())),b++;break;case 45:g===45&&Uo(C)==2&&(y=0)}}return a}s(F7,"parse");function Ege(t,e,r,n,i,a,o,l,u,h,f,d){for(var p=i-1,m=i===0?a:[""],g=pge(m),y=0,v=0,x=0;y0?m[b]+" "+k:Qx(k,/&\f/g,m[b])))&&(u[x++]=A);return O7(t,e,r,i===0?R7:l,u,h,f,d)}s(Ege,"ruleset");function mQe(t,e,r,n){return O7(t,e,r,D7,Kx(gge()),V0(t,2,-2),0,n)}s(mQe,"comment");function Cge(t,e,r,n,i){return O7(t,e,r,M7,V0(t,0,n),V0(t,n+1,-1),n,i)}s(Cge,"declaration");function z7(t,e){for(var r="",n=0;n{Age.forEach(t=>{t()}),Age=[]},"attachFunctions");it();lC();xb();var _1e=ka(yE(),1);Qt();mk();var gQe="graphics-document document";function Dge(t,e){t.attr("role",gQe),e!==""&&t.attr("aria-roledescription",e)}s(Dge,"setA11yDiagramInfo");function Rge(t,e,r,n){if(t.insert!==void 0){if(r){let i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){let i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}s(Rge,"addSVGa11yTitleDescription");var Mge=s(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");hb();function Xge(t){return typeof t>"u"||t===null}s(Xge,"isNothing");function yQe(t){return typeof t=="object"&&t!==null}s(yQe,"isObject");function vQe(t){return Array.isArray(t)?t:Xge(t)?[]:[t]}s(vQe,"toArray");function xQe(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;rl&&(a=" ... ",e=n-l+a.length),r-n>l&&(o=" ...",r=n+l-o.length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+o,pos:n-e+a.length}}s(nB,"getLine");function iB(t,e){return Fi.repeat(" ",e-t.length)+t}s(iB,"padStart");function AQe(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,o=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&o<0&&(o=n.length-2);o<0&&(o=n.length-1);var l="",u,h,f=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+f+3);for(u=1;u<=e.linesBefore&&!(o-u<0);u++)h=nB(t.buffer,n[o-u],i[o-u],t.position-(n[o]-n[o-u]),d),l=Fi.repeat(" ",e.indent)+iB((t.line-u+1).toString(),f)+" | "+h.str+` +`+l;for(h=nB(t.buffer,n[o],i[o],t.position,d),l+=Fi.repeat(" ",e.indent)+iB((t.line+1).toString(),f)+" | "+h.str+` +`,l+=Fi.repeat("-",e.indent+f+3+h.pos)+`^ +`,u=1;u<=e.linesAfter&&!(o+u>=i.length);u++)h=nB(t.buffer,n[o+u],i[o+u],t.position-(n[o]-n[o+u]),d),l+=Fi.repeat(" ",e.indent)+iB((t.line+u+1).toString(),f)+" | "+h.str+` +`;return l.replace(/\n$/,"")}s(AQe,"makeSnippet");var LQe=AQe,DQe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],RQe=["scalar","sequence","mapping"];function MQe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}s(MQe,"compileStyleAliases");function IQe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(DQe.indexOf(r)===-1)throw new Ns('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=MQe(e.styleAliases||null),RQe.indexOf(this.kind)===-1)throw new Ns('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}s(IQe,"Type$1");var Na=IQe;function Ige(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,o){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=o)}),r[i]=n}),r}s(Ige,"compileList");function NQe(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(s(n,"collectType"),e=0,r=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:s(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:s(function(t){return t.toString(10)},"decimal"),hexadecimal:s(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),tZe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function rZe(t){return!(t===null||!tZe.test(t)||t[t.length-1]==="_")}s(rZe,"resolveYamlFloat");function nZe(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}s(nZe,"constructYamlFloat");var iZe=/^[-+]?[0-9]+e/;function aZe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Fi.isNegativeZero(t))return"-0.0";return r=t.toString(10),iZe.test(r)?r.replace("e",".e"):r}s(aZe,"representYamlFloat");function sZe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Fi.isNegativeZero(t))}s(sZe,"isFloat");var oZe=new Na("tag:yaml.org,2002:float",{kind:"scalar",resolve:rZe,construct:nZe,predicate:sZe,represent:aZe,defaultStyle:"lowercase"}),Kge=zQe.extend({implicit:[UQe,YQe,eZe,oZe]}),lZe=Kge,Qge=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Zge=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function cZe(t){return t===null?!1:Qge.exec(t)!==null||Zge.exec(t)!==null}s(cZe,"resolveYamlTimestamp");function uZe(t){var e,r,n,i,a,o,l,u=0,h=null,f,d,p;if(e=Qge.exec(t),e===null&&(e=Zge.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],o=+e[5],l=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u}return e[9]&&(f=+e[10],d=+(e[11]||0),h=(f*60+d)*6e4,e[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,i,a,o,l,u)),h&&p.setTime(p.getTime()-h),p}s(uZe,"constructYamlTimestamp");function hZe(t){return t.toISOString()}s(hZe,"representYamlTimestamp");var fZe=new Na("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:cZe,construct:uZe,instanceOf:Date,represent:hZe});function dZe(t){return t==="<<"||t===null}s(dZe,"resolveYamlMerge");var pZe=new Na("tag:yaml.org,2002:merge",{kind:"scalar",resolve:dZe}),hB=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function mZe(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=hB;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}s(mZe,"resolveYamlBinary");function gZe(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=hB,o=0,l=[];for(e=0;e>16&255),l.push(o>>8&255),l.push(o&255)),o=o<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(l.push(o>>16&255),l.push(o>>8&255),l.push(o&255)):r===18?(l.push(o>>10&255),l.push(o>>2&255)):r===12&&l.push(o>>4&255),new Uint8Array(l)}s(gZe,"constructYamlBinary");function yZe(t){var e="",r=0,n,i,a=t.length,o=hB;for(n=0;n>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):i===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):i===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}s(yZe,"representYamlBinary");function vZe(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}s(vZe,"isBinary");var xZe=new Na("tag:yaml.org,2002:binary",{kind:"scalar",resolve:mZe,construct:gZe,predicate:vZe,represent:yZe}),bZe=Object.prototype.hasOwnProperty,kZe=Object.prototype.toString;function wZe(t){if(t===null)return!0;var e=[],r,n,i,a,o,l=t;for(r=0,n=l.length;r>10)+55296,(t-65536&1023)+56320)}s($Ze,"charFromCodepoint");var i1e=new Array(256),a1e=new Array(256);for(U0=0;U0<256;U0++)i1e[U0]=Pge(U0)?1:0,a1e[U0]=Pge(U0);var U0;function GZe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Jge,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}s(GZe,"State$1");function s1e(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=LQe(r),new Ns(e,r)}s(s1e,"generateError");function Lt(t,e){throw s1e(t,e)}s(Lt,"throwError");function V7(t,e){t.onWarning&&t.onWarning.call(null,s1e(t,e))}s(V7,"throwWarning");var Bge={YAML:s(function(e,r,n){var i,a,o;e.version!==null&&Lt(e,"duplication of %YAML directive"),n.length!==1&&Lt(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Lt(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),o=parseInt(i[2],10),a!==1&&Lt(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&V7(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:s(function(e,r,n){var i,a;n.length!==2&&Lt(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],r1e.test(i)||Lt(e,"ill-formed tag handle (first argument) of the TAG directive"),Sf.call(e.tagMap,i)&&Lt(e,'there is a previously declared suffix for "'+i+'" tag handle'),n1e.test(a)||Lt(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{Lt(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Cf(t,e,r,n){var i,a,o,l;if(e1&&(t.result+=Fi.repeat(` +`,e-1))}s(dB,"writeFoldedLines");function VZe(t,e,r){var n,i,a,o,l,u,h,f,d=t.kind,p=t.result,m;if(m=t.input.charCodeAt(t.position),Os(m)||d1(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=t.input.charCodeAt(t.position+1),Os(i)||r&&d1(i)))return!1;for(t.kind="scalar",t.result="",a=o=t.position,l=!1;m!==0;){if(m===58){if(i=t.input.charCodeAt(t.position+1),Os(i)||r&&d1(i))break}else if(m===35){if(n=t.input.charCodeAt(t.position-1),Os(n))break}else{if(t.position===t.lineStart&&W7(t)||r&&d1(m))break;if(Bc(m))if(u=t.line,h=t.lineStart,f=t.lineIndent,yi(t,!1,-1),t.lineIndent>=e){l=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=u,t.lineStart=h,t.lineIndent=f;break}}l&&(Cf(t,a,o,!1),dB(t,t.line-u),a=o=t.position,l=!1),q0(m)||(o=t.position+1),m=t.input.charCodeAt(++t.position)}return Cf(t,a,o,!1),t.result?!0:(t.kind=d,t.result=p,!1)}s(VZe,"readPlainScalar");function UZe(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Cf(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else Bc(r)?(Cf(t,n,i,!0),dB(t,yi(t,!1,e)),n=i=t.position):t.position===t.lineStart&&W7(t)?Lt(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);Lt(t,"unexpected end of the stream within a single quoted scalar")}s(UZe,"readSingleQuotedScalar");function qZe(t,e){var r,n,i,a,o,l;if(l=t.input.charCodeAt(t.position),l!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(l=t.input.charCodeAt(t.position))!==0;){if(l===34)return Cf(t,r,t.position,!0),t.position++,!0;if(l===92){if(Cf(t,r,t.position,!0),l=t.input.charCodeAt(++t.position),Bc(l))yi(t,!1,e);else if(l<256&&i1e[l])t.result+=a1e[l],t.position++;else if((o=FZe(l))>0){for(i=o,a=0;i>0;i--)l=t.input.charCodeAt(++t.position),(o=BZe(l))>=0?a=(a<<4)+o:Lt(t,"expected hexadecimal character");t.result+=$Ze(a),t.position++}else Lt(t,"unknown escape sequence");r=n=t.position}else Bc(l)?(Cf(t,r,n,!0),dB(t,yi(t,!1,e)),r=n=t.position):t.position===t.lineStart&&W7(t)?Lt(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}Lt(t,"unexpected end of the stream within a double quoted scalar")}s(qZe,"readDoubleQuotedScalar");function WZe(t,e){var r=!0,n,i,a,o=t.tag,l,u=t.anchor,h,f,d,p,m,g=Object.create(null),y,v,x,b;if(b=t.input.charCodeAt(t.position),b===91)f=93,m=!1,l=[];else if(b===123)f=125,m=!0,l={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=l),b=t.input.charCodeAt(++t.position);b!==0;){if(yi(t,!0,e),b=t.input.charCodeAt(t.position),b===f)return t.position++,t.tag=o,t.anchor=u,t.kind=m?"mapping":"sequence",t.result=l,!0;r?b===44&&Lt(t,"expected the node content, but found ','"):Lt(t,"missed comma between flow collection entries"),v=y=x=null,d=p=!1,b===63&&(h=t.input.charCodeAt(t.position+1),Os(h)&&(d=p=!0,t.position++,yi(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,m1(t,e,$7,!1,!0),v=t.tag,y=t.result,yi(t,!0,e),b=t.input.charCodeAt(t.position),(p||t.line===n)&&b===58&&(d=!0,b=t.input.charCodeAt(++t.position),yi(t,!0,e),m1(t,e,$7,!1,!0),x=t.result),m?p1(t,l,g,v,y,x,n,i,a):d?l.push(p1(t,null,g,v,y,x,n,i,a)):l.push(y),yi(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}Lt(t,"unexpected end of the stream within a flow collection")}s(WZe,"readFlowCollection");function HZe(t,e){var r,n,i=aB,a=!1,o=!1,l=e,u=0,h=!1,f,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)aB===i?i=d===43?Nge:IZe:Lt(t,"repeat of a chomping mode identifier");else if((f=zZe(d))>=0)f===0?Lt(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?Lt(t,"repeat of an indentation width identifier"):(l=e+f-1,o=!0);else break;if(q0(d)){do d=t.input.charCodeAt(++t.position);while(q0(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!Bc(d)&&d!==0)}for(;d!==0;){for(fB(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!o||t.lineIndentl&&(l=t.lineIndent),Bc(d)){u++;continue}if(t.lineIndente)&&u!==0)Lt(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(v&&(o=t.line,l=t.lineStart,u=t.position),m1(t,e,G7,!0,i)&&(v?g=t.result:y=t.result),v||(p1(t,d,p,m,g,y,o,l,u),m=g=y=null),yi(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)Lt(t,"bad indentation of a mapping entry");else if(t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,p=t.implicitTypes.length;d"),t.result!==null&&g.kind!==t.kind&&Lt(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Lt(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||f}s(m1,"composeNode");function QZe(t){var e=t.position,r,n,i,a=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(o=t.input.charCodeAt(t.position))!==0&&(yi(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(a=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!Os(o);)o=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&Lt(t,"directive name must not be less than one character in length");o!==0;){for(;q0(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!Bc(o));break}if(Bc(o))break;for(r=t.position;o!==0&&!Os(o);)o=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}o!==0&&fB(t),Sf.call(Bge,n)?Bge[n](t,n,i):V7(t,'unknown document directive "'+n+'"')}if(yi(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,yi(t,!0,-1)):a&&Lt(t,"directives end mark is expected"),m1(t,t.lineIndent-1,G7,!1,!0),yi(t,!0,-1),t.checkLineBreaks&&OZe.test(t.input.slice(e,t.position))&&V7(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&W7(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,yi(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=o1e(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}s(Jx,"codePointAt");function g1e(t){var e=/^\n* /;return e.test(t)}s(g1e,"needIndentIndicator");var y1e=1,cB=2,v1e=3,x1e=4,f1=5;function _Je(t,e,r,n,i,a,o,l){var u,h=0,f=null,d=!1,p=!1,m=n!==-1,g=-1,y=CJe(Jx(t,0))&&SJe(Jx(t,t.length-1));if(e||o)for(u=0;u=65536?u+=2:u++){if(h=Jx(t,u),!nb(h))return f1;y=y&&Vge(h,f,l),f=h}else{for(u=0;u=65536?u+=2:u++){if(h=Jx(t,u),h===tb)d=!0,m&&(p=p||u-g-1>n&&t[g+1]!==" ",g=u);else if(!nb(h))return f1;y=y&&Vge(h,f,l),f=h}p=p||m&&u-g-1>n&&t[g+1]!==" "}return!d&&!p?y&&!o&&!i(t)?y1e:a===rb?f1:cB:r>9&&g1e(t)?f1:o?a===rb?f1:cB:p?x1e:v1e}s(_Je,"chooseScalarStyle");function AJe(t,e,r,n,i){t.dump=function(){if(e.length===0)return t.quotingType===rb?'""':"''";if(!t.noCompatMode&&(vJe.indexOf(e)!==-1||xJe.test(e)))return t.quotingType===rb?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),o=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),l=n||t.flowLevel>-1&&r>=t.flowLevel;function u(h){return EJe(t,h)}switch(s(u,"testAmbiguity"),_Je(e,l,t.indent,o,u,t.quotingType,t.forceQuotes&&!n,i)){case y1e:return e;case cB:return"'"+e.replace(/'/g,"''")+"'";case v1e:return"|"+Uge(e,t.indent)+qge($ge(e,a));case x1e:return">"+Uge(e,t.indent)+qge($ge(LJe(e,o),a));case f1:return'"'+DJe(e)+'"';default:throw new Ns("impossible error: invalid scalar style")}}()}s(AJe,"writeScalar");function Uge(t,e){var r=g1e(t)?String(e):"",n=t[t.length-1]===` +`,i=n&&(t[t.length-2]===` +`||t===` +`),a=i?"+":n?"":"-";return r+a+` +`}s(Uge,"blockHeader");function qge(t){return t[t.length-1]===` +`?t.slice(0,-1):t}s(qge,"dropEndingNewline");function LJe(t,e){for(var r=/(\n+)([^\n]*)/g,n=function(){var h=t.indexOf(` +`);return h=h!==-1?h:t.length,r.lastIndex=h,Wge(t.slice(0,h),e)}(),i=t[0]===` +`||t[0]===" ",a,o;o=r.exec(t);){var l=o[1],u=o[2];a=u[0]===" ",n+=l+(!i&&!a&&u!==""?` +`:"")+Wge(u,e),i=a}return n}s(LJe,"foldString");function Wge(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,o=0,l=0,u="";n=r.exec(t);)l=n.index,l-i>e&&(a=o>i?o:l,u+=` +`+t.slice(i,a),i=a+1),o=l;return u+=` +`,t.length-i>e&&o>i?u+=t.slice(i,o)+` +`+t.slice(o+1):u+=t.slice(i),u.slice(1)}s(Wge,"foldLine");function DJe(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=Jx(t,i),n=Oa[r],!n&&nb(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||kJe(r);return e}s(DJe,"escapeString");function RJe(t,e,r){var n="",i=t.tag,a,o,l;for(a=0,o=r.length;a"u"&&Ku(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}s(RJe,"writeFlowSequence");function Hge(t,e,r,n){var i="",a=t.tag,o,l,u;for(o=0,l=r.length;o"u"&&Ku(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=lB(t,e)),t.dump&&tb===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}s(Hge,"writeBlockSequence");function MJe(t,e,r){var n="",i=t.tag,a=Object.keys(r),o,l,u,h,f;for(o=0,l=a.length;o1024&&(f+="? "),f+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Ku(t,e,h,!1,!1)&&(f+=t.dump,n+=f));t.tag=i,t.dump="{"+n+"}"}s(MJe,"writeFlowMapping");function IJe(t,e,r,n){var i="",a=t.tag,o=Object.keys(r),l,u,h,f,d,p;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new Ns("sortKeys must be a boolean or a function");for(l=0,u=o.length;l1024,d&&(t.dump&&tb===t.dump.charCodeAt(0)?p+="?":p+="? "),p+=t.dump,d&&(p+=lB(t,e)),Ku(t,e+1,f,!0,d)&&(t.dump&&tb===t.dump.charCodeAt(0)?p+=":":p+=": ",p+=t.dump,i+=p));t.tag=a,t.dump=i||"{}"}s(IJe,"writeBlockMapping");function Yge(t,e,r){var n,i,a,o,l,u;for(i=r?t.explicitTypes:t.implicitTypes,a=0,o=i.length;a tag resolver accepts not "'+u+'" style');t.dump=n}return!0}return!1}s(Yge,"detectType");function Ku(t,e,r,n,i,a,o){t.tag=null,t.dump=r,Yge(t,r,!1)||Yge(t,r,!0);var l=c1e.call(t.dump),u=n,h;n&&(n=t.flowLevel<0||t.flowLevel>e);var f=l==="[object Object]"||l==="[object Array]",d,p;if(f&&(d=t.duplicates.indexOf(r),p=d!==-1),(t.tag!==null&&t.tag!=="?"||p||t.indent!==2&&e>0)&&(i=!1),p&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(f&&p&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),l==="[object Object]")n&&Object.keys(t.dump).length!==0?(IJe(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(MJe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!o&&e>0?Hge(t,e-1,t.dump,i):Hge(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(RJe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object String]")t.tag!=="?"&&AJe(t,t.dump,e,a,u);else{if(l==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Ns("unacceptable kind of an object to dump "+l)}t.tag!==null&&t.tag!=="?"&&(h=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?h="!"+h:h.slice(0,18)==="tag:yaml.org,2002:"?h="!!"+h.slice(18):h="!<"+h+">",t.dump=h+" "+t.dump)}return!0}s(Ku,"writeNode");function NJe(t,e){var r=[],n=[],i,a;for(uB(t,r,n),i=0,a=n.length;it.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),$Je=s(t=>{let{text:e,metadata:r}=w1e(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),GJe=s(t=>{let e=dt.detectInit(t)??{},r=dt.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:eY(t),directive:e}},"processDirectives");function gB(t){let e=zJe(t),r=$Je(e),n=GJe(r.text),i=ms(r.config,n.directive);return t=Mge(n.text),{code:t,title:r.title,config:i}}s(gB,"preprocessDiagram");pr();function T1e(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}s(T1e,"toBase64");Y0();var VJe=5e4,UJe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",qJe="sandbox",WJe="loose",HJe="http://www.w3.org/2000/svg",YJe="http://www.w3.org/1999/xlink",XJe="http://www.w3.org/1999/xhtml",jJe="100%",KJe="100%",QJe="border:0;margin:0;",ZJe="margin:0",JJe="allow-top-navigation-by-user-activation allow-popups",eet='The "iframe" tag is not supported by your browser.',tet=["foreignobject"],ret=["dominant-baseline"];function A1e(t){let e=gB(t);return I1(),CF(e.config??{}),e}s(A1e,"processAndSetConfigs");async function net(t,e){o1();try{let{code:r}=A1e(t);return{diagramType:(await L1e(r)).type}}catch(r){if(e?.suppressErrors)return!1;throw r}}s(net,"parse");var E1e=s((t,e,r=[])=>` +.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),iet=s((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` +${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` +:root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let o=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{Vt(l.styles)||o.forEach(u=>{r+=E1e(l.id,u,l.styles)}),Vt(l.textStyles)||(r+=E1e(l.id,"tspan",(l?.textStyles||[]).map(u=>u.replace("color","fill"))))})}return r},"createCssStyles"),aet=s((t,e,r,n)=>{let i=iet(t,r),a=s$(e,i,t.themeVariables);return z7(Sge(`${n}{${a}}`),_ge)},"createUserStyles"),set=s((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Ys(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),oet=s((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":KJe,n=T1e(`${t}`);return``},"putIntoIFrame"),C1e=s((t,e,r,n,i)=>{let a=t.append("div");a.attr("id",r),n&&a.attr("style",n);let o=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",HJe);return i&&o.attr("xmlns:xlink",i),o.append("g"),t},"appendDivSvgG");function S1e(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}s(S1e,"sandboxedIframe");var cet=s((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),uet=s(async function(t,e,r){o1();let n=A1e(e);e=n.code;let i=_r();V.debug(i),e.length>(i?.maxTextSize??VJe)&&(e=UJe);let a="#"+t,o="i"+t,l="#"+o,u="d"+t,h="#"+u,f=s(()=>{let P=Me(p?l:h).node();P&&"remove"in P&&P.remove()},"removeTempElements"),d=Me("body"),p=i.securityLevel===qJe,m=i.securityLevel===WJe,g=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),p){let L=S1e(Me(r),o);d=Me(L.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=Me(r);C1e(d,t,u,`font-family: ${g}`,YJe)}else{if(cet(document,t,u,o),p){let L=S1e(Me("body"),o);d=Me(L.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=Me("body");C1e(d,t,u)}let y,v;try{y=await h1.fromText(e,{title:n.title})}catch(L){if(i.suppressErrorRendering)throw f(),L;y=await h1.fromText("error"),v=L}let x=d.select(h).node(),b=y.type,k=x.firstChild,A=k.firstChild,w=y.renderer.getClasses?.(e,y),T=aet(i,b,w,a),C=document.createElement("style");C.innerHTML=T,k.insertBefore(C,A);try{await y.renderer.draw(e,t,X2,y)}catch(L){throw i.suppressErrorRendering?f():Xhe.draw(e,t,X2),L}let E=d.select(`${h} svg`),S=y.db.getAccTitle?.(),R=y.db.getAccDescription?.();fet(b,E,S,R),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",XJe);let D=d.select(h).node().innerHTML;if(V.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),D=set(D,p,hr(i.arrowMarkerAbsolute)),p){let L=d.select(h+" svg").node();D=oet(D,L)}else m||(D=_1e.default.sanitize(D,{ADD_TAGS:tet,ADD_ATTR:ret}));if(Lge(),v)throw v;return f(),{diagramType:b,svg:D,bindFunctions:y.db.bindFunctions}},"render");function het(t={}){let e=An({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),wF(e),e?.theme&&e.theme in po?e.themeVariables=po[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=po.default.getThemeVariables(e.themeVariables));let r=typeof e=="object"?dE(e):pE();E1(r.logLevel),o1()}s(het,"initialize");var L1e=s((t,e={})=>{let{code:r}=gB(t);return h1.fromText(r,e)},"getDiagramFromText");function fet(t,e,r,n){Dge(e,t),Rge(e,r,n,e.attr("id"))}s(fet,"addA11yInfo");var _f=Object.freeze({render:uet,parse:net,getDiagramFromText:L1e,initialize:het,getConfig:_r,setConfig:kb,getSiteConfig:pE,updateSiteConfig:TF,reset:s(()=>{I1()},"reset"),globalReset:s(()=>{I1(ih)},"globalReset"),defaultConfig:ih});E1(_r().logLevel);I1(_r());Rk();pr();var det=s((t,e,r)=>{V.warn(t),fA(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),D1e=s(async function(t={querySelector:".mermaid"}){try{await pet(t)}catch(e){if(fA(e)&&V.error(e.str),Qu.parseError&&Qu.parseError(e),!t.suppressErrors)throw V.error("Use the suppressErrors option to suppress these errors"),e}},"run"),pet=s(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let n=_f.getConfig();V.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");V.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(V.debug("Start On Load: "+n?.startOnLoad),_f.updateSiteConfig({startOnLoad:n?.startOnLoad}));let a=new dt.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),o,l=[];for(let u of Array.from(i)){V.info("Rendering diagram: "+u.id);if(u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${a.next()}`;o=u.innerHTML,o=lb(dt.entityDecode(o)).trim().replace(//gi,"
    ");let f=dt.detectInit(o);f&&V.debug("Detected early reinit: ",f);try{let{svg:d,bindFunctions:p}=await N1e(h,o,u);u.innerHTML=d,t&&await t(h),p&&p(u)}catch(d){det(d,l,Qu.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),R1e=s(function(t){_f.initialize(t)},"initialize"),met=s(async function(t,e,r){V.warn("mermaid.init is deprecated. Please use run instead."),t&&R1e(t);let n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await D1e(n)},"init"),get=s(async(t,{lazyLoad:e=!0}={})=>{o1(),fb(...t),e===!1&&await cge()},"registerExternalDiagrams"),M1e=s(function(){if(Qu.startOnLoad){let{startOnLoad:t}=_f.getConfig();t&&Qu.run().catch(e=>V.error("Mermaid failed to initialize",e))}},"contentLoaded");if(typeof document<"u"){window.addEventListener("load",M1e,!1)}var yet=s(function(t){Qu.parseError=t},"setParseErrorHandler"),H7=[],yB=!1,I1e=s(async()=>{if(!yB){for(yB=!0;H7.length>0;){let t=H7.shift();if(t)try{await t()}catch(e){V.error("Error executing queue",e)}}yB=!1}},"executeQueue"),vet=s(async(t,e)=>new Promise((r,n)=>{let i=s(()=>new Promise((a,o)=>{_f.parse(t,e).then(l=>{a(l),r(l)},l=>{V.error("Error parsing",l),Qu.parseError?.(l),o(l),n(l)})}),"performCall");H7.push(i),I1e().catch(n)}),"parse"),N1e=s((t,e,r)=>new Promise((n,i)=>{let a=s(()=>new Promise((o,l)=>{_f.render(t,e,r).then(u=>{o(u),n(u)},u=>{V.error("Error parsing",u),Qu.parseError?.(u),l(u),i(u)})}),"performCall");H7.push(a),I1e().catch(i)}),"render"),Qu={startOnLoad:!0,mermaidAPI:_f,parse:vet,render:N1e,init:met,run:D1e,registerExternalDiagrams:get,registerLayoutLoaders:SL,initialize:R1e,parseError:void 0,contentLoaded:M1e,setParseErrorHandler:yet,detectType:H0},xet=Qu;return V1e(bet);})(); +/*! Check if previously processed */ +/*! + * Wait for document loaded before starting the execution + */ +/*! Bundled license information: + +dompurify/dist/purify.js: + (*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +cytoscape/dist/cytoscape.esm.mjs: + (*! + Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable + Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) + Licensed under The MIT License (http://opensource.org/licenses/MIT) + *) + (*! + Event object based on jQuery events, MIT license + + https://jquery.org/license/ + https://tldrlegal.com/license/mit-license + https://github.com/jquery/jquery/blob/master/src/event.js + *) + (*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *) + (*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License *) + +js-yaml/dist/js-yaml.mjs: + (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *) +*/ +globalThis.mermaid = globalThis.__esbuild_esm_mermaid.default; diff --git a/assets/external/vega.github.io/schema/vega/v5.json b/assets/external/vega.github.io/schema/vega/v5.json new file mode 100644 index 00000000..2d1f05ea --- /dev/null +++ b/assets/external/vega.github.io/schema/vega/v5.json @@ -0,0 +1,16331 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Vega Visualization Specification Language", + "definitions": { + "autosize": { + "oneOf": [ + { + "enum": [ + "pad", + "fit", + "fit-x", + "fit-y", + "none" + ], + "default": "pad" + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "pad", + "fit", + "fit-x", + "fit-y", + "none" + ], + "default": "pad" + }, + "resize": { + "type": "boolean" + }, + "contains": { + "enum": [ + "content", + "padding" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "axis": { + "type": "object", + "properties": { + "orient": { + "oneOf": [ + { + "enum": [ + "top", + "bottom", + "left", + "right" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "scale": { + "type": "string" + }, + "format": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "year": { + "type": "string" + }, + "quarter": { + "type": "string" + }, + "month": { + "type": "string" + }, + "date": { + "type": "string" + }, + "week": { + "type": "string" + }, + "day": { + "type": "string" + }, + "hours": { + "type": "string" + }, + "minutes": { + "type": "string" + }, + "seconds": { + "type": "string" + }, + "milliseconds": { + "type": "string" + } + }, + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "formatType": { + "oneOf": [ + { + "enum": [ + "number", + "time", + "utc" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "minExtent": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "maxExtent": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "offset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "position": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "bandPosition": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "translate": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "values": { + "$ref": "#/definitions/arrayOrSignal" + }, + "zindex": { + "type": "number" + }, + "aria": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "title": { + "$ref": "#/definitions/textOrSignal" + }, + "titlePadding": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "titleAlign": { + "oneOf": [ + { + "enum": [ + "left", + "right", + "center" + ] + }, + { + "$ref": "#/definitions/alignValue" + } + ] + }, + "titleAnchor": { + "oneOf": [ + { + "enum": [ + null, + "start", + "middle", + "end" + ] + }, + { + "$ref": "#/definitions/anchorValue" + } + ] + }, + "titleAngle": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "titleX": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "titleY": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "titleBaseline": { + "oneOf": [ + { + "enum": [ + "top", + "middle", + "bottom", + "alphabetic", + "line-top", + "line-bottom" + ] + }, + { + "$ref": "#/definitions/baselineValue" + } + ] + }, + "titleColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "titleFont": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "titleFontSize": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "titleFontStyle": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "titleFontWeight": { + "oneOf": [ + { + "enum": [ + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 + ] + }, + { + "$ref": "#/definitions/fontWeightValue" + } + ] + }, + "titleLimit": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "titleLineHeight": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "titleOpacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "domain": { + "type": "boolean" + }, + "domainCap": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "domainColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "domainDash": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "$ref": "#/definitions/arrayValue" + } + ] + }, + "domainDashOffset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "domainOpacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "domainWidth": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "ticks": { + "type": "boolean" + }, + "tickBand": { + "$ref": "#/definitions/tickBand" + }, + "tickCap": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "tickColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "tickDash": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "$ref": "#/definitions/arrayValue" + } + ] + }, + "tickDashOffset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "tickOffset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "tickOpacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "tickRound": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/booleanValue" + } + ] + }, + "tickSize": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "tickWidth": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "tickCount": { + "$ref": "#/definitions/tickCount" + }, + "tickExtra": { + "$ref": "#/definitions/booleanOrSignal" + }, + "tickMinStep": { + "$ref": "#/definitions/numberOrSignal" + }, + "grid": { + "type": "boolean" + }, + "gridScale": { + "type": "string" + }, + "gridCap": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "gridColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "gridDash": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "$ref": "#/definitions/arrayValue" + } + ] + }, + "gridDashOffset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "gridOpacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "gridWidth": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "labels": { + "type": "boolean" + }, + "labelAlign": { + "oneOf": [ + { + "enum": [ + "left", + "right", + "center" + ] + }, + { + "$ref": "#/definitions/alignValue" + } + ] + }, + "labelBaseline": { + "oneOf": [ + { + "enum": [ + "top", + "middle", + "bottom", + "alphabetic", + "line-top", + "line-bottom" + ] + }, + { + "$ref": "#/definitions/baselineValue" + } + ] + }, + "labelBound": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "labelFlush": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "labelFlushOffset": { + "$ref": "#/definitions/numberOrSignal" + }, + "labelOverlap": { + "$ref": "#/definitions/labelOverlap" + }, + "labelAngle": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "labelColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "labelFont": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "labelFontSize": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "labelFontWeight": { + "oneOf": [ + { + "enum": [ + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 + ] + }, + { + "$ref": "#/definitions/fontWeightValue" + } + ] + }, + "labelFontStyle": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "labelLimit": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "labelLineHeight": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "labelOpacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "labelOffset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "labelPadding": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "labelSeparation": { + "$ref": "#/definitions/numberOrSignal" + }, + "encode": { + "type": "object", + "properties": { + "axis": { + "$ref": "#/definitions/guideEncode" + }, + "ticks": { + "$ref": "#/definitions/guideEncode" + }, + "labels": { + "$ref": "#/definitions/guideEncode" + }, + "title": { + "$ref": "#/definitions/guideEncode" + }, + "grid": { + "$ref": "#/definitions/guideEncode" + }, + "domain": { + "$ref": "#/definitions/guideEncode" + } + }, + "additionalProperties": false + } + }, + "required": [ + "orient", + "scale" + ], + "additionalProperties": false + }, + "labelOverlap": { + "oneOf": [ + { + "type": "boolean" + }, + { + "enum": [ + "parity", + "greedy" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "tickBand": { + "oneOf": [ + { + "enum": [ + "center", + "extent" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "tickCount": { + "oneOf": [ + { + "type": "number" + }, + { + "enum": [ + "millisecond", + "second", + "minute", + "hour", + "day", + "week", + "month", + "year" + ] + }, + { + "type": "object", + "properties": { + "interval": { + "oneOf": [ + { + "enum": [ + "millisecond", + "second", + "minute", + "hour", + "day", + "week", + "month", + "year" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "required": [ + "interval" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "background": { + "$ref": "#/definitions/stringOrSignal" + }, + "bind": { + "oneOf": [ + { + "type": "object", + "properties": { + "input": { + "enum": [ + "checkbox" + ] + }, + "element": { + "$ref": "#/definitions/element" + }, + "debounce": { + "type": "number" + }, + "name": { + "type": "string" + } + }, + "required": [ + "input" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "input": { + "enum": [ + "radio", + "select" + ] + }, + "element": { + "$ref": "#/definitions/element" + }, + "options": { + "type": "array" + }, + "labels": { + "type": "array", + "items": { + "type": "string" + } + }, + "debounce": { + "type": "number" + }, + "name": { + "type": "string" + } + }, + "required": [ + "input", + "options" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "input": { + "enum": [ + "range" + ] + }, + "element": { + "$ref": "#/definitions/element" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + }, + "step": { + "type": "number" + }, + "debounce": { + "type": "number" + }, + "name": { + "type": "string" + } + }, + "required": [ + "input" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "input": { + "not": { + "enum": [ + "checkbox", + "radio", + "range", + "select" + ] + } + }, + "element": { + "$ref": "#/definitions/element" + }, + "debounce": { + "type": "number" + }, + "name": { + "type": "string" + } + }, + "required": [ + "input" + ], + "additionalProperties": true + }, + { + "type": "object", + "properties": { + "element": { + "$ref": "#/definitions/element" + }, + "event": { + "type": "string" + }, + "debounce": { + "type": "number" + } + }, + "required": [ + "element" + ], + "additionalProperties": false + } + ] + }, + "element": { + "type": "string" + }, + "data": { + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "transform": { + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + }, + "on": { + "$ref": "#/definitions/onTrigger" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + ] + }, + "name": { + "type": "string" + }, + "transform": { + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + }, + "on": { + "$ref": "#/definitions/onTrigger" + } + }, + "required": [ + "source", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "url": { + "$ref": "#/definitions/stringOrSignal" + }, + "format": { + "oneOf": [ + { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/stringOrSignal" + }, + "parse": { + "oneOf": [ + { + "enum": [ + "auto" + ] + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "enum": [ + "boolean", + "number", + "date", + "string" + ] + }, + { + "type": "string", + "pattern": "^(date|utc):.*$" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + } + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "json" + ] + }, + "parse": { + "oneOf": [ + { + "enum": [ + "auto" + ] + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "enum": [ + "boolean", + "number", + "date", + "string" + ] + }, + { + "type": "string", + "pattern": "^(date|utc):.*$" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "property": { + "$ref": "#/definitions/stringOrSignal" + }, + "copy": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "csv", + "tsv" + ] + }, + "header": { + "type": "array", + "items": { + "type": "string" + } + }, + "parse": { + "oneOf": [ + { + "enum": [ + "auto" + ] + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "enum": [ + "boolean", + "number", + "date", + "string" + ] + }, + { + "type": "string", + "pattern": "^(date|utc):.*$" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "dsv" + ] + }, + "delimiter": { + "type": "string" + }, + "header": { + "type": "array", + "items": { + "type": "string" + } + }, + "parse": { + "oneOf": [ + { + "enum": [ + "auto" + ] + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "enum": [ + "boolean", + "number", + "date", + "string" + ] + }, + { + "type": "string", + "pattern": "^(date|utc):.*$" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type", + "delimiter" + ], + "additionalProperties": false + }, + { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "enum": [ + "topojson" + ] + }, + "feature": { + "$ref": "#/definitions/stringOrSignal" + }, + "property": { + "$ref": "#/definitions/stringOrSignal" + } + }, + "required": [ + "type", + "feature" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "topojson" + ] + }, + "mesh": { + "$ref": "#/definitions/stringOrSignal" + }, + "property": { + "$ref": "#/definitions/stringOrSignal" + }, + "filter": { + "enum": [ + "interior", + "exterior", + null + ] + } + }, + "required": [ + "type", + "mesh" + ], + "additionalProperties": false + } + ] + } + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "async": { + "$ref": "#/definitions/booleanOrSignal" + }, + "name": { + "type": "string" + }, + "transform": { + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + }, + "on": { + "$ref": "#/definitions/onTrigger" + } + }, + "required": [ + "url", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "values": { + "oneOf": [ + {}, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "format": { + "oneOf": [ + { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/stringOrSignal" + }, + "parse": { + "oneOf": [ + { + "enum": [ + "auto" + ] + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "enum": [ + "boolean", + "number", + "date", + "string" + ] + }, + { + "type": "string", + "pattern": "^(date|utc):.*$" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + } + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "json" + ] + }, + "parse": { + "oneOf": [ + { + "enum": [ + "auto" + ] + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "enum": [ + "boolean", + "number", + "date", + "string" + ] + }, + { + "type": "string", + "pattern": "^(date|utc):.*$" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "property": { + "$ref": "#/definitions/stringOrSignal" + }, + "copy": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "csv", + "tsv" + ] + }, + "header": { + "type": "array", + "items": { + "type": "string" + } + }, + "parse": { + "oneOf": [ + { + "enum": [ + "auto" + ] + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "enum": [ + "boolean", + "number", + "date", + "string" + ] + }, + { + "type": "string", + "pattern": "^(date|utc):.*$" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "dsv" + ] + }, + "delimiter": { + "type": "string" + }, + "header": { + "type": "array", + "items": { + "type": "string" + } + }, + "parse": { + "oneOf": [ + { + "enum": [ + "auto" + ] + }, + { + "type": "object", + "properties": {}, + "additionalProperties": { + "oneOf": [ + { + "enum": [ + "boolean", + "number", + "date", + "string" + ] + }, + { + "type": "string", + "pattern": "^(date|utc):.*$" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type", + "delimiter" + ], + "additionalProperties": false + }, + { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "enum": [ + "topojson" + ] + }, + "feature": { + "$ref": "#/definitions/stringOrSignal" + }, + "property": { + "$ref": "#/definitions/stringOrSignal" + } + }, + "required": [ + "type", + "feature" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "topojson" + ] + }, + "mesh": { + "$ref": "#/definitions/stringOrSignal" + }, + "property": { + "$ref": "#/definitions/stringOrSignal" + }, + "filter": { + "enum": [ + "interior", + "exterior", + null + ] + } + }, + "required": [ + "type", + "mesh" + ], + "additionalProperties": false + } + ] + } + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "async": { + "$ref": "#/definitions/booleanOrSignal" + }, + "name": { + "type": "string" + }, + "transform": { + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + }, + "on": { + "$ref": "#/definitions/onTrigger" + } + }, + "required": [ + "values", + "name" + ], + "additionalProperties": false + } + ] + }, + "paramField": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "as": { + "type": "string" + } + }, + "required": [ + "field" + ], + "additionalProperties": false + }, + "rule": { + "type": "object", + "properties": { + "test": { + "type": "string" + } + } + }, + "encodeEntry": { + "type": "object", + "properties": { + "x": { + "$ref": "#/definitions/numberValue" + }, + "x2": { + "$ref": "#/definitions/numberValue" + }, + "xc": { + "$ref": "#/definitions/numberValue" + }, + "width": { + "$ref": "#/definitions/numberValue" + }, + "y": { + "$ref": "#/definitions/numberValue" + }, + "y2": { + "$ref": "#/definitions/numberValue" + }, + "yc": { + "$ref": "#/definitions/numberValue" + }, + "height": { + "$ref": "#/definitions/numberValue" + }, + "opacity": { + "$ref": "#/definitions/numberValue" + }, + "fill": { + "$ref": "#/definitions/colorValue" + }, + "fillOpacity": { + "$ref": "#/definitions/numberValue" + }, + "stroke": { + "$ref": "#/definitions/colorValue" + }, + "strokeOpacity": { + "$ref": "#/definitions/numberValue" + }, + "strokeWidth": { + "$ref": "#/definitions/numberValue" + }, + "strokeCap": { + "$ref": "#/definitions/strokeCapValue" + }, + "strokeDash": { + "$ref": "#/definitions/arrayValue" + }, + "strokeDashOffset": { + "$ref": "#/definitions/numberValue" + }, + "strokeJoin": { + "$ref": "#/definitions/strokeJoinValue" + }, + "strokeMiterLimit": { + "$ref": "#/definitions/numberValue" + }, + "blend": { + "$ref": "#/definitions/blendValue" + }, + "cursor": { + "$ref": "#/definitions/stringValue" + }, + "tooltip": { + "$ref": "#/definitions/anyValue" + }, + "zindex": { + "$ref": "#/definitions/numberValue" + }, + "description": { + "$ref": "#/definitions/stringValue" + }, + "aria": { + "$ref": "#/definitions/booleanValue" + }, + "ariaRole": { + "$ref": "#/definitions/stringValue" + }, + "ariaRoleDescription": { + "$ref": "#/definitions/stringValue" + }, + "clip": { + "$ref": "#/definitions/booleanValue" + }, + "strokeForeground": { + "$ref": "#/definitions/booleanValue" + }, + "strokeOffset": { + "$ref": "#/definitions/numberValue" + }, + "cornerRadius": { + "$ref": "#/definitions/numberValue" + }, + "cornerRadiusTopLeft": { + "$ref": "#/definitions/numberValue" + }, + "cornerRadiusTopRight": { + "$ref": "#/definitions/numberValue" + }, + "cornerRadiusBottomRight": { + "$ref": "#/definitions/numberValue" + }, + "cornerRadiusBottomLeft": { + "$ref": "#/definitions/numberValue" + }, + "angle": { + "$ref": "#/definitions/numberValue" + }, + "size": { + "$ref": "#/definitions/numberValue" + }, + "shape": { + "$ref": "#/definitions/stringValue" + }, + "path": { + "$ref": "#/definitions/stringValue" + }, + "scaleX": { + "$ref": "#/definitions/numberValue" + }, + "scaleY": { + "$ref": "#/definitions/numberValue" + }, + "innerRadius": { + "$ref": "#/definitions/numberValue" + }, + "outerRadius": { + "$ref": "#/definitions/numberValue" + }, + "startAngle": { + "$ref": "#/definitions/numberValue" + }, + "endAngle": { + "$ref": "#/definitions/numberValue" + }, + "padAngle": { + "$ref": "#/definitions/numberValue" + }, + "interpolate": { + "$ref": "#/definitions/stringValue" + }, + "tension": { + "$ref": "#/definitions/numberValue" + }, + "orient": { + "$ref": "#/definitions/directionValue" + }, + "defined": { + "$ref": "#/definitions/booleanValue" + }, + "url": { + "$ref": "#/definitions/stringValue" + }, + "align": { + "$ref": "#/definitions/alignValue" + }, + "baseline": { + "$ref": "#/definitions/baselineValue" + }, + "aspect": { + "$ref": "#/definitions/booleanValue" + }, + "smooth": { + "$ref": "#/definitions/booleanValue" + }, + "text": { + "$ref": "#/definitions/textValue" + }, + "dir": { + "$ref": "#/definitions/stringValue" + }, + "ellipsis": { + "$ref": "#/definitions/stringValue" + }, + "limit": { + "$ref": "#/definitions/numberValue" + }, + "lineBreak": { + "$ref": "#/definitions/stringValue" + }, + "lineHeight": { + "$ref": "#/definitions/numberValue" + }, + "dx": { + "$ref": "#/definitions/numberValue" + }, + "dy": { + "$ref": "#/definitions/numberValue" + }, + "radius": { + "$ref": "#/definitions/numberValue" + }, + "theta": { + "$ref": "#/definitions/numberValue" + }, + "font": { + "$ref": "#/definitions/stringValue" + }, + "fontSize": { + "$ref": "#/definitions/numberValue" + }, + "fontWeight": { + "$ref": "#/definitions/fontWeightValue" + }, + "fontStyle": { + "$ref": "#/definitions/stringValue" + } + }, + "additionalProperties": true + }, + "encode": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^.+$": { + "$ref": "#/definitions/encodeEntry" + } + } + }, + "field": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "datum": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "datum" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "group": { + "$ref": "#/definitions/field" + }, + "level": { + "type": "number" + } + }, + "required": [ + "group" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "parent": { + "$ref": "#/definitions/field" + }, + "level": { + "type": "number" + } + }, + "required": [ + "parent" + ], + "additionalProperties": false + } + ] + }, + "stringModifiers": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/definitions/field" + } + } + }, + "numberModifiers": { + "type": "object", + "properties": { + "exponent": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "mult": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "offset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "round": { + "type": "boolean", + "default": false + }, + "scale": { + "$ref": "#/definitions/field" + }, + "band": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "extra": { + "type": "boolean" + } + } + }, + "anyValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": {} + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": {} + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "blendValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + null, + "multiply", + "screen", + "overlay", + "darken", + "lighten", + "color-dodge", + "color-burn", + "hard-light", + "soft-light", + "difference", + "exclusion", + "hue", + "saturation", + "color", + "luminosity" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + null, + "multiply", + "screen", + "overlay", + "darken", + "lighten", + "color-dodge", + "color-burn", + "hard-light", + "soft-light", + "difference", + "exclusion", + "hue", + "saturation", + "color", + "luminosity" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "numberValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/numberModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/numberModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "number" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "stringValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "textValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "booleanValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "boolean" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "arrayValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "type": "array" + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "fontWeightValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "anchorValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "start", + "middle", + "end" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "start", + "middle", + "end" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "alignValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "left", + "right", + "center" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "left", + "right", + "center" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "baselineValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "top", + "middle", + "bottom", + "alphabetic" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "top", + "middle", + "bottom", + "alphabetic" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "directionValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "horizontal", + "vertical" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "horizontal", + "vertical" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "orientValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "left", + "right", + "top", + "bottom" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "left", + "right", + "top", + "bottom" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "strokeCapValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "butt", + "round", + "square" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "butt", + "round", + "square" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "strokeJoinValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "miter", + "round", + "bevel" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + } + }, + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "enum": [ + "miter", + "round", + "bevel" + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + } + ] + }, + "baseColorValue": { + "oneOf": [ + { + "allOf": [ + { + "$ref": "#/definitions/stringModifiers" + }, + { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "value" + ] + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/field" + } + }, + "required": [ + "field" + ] + }, + { + "type": "object", + "properties": { + "range": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "range" + ] + } + ] + }, + { + "type": "object", + "required": [ + "scale", + "value" + ] + }, + { + "type": "object", + "required": [ + "scale", + "band" + ] + }, + { + "type": "object", + "required": [ + "offset" + ] + } + ] + } + ] + }, + { + "type": "object", + "properties": { + "value": { + "$ref": "#/definitions/linearGradient" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "value": { + "$ref": "#/definitions/radialGradient" + } + }, + "required": [ + "value" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "gradient": { + "$ref": "#/definitions/field" + }, + "start": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 2, + "maxItems": 2 + }, + "stop": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 2, + "maxItems": 2 + }, + "count": { + "type": "number" + } + }, + "required": [ + "gradient" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "color": { + "oneOf": [ + { + "$ref": "#/definitions/colorRGB" + }, + { + "$ref": "#/definitions/colorHSL" + }, + { + "$ref": "#/definitions/colorLAB" + }, + { + "$ref": "#/definitions/colorHCL" + } + ] + } + }, + "required": [ + "color" + ], + "additionalProperties": false + } + ] + }, + "colorRGB": { + "type": "object", + "properties": { + "r": { + "$ref": "#/definitions/numberValue" + }, + "g": { + "$ref": "#/definitions/numberValue" + }, + "b": { + "$ref": "#/definitions/numberValue" + } + }, + "required": [ + "r", + "g", + "b" + ] + }, + "colorHSL": { + "type": "object", + "properties": { + "h": { + "$ref": "#/definitions/numberValue" + }, + "s": { + "$ref": "#/definitions/numberValue" + }, + "l": { + "$ref": "#/definitions/numberValue" + } + }, + "required": [ + "h", + "s", + "l" + ] + }, + "colorLAB": { + "type": "object", + "properties": { + "l": { + "$ref": "#/definitions/numberValue" + }, + "a": { + "$ref": "#/definitions/numberValue" + }, + "b": { + "$ref": "#/definitions/numberValue" + } + }, + "required": [ + "l", + "a", + "b" + ] + }, + "colorHCL": { + "type": "object", + "properties": { + "h": { + "$ref": "#/definitions/numberValue" + }, + "c": { + "$ref": "#/definitions/numberValue" + }, + "l": { + "$ref": "#/definitions/numberValue" + } + }, + "required": [ + "h", + "c", + "l" + ] + }, + "colorValue": { + "oneOf": [ + { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/rule" + }, + { + "$ref": "#/definitions/baseColorValue" + } + ] + } + }, + { + "$ref": "#/definitions/baseColorValue" + } + ] + }, + "gradientStops": { + "type": "array", + "items": { + "type": "object", + "properties": { + "offset": { + "type": "number" + }, + "color": { + "type": "string" + } + }, + "required": [ + "offset", + "color" + ], + "additionalProperties": false + } + }, + "linearGradient": { + "type": "object", + "properties": { + "gradient": { + "enum": [ + "linear" + ] + }, + "id": { + "type": "string" + }, + "x1": { + "type": "number" + }, + "y1": { + "type": "number" + }, + "x2": { + "type": "number" + }, + "y2": { + "type": "number" + }, + "stops": { + "$ref": "#/definitions/gradientStops" + } + }, + "required": [ + "gradient", + "stops" + ], + "additionalProperties": false + }, + "radialGradient": { + "type": "object", + "properties": { + "gradient": { + "enum": [ + "radial" + ] + }, + "id": { + "type": "string" + }, + "x1": { + "type": "number" + }, + "y1": { + "type": "number" + }, + "r1": { + "type": "number" + }, + "x2": { + "type": "number" + }, + "y2": { + "type": "number" + }, + "r2": { + "type": "number" + }, + "stops": { + "$ref": "#/definitions/gradientStops" + } + }, + "required": [ + "gradient", + "stops" + ], + "additionalProperties": false + }, + "expr": { + "type": "object", + "properties": { + "expr": { + "type": "string" + }, + "as": { + "type": "string" + } + }, + "required": [ + "expr" + ] + }, + "exprString": { + "type": "string" + }, + "layout": { + "oneOf": [ + { + "type": "object", + "properties": { + "align": { + "oneOf": [ + { + "oneOf": [ + { + "enum": [ + "all", + "each", + "none" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + { + "type": "object", + "properties": { + "row": { + "oneOf": [ + { + "enum": [ + "all", + "each", + "none" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "column": { + "oneOf": [ + { + "enum": [ + "all", + "each", + "none" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "additionalProperties": false + } + ] + }, + "bounds": { + "oneOf": [ + { + "enum": [ + "full", + "flush" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "center": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "row": { + "$ref": "#/definitions/booleanOrSignal" + }, + "column": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "additionalProperties": false + } + ] + }, + "columns": { + "$ref": "#/definitions/numberOrSignal" + }, + "padding": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "row": { + "$ref": "#/definitions/numberOrSignal" + }, + "column": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "additionalProperties": false + } + ] + }, + "offset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "rowHeader": { + "$ref": "#/definitions/numberOrSignal" + }, + "rowFooter": { + "$ref": "#/definitions/numberOrSignal" + }, + "rowTitle": { + "$ref": "#/definitions/numberOrSignal" + }, + "columnHeader": { + "$ref": "#/definitions/numberOrSignal" + }, + "columnFooter": { + "$ref": "#/definitions/numberOrSignal" + }, + "columnTitle": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "additionalProperties": false + } + ] + }, + "headerBand": { + "oneOf": [ + { + "$ref": "#/definitions/numberOrSignal" + }, + { + "type": "null" + }, + { + "type": "object", + "properties": { + "row": { + "$ref": "#/definitions/numberOrSignal" + }, + "column": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "additionalProperties": false + } + ] + }, + "footerBand": { + "oneOf": [ + { + "$ref": "#/definitions/numberOrSignal" + }, + { + "type": "null" + }, + { + "type": "object", + "properties": { + "row": { + "$ref": "#/definitions/numberOrSignal" + }, + "column": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "additionalProperties": false + } + ] + }, + "titleBand": { + "oneOf": [ + { + "$ref": "#/definitions/numberOrSignal" + }, + { + "type": "null" + }, + { + "type": "object", + "properties": { + "row": { + "$ref": "#/definitions/numberOrSignal" + }, + "column": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "additionalProperties": false + } + ] + }, + "titleAnchor": { + "oneOf": [ + { + "oneOf": [ + { + "enum": [ + "start", + "end" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + { + "type": "object", + "properties": { + "row": { + "oneOf": [ + { + "enum": [ + "start", + "end" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "column": { + "oneOf": [ + { + "enum": [ + "start", + "end" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "guideEncode": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "interactive": { + "type": "boolean", + "default": false + }, + "style": { + "$ref": "#/definitions/style" + } + }, + "additionalProperties": false, + "patternProperties": { + "^(?!interactive|name|style).+$": { + "$ref": "#/definitions/encodeEntry" + } + } + }, + "legend": { + "allOf": [ + { + "type": "object", + "properties": { + "size": { + "type": "string" + }, + "shape": { + "type": "string" + }, + "fill": { + "type": "string" + }, + "stroke": { + "type": "string" + }, + "opacity": { + "type": "string" + }, + "strokeDash": { + "type": "string" + }, + "strokeWidth": { + "type": "string" + }, + "type": { + "enum": [ + "gradient", + "symbol" + ] + }, + "direction": { + "enum": [ + "vertical", + "horizontal" + ] + }, + "orient": { + "oneOf": [ + { + "enum": [ + "none", + "left", + "right", + "top", + "bottom", + "top-left", + "top-right", + "bottom-left", + "bottom-right" + ], + "default": "right" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "tickCount": { + "$ref": "#/definitions/tickCount" + }, + "tickMinStep": { + "$ref": "#/definitions/numberOrSignal" + }, + "symbolLimit": { + "$ref": "#/definitions/numberOrSignal" + }, + "values": { + "$ref": "#/definitions/arrayOrSignal" + }, + "zindex": { + "type": "number" + }, + "aria": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "cornerRadius": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "fillColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "offset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "padding": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "strokeColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "legendX": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "legendY": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "title": { + "$ref": "#/definitions/textOrSignal" + }, + "titleAlign": { + "oneOf": [ + { + "enum": [ + "left", + "right", + "center" + ] + }, + { + "$ref": "#/definitions/alignValue" + } + ] + }, + "titleAnchor": { + "oneOf": [ + { + "enum": [ + null, + "start", + "middle", + "end" + ] + }, + { + "$ref": "#/definitions/anchorValue" + } + ] + }, + "titleBaseline": { + "oneOf": [ + { + "enum": [ + "top", + "middle", + "bottom", + "alphabetic", + "line-top", + "line-bottom" + ] + }, + { + "$ref": "#/definitions/baselineValue" + } + ] + }, + "titleColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "titleFont": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "titleFontSize": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "titleFontStyle": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "titleFontWeight": { + "oneOf": [ + { + "enum": [ + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 + ] + }, + { + "$ref": "#/definitions/fontWeightValue" + } + ] + }, + "titleLimit": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "titleLineHeight": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "titleOpacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "titleOrient": { + "oneOf": [ + { + "enum": [ + "left", + "right", + "top", + "bottom" + ] + }, + { + "$ref": "#/definitions/orientValue" + } + ] + }, + "titlePadding": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "gradientLength": { + "$ref": "#/definitions/numberOrSignal" + }, + "gradientOpacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "gradientStrokeColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "gradientStrokeWidth": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "gradientThickness": { + "$ref": "#/definitions/numberOrSignal" + }, + "clipHeight": { + "$ref": "#/definitions/numberOrSignal" + }, + "columns": { + "$ref": "#/definitions/numberOrSignal" + }, + "columnPadding": { + "$ref": "#/definitions/numberOrSignal" + }, + "rowPadding": { + "$ref": "#/definitions/numberOrSignal" + }, + "gridAlign": { + "oneOf": [ + { + "enum": [ + "all", + "each", + "none" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "symbolDash": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "$ref": "#/definitions/arrayValue" + } + ] + }, + "symbolDashOffset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "symbolFillColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "symbolOffset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "symbolOpacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "symbolSize": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "symbolStrokeColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "symbolStrokeWidth": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "symbolType": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "format": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "year": { + "type": "string" + }, + "quarter": { + "type": "string" + }, + "month": { + "type": "string" + }, + "date": { + "type": "string" + }, + "week": { + "type": "string" + }, + "day": { + "type": "string" + }, + "hours": { + "type": "string" + }, + "minutes": { + "type": "string" + }, + "seconds": { + "type": "string" + }, + "milliseconds": { + "type": "string" + } + }, + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "formatType": { + "oneOf": [ + { + "enum": [ + "number", + "time", + "utc" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "labelAlign": { + "oneOf": [ + { + "enum": [ + "left", + "right", + "center" + ] + }, + { + "$ref": "#/definitions/alignValue" + } + ] + }, + "labelBaseline": { + "oneOf": [ + { + "enum": [ + "top", + "middle", + "bottom", + "alphabetic", + "line-top", + "line-bottom" + ] + }, + { + "$ref": "#/definitions/baselineValue" + } + ] + }, + "labelColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "labelFont": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "labelFontSize": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "labelFontStyle": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "labelFontWeight": { + "oneOf": [ + { + "enum": [ + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 + ] + }, + { + "$ref": "#/definitions/fontWeightValue" + } + ] + }, + "labelLimit": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "labelOffset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "labelOpacity": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "labelOverlap": { + "$ref": "#/definitions/labelOverlap" + }, + "labelSeparation": { + "$ref": "#/definitions/numberOrSignal" + }, + "encode": { + "type": "object", + "properties": { + "title": { + "$ref": "#/definitions/guideEncode" + }, + "labels": { + "$ref": "#/definitions/guideEncode" + }, + "legend": { + "$ref": "#/definitions/guideEncode" + }, + "entries": { + "$ref": "#/definitions/guideEncode" + }, + "symbols": { + "$ref": "#/definitions/guideEncode" + }, + "gradient": { + "$ref": "#/definitions/guideEncode" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + { + "anyOf": [ + { + "type": "object", + "required": [ + "size" + ] + }, + { + "type": "object", + "required": [ + "shape" + ] + }, + { + "type": "object", + "required": [ + "fill" + ] + }, + { + "type": "object", + "required": [ + "stroke" + ] + }, + { + "type": "object", + "required": [ + "opacity" + ] + }, + { + "type": "object", + "required": [ + "strokeDash" + ] + }, + { + "type": "object", + "required": [ + "strokeWidth" + ] + } + ] + } + ] + }, + "compare": { + "oneOf": [ + { + "type": "object", + "properties": { + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "field": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "order": { + "type": "array", + "items": { + "$ref": "#/definitions/sortOrder" + } + } + }, + "additionalProperties": false + } + ] + }, + "from": { + "type": "object", + "properties": { + "data": { + "type": "string" + } + }, + "additionalProperties": false + }, + "facet": { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "facet": { + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "data": { + "type": "string" + }, + "field": { + "type": "string" + } + }, + "required": [ + "name", + "data", + "field" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "data": { + "type": "string" + }, + "groupby": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "aggregate": { + "type": "object", + "properties": { + "cross": { + "type": "boolean" + }, + "fields": { + "type": "array", + "items": { + "type": "string" + } + }, + "ops": { + "type": "array", + "items": { + "type": "string" + } + }, + "as": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + } + }, + "required": [ + "name", + "data", + "groupby" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "facet" + ], + "additionalProperties": false + }, + "mark": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/marktype" + }, + "role": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "aria": { + "type": "boolean" + }, + "style": { + "$ref": "#/definitions/style" + }, + "key": { + "type": "string" + }, + "clip": { + "$ref": "#/definitions/markclip" + }, + "sort": { + "$ref": "#/definitions/compare" + }, + "interactive": { + "$ref": "#/definitions/booleanOrSignal" + }, + "encode": { + "$ref": "#/definitions/encode" + }, + "transform": { + "type": "array", + "items": { + "$ref": "#/definitions/transformMark" + } + }, + "on": { + "$ref": "#/definitions/onMarkTrigger" + } + }, + "required": [ + "type" + ] + }, + "markclip": { + "oneOf": [ + { + "$ref": "#/definitions/booleanOrSignal" + }, + { + "type": "object", + "properties": { + "path": { + "$ref": "#/definitions/stringOrSignal" + } + }, + "required": [ + "path" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "sphere": { + "$ref": "#/definitions/stringOrSignal" + } + }, + "required": [ + "sphere" + ], + "additionalProperties": false + } + ] + }, + "markGroup": { + "allOf": [ + { + "type": "object", + "properties": { + "type": { + "enum": [ + "group" + ] + }, + "from": { + "oneOf": [ + { + "$ref": "#/definitions/from" + }, + { + "$ref": "#/definitions/facet" + } + ] + } + }, + "required": [ + "type" + ] + }, + { + "$ref": "#/definitions/mark" + }, + { + "$ref": "#/definitions/scope" + } + ] + }, + "markVisual": { + "allOf": [ + { + "type": "object", + "properties": { + "type": { + "not": { + "enum": [ + "group" + ] + } + }, + "from": { + "$ref": "#/definitions/from" + } + } + }, + { + "$ref": "#/definitions/mark" + } + ] + }, + "style": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "marktype": { + "type": "string" + }, + "listener": { + "oneOf": [ + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "scale": { + "type": "string" + } + }, + "required": [ + "scale" + ] + }, + { + "$ref": "#/definitions/stream" + } + ] + }, + "onEvents": { + "type": "array", + "items": { + "allOf": [ + { + "type": "object", + "properties": { + "events": { + "oneOf": [ + { + "$ref": "#/definitions/selector" + }, + { + "$ref": "#/definitions/listener" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/listener" + }, + "minItems": 1 + } + ] + }, + "force": { + "type": "boolean" + } + }, + "required": [ + "events" + ] + }, + { + "oneOf": [ + { + "type": "object", + "properties": { + "encode": { + "type": "string" + } + }, + "required": [ + "encode" + ] + }, + { + "type": "object", + "properties": { + "update": { + "oneOf": [ + { + "$ref": "#/definitions/exprString" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "value": {} + }, + "required": [ + "value" + ] + } + ] + } + }, + "required": [ + "update" + ] + } + ] + } + ] + } + }, + "onTrigger": { + "type": "array", + "items": { + "type": "object", + "properties": { + "trigger": { + "$ref": "#/definitions/exprString" + }, + "insert": { + "$ref": "#/definitions/exprString" + }, + "remove": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/exprString" + } + ] + }, + "toggle": { + "$ref": "#/definitions/exprString" + }, + "modify": { + "$ref": "#/definitions/exprString" + }, + "values": { + "$ref": "#/definitions/exprString" + } + }, + "required": [ + "trigger" + ], + "additionalProperties": false + } + }, + "onMarkTrigger": { + "type": "array", + "items": { + "type": "object", + "properties": { + "trigger": { + "$ref": "#/definitions/exprString" + }, + "modify": { + "$ref": "#/definitions/exprString" + }, + "values": { + "$ref": "#/definitions/exprString" + } + }, + "required": [ + "trigger" + ], + "additionalProperties": false + } + }, + "padding": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "top": { + "type": "number" + }, + "bottom": { + "type": "number" + }, + "left": { + "type": "number" + }, + "right": { + "type": "number" + } + }, + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "projection": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/stringOrSignal" + }, + "clipAngle": { + "$ref": "#/definitions/numberOrSignal" + }, + "clipExtent": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "scale": { + "$ref": "#/definitions/numberOrSignal" + }, + "translate": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "center": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "rotate": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 3 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "parallels": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "precision": { + "$ref": "#/definitions/numberOrSignal" + }, + "pointRadius": { + "$ref": "#/definitions/numberOrSignal" + }, + "fit": { + "oneOf": [ + { + "type": "object" + }, + { + "type": "array" + } + ] + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "name" + ], + "additionalProperties": true + }, + "scale": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "enum": [ + "identity" + ] + }, + "nice": { + "$ref": "#/definitions/booleanOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "ordinal" + ] + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "oneOf": [ + { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "sort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "op": { + "$ref": "#/definitions/stringOrSignal" + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "data", + "field" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/definitions/stringOrSignal" + }, + "minItems": 1 + }, + "sort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "op": { + "enum": [ + "count" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "op": { + "enum": [ + "count", + "min", + "max" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "required": [ + "field", + "op" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "data", + "fields" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "fields": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "field": { + "$ref": "#/definitions/stringOrSignal" + } + }, + "required": [ + "data", + "field" + ], + "additionalProperties": false + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "minItems": 1 + }, + "sort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "op": { + "enum": [ + "count" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "op": { + "enum": [ + "count", + "min", + "max" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "required": [ + "field", + "op" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "fields" + ], + "additionalProperties": false + } + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" + }, + "domainImplicit": { + "$ref": "#/definitions/booleanOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "band" + ] + }, + "paddingInner": { + "$ref": "#/definitions/numberOrSignal" + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "step": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "required": [ + "step" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "padding": { + "$ref": "#/definitions/numberOrSignal" + }, + "paddingOuter": { + "$ref": "#/definitions/numberOrSignal" + }, + "align": { + "$ref": "#/definitions/numberOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "point" + ] + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "step": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "required": [ + "step" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "padding": { + "$ref": "#/definitions/numberOrSignal" + }, + "paddingOuter": { + "$ref": "#/definitions/numberOrSignal" + }, + "align": { + "$ref": "#/definitions/numberOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "quantize", + "threshold" + ] + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" + }, + "nice": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "zero": { + "$ref": "#/definitions/booleanOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "quantile" + ] + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "bin-ordinal" + ] + }, + "bins": { + "$ref": "#/definitions/scaleBins" + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "time", + "utc" + ] + }, + "nice": { + "oneOf": [ + { + "type": "boolean" + }, + { + "enum": [ + "millisecond", + "second", + "minute", + "hour", + "day", + "week", + "month", + "year" + ] + }, + { + "type": "object", + "properties": { + "interval": { + "oneOf": [ + { + "enum": [ + "millisecond", + "second", + "minute", + "hour", + "day", + "week", + "month", + "year" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "required": [ + "interval" + ], + "additionalProperties": false + } + ] + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "bins": { + "$ref": "#/definitions/scaleBins" + }, + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" + }, + "clamp": { + "$ref": "#/definitions/booleanOrSignal" + }, + "padding": { + "$ref": "#/definitions/numberOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "linear", + "sqrt", + "sequential" + ] + }, + "nice": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "zero": { + "$ref": "#/definitions/booleanOrSignal" + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "bins": { + "$ref": "#/definitions/scaleBins" + }, + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" + }, + "clamp": { + "$ref": "#/definitions/booleanOrSignal" + }, + "padding": { + "$ref": "#/definitions/numberOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "log" + ] + }, + "base": { + "$ref": "#/definitions/numberOrSignal" + }, + "nice": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "zero": { + "$ref": "#/definitions/booleanOrSignal" + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "bins": { + "$ref": "#/definitions/scaleBins" + }, + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" + }, + "clamp": { + "$ref": "#/definitions/booleanOrSignal" + }, + "padding": { + "$ref": "#/definitions/numberOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "pow" + ] + }, + "exponent": { + "$ref": "#/definitions/numberOrSignal" + }, + "nice": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "zero": { + "$ref": "#/definitions/booleanOrSignal" + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "bins": { + "$ref": "#/definitions/scaleBins" + }, + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" + }, + "clamp": { + "$ref": "#/definitions/booleanOrSignal" + }, + "padding": { + "$ref": "#/definitions/numberOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": [ + "symlog" + ] + }, + "constant": { + "$ref": "#/definitions/numberOrSignal" + }, + "nice": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "zero": { + "$ref": "#/definitions/booleanOrSignal" + }, + "range": { + "oneOf": [ + { + "enum": [ + "width", + "height", + "symbol", + "category", + "ordinal", + "ramp", + "diverging", + "heatmap" + ] + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "type": "object", + "properties": { + "scheme": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "$ref": "#/definitions/numberOrSignal" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + }, + "minItems": 2, + "maxItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "scheme" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "bins": { + "$ref": "#/definitions/scaleBins" + }, + "interpolate": { + "$ref": "#/definitions/scaleInterpolate" + }, + "clamp": { + "$ref": "#/definitions/booleanOrSignal" + }, + "padding": { + "$ref": "#/definitions/numberOrSignal" + }, + "name": { + "type": "string" + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + } + ] + } + }, + { + "$ref": "#/definitions/scaleData" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "domainMin": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMax": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainMid": { + "$ref": "#/definitions/numberOrSignal" + }, + "domainRaw": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "reverse": { + "$ref": "#/definitions/booleanOrSignal" + }, + "round": { + "$ref": "#/definitions/booleanOrSignal" + } + }, + "required": [ + "type", + "name" + ], + "additionalProperties": false + } + ] + }, + "scaleField": { + "$ref": "#/definitions/stringOrSignal" + }, + "sortOrder": { + "oneOf": [ + { + "enum": [ + "ascending", + "descending" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "scaleBins": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/numberOrSignal" + } + }, + { + "type": "object", + "properties": { + "step": { + "$ref": "#/definitions/numberOrSignal" + }, + "start": { + "$ref": "#/definitions/numberOrSignal" + }, + "stop": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "required": [ + "step" + ], + "additionalProperties": false + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "scaleInterpolate": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/stringOrSignal" + }, + "gamma": { + "$ref": "#/definitions/numberOrSignal" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + } + ] + }, + "scaleData": { + "oneOf": [ + { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "sort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "op": { + "$ref": "#/definitions/stringOrSignal" + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false + } + ] + } + }, + "required": [ + "data", + "field" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/definitions/stringOrSignal" + }, + "minItems": 1 + }, + "sort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "op": { + "enum": [ + "count" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "op": { + "enum": [ + "count", + "min", + "max" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "required": [ + "field", + "op" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "data", + "fields" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "fields": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "data": { + "type": "string" + }, + "field": { + "$ref": "#/definitions/stringOrSignal" + } + }, + "required": [ + "data", + "field" + ], + "additionalProperties": false + }, + { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "minItems": 1 + }, + "sort": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "op": { + "enum": [ + "count" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/definitions/stringOrSignal" + }, + "op": { + "enum": [ + "count", + "min", + "max" + ] + }, + "order": { + "$ref": "#/definitions/sortOrder" + } + }, + "required": [ + "field", + "op" + ], + "additionalProperties": false + } + ] + } + }, + "required": [ + "fields" + ], + "additionalProperties": false + } + ] + }, + "scope": { + "type": "object", + "properties": { + "encode": { + "$ref": "#/definitions/encode" + }, + "layout": { + "$ref": "#/definitions/layout" + }, + "signals": { + "type": "array", + "items": { + "$ref": "#/definitions/signal" + } + }, + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/data" + } + }, + "scales": { + "type": "array", + "items": { + "$ref": "#/definitions/scale" + } + }, + "projections": { + "type": "array", + "items": { + "$ref": "#/definitions/projection" + } + }, + "axes": { + "type": "array", + "items": { + "$ref": "#/definitions/axis" + } + }, + "legends": { + "type": "array", + "items": { + "$ref": "#/definitions/legend" + } + }, + "title": { + "$ref": "#/definitions/title" + }, + "marks": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/markGroup" + }, + { + "$ref": "#/definitions/markVisual" + } + ] + } + }, + "usermeta": { + "type": "object" + } + } + }, + "selector": { + "type": "string" + }, + "signal": { + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/signalName" + }, + "description": { + "type": "string" + }, + "push": { + "enum": [ + "outer" + ] + }, + "on": { + "$ref": "#/definitions/onEvents" + } + }, + "required": [ + "name", + "push" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/signalName" + }, + "description": { + "type": "string" + }, + "value": {}, + "react": { + "type": "boolean", + "default": true + }, + "update": { + "$ref": "#/definitions/exprString" + }, + "on": { + "$ref": "#/definitions/onEvents" + }, + "bind": { + "$ref": "#/definitions/bind" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/signalName" + }, + "description": { + "type": "string" + }, + "value": {}, + "init": { + "$ref": "#/definitions/exprString" + }, + "on": { + "$ref": "#/definitions/onEvents" + }, + "bind": { + "$ref": "#/definitions/bind" + } + }, + "required": [ + "name", + "init" + ], + "additionalProperties": false + } + ] + }, + "signalName": { + "type": "string", + "not": { + "enum": [ + "parent", + "datum", + "event", + "item" + ] + } + }, + "signalRef": { + "type": "object", + "properties": { + "signal": { + "type": "string" + } + }, + "required": [ + "signal" + ] + }, + "arrayOrSignal": { + "oneOf": [ + { + "type": "array" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "booleanOrSignal": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "numberOrSignal": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "stringOrSignal": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "textOrSignal": { + "oneOf": [ + { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "stream": { + "allOf": [ + { + "type": "object", + "properties": { + "between": { + "type": "array", + "items": { + "$ref": "#/definitions/stream" + }, + "minItems": 2, + "maxItems": 2 + }, + "marktype": { + "type": "string" + }, + "markname": { + "type": "string" + }, + "filter": { + "oneOf": [ + { + "$ref": "#/definitions/exprString" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/exprString" + }, + "minItems": 1 + } + ] + }, + "throttle": { + "type": "number" + }, + "debounce": { + "type": "number" + }, + "consume": { + "type": "boolean" + } + } + }, + { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "source": { + "type": "string" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "properties": { + "stream": { + "$ref": "#/definitions/stream" + } + }, + "required": [ + "stream" + ] + }, + { + "type": "object", + "properties": { + "merge": { + "type": "array", + "items": { + "$ref": "#/definitions/stream" + }, + "minItems": 1 + } + }, + "required": [ + "merge" + ] + } + ] + } + ] + }, + "title": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "orient": { + "oneOf": [ + { + "enum": [ + "none", + "left", + "right", + "top", + "bottom" + ], + "default": "top" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "anchor": { + "oneOf": [ + { + "enum": [ + null, + "start", + "middle", + "end" + ] + }, + { + "$ref": "#/definitions/anchorValue" + } + ] + }, + "frame": { + "oneOf": [ + { + "enum": [ + "group", + "bounds" + ] + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "offset": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "aria": { + "type": "boolean" + }, + "limit": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "zindex": { + "type": "number" + }, + "align": { + "oneOf": [ + { + "enum": [ + "left", + "right", + "center" + ] + }, + { + "$ref": "#/definitions/alignValue" + } + ] + }, + "angle": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "baseline": { + "oneOf": [ + { + "enum": [ + "top", + "middle", + "bottom", + "alphabetic", + "line-top", + "line-bottom" + ] + }, + { + "$ref": "#/definitions/baselineValue" + } + ] + }, + "dx": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "dy": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "text": { + "$ref": "#/definitions/textOrSignal" + }, + "color": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "font": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "fontSize": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "fontStyle": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "fontWeight": { + "oneOf": [ + { + "enum": [ + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 + ] + }, + { + "$ref": "#/definitions/fontWeightValue" + } + ] + }, + "lineHeight": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "subtitle": { + "$ref": "#/definitions/textOrSignal" + }, + "subtitleColor": { + "oneOf": [ + { + "type": "null" + }, + { + "type": "string" + }, + { + "$ref": "#/definitions/colorValue" + } + ] + }, + "subtitleFont": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "subtitleFontSize": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "subtitleFontStyle": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/stringValue" + } + ] + }, + "subtitleFontWeight": { + "oneOf": [ + { + "enum": [ + null, + "normal", + "bold", + "lighter", + "bolder", + "100", + "200", + "300", + "400", + "500", + "600", + "700", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900 + ] + }, + { + "$ref": "#/definitions/fontWeightValue" + } + ] + }, + "subtitleLineHeight": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/numberValue" + } + ] + }, + "subtitlePadding": { + "$ref": "#/definitions/numberOrSignal" + }, + "encode": { + "anyOf": [ + { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^(?!interactive|name|style).+$": { + "$ref": "#/definitions/encodeEntry" + } + } + }, + { + "type": "object", + "properties": { + "group": { + "$ref": "#/definitions/guideEncode" + }, + "title": { + "$ref": "#/definitions/guideEncode" + }, + "subtitle": { + "$ref": "#/definitions/guideEncode" + } + }, + "additionalProperties": false + } + ] + }, + "name": { + "type": "string" + }, + "interactive": { + "type": "boolean" + }, + "style": { + "$ref": "#/definitions/style" + } + }, + "additionalProperties": false + } + ] + }, + "transform": { + "oneOf": [ + { + "$ref": "#/definitions/crossfilterTransform" + }, + { + "$ref": "#/definitions/resolvefilterTransform" + }, + { + "$ref": "#/definitions/linkpathTransform" + }, + { + "$ref": "#/definitions/pieTransform" + }, + { + "$ref": "#/definitions/stackTransform" + }, + { + "$ref": "#/definitions/forceTransform" + }, + { + "$ref": "#/definitions/contourTransform" + }, + { + "$ref": "#/definitions/geojsonTransform" + }, + { + "$ref": "#/definitions/geopathTransform" + }, + { + "$ref": "#/definitions/geopointTransform" + }, + { + "$ref": "#/definitions/geoshapeTransform" + }, + { + "$ref": "#/definitions/graticuleTransform" + }, + { + "$ref": "#/definitions/heatmapTransform" + }, + { + "$ref": "#/definitions/isocontourTransform" + }, + { + "$ref": "#/definitions/kde2dTransform" + }, + { + "$ref": "#/definitions/nestTransform" + }, + { + "$ref": "#/definitions/packTransform" + }, + { + "$ref": "#/definitions/partitionTransform" + }, + { + "$ref": "#/definitions/stratifyTransform" + }, + { + "$ref": "#/definitions/treeTransform" + }, + { + "$ref": "#/definitions/treelinksTransform" + }, + { + "$ref": "#/definitions/treemapTransform" + }, + { + "$ref": "#/definitions/labelTransform" + }, + { + "$ref": "#/definitions/loessTransform" + }, + { + "$ref": "#/definitions/regressionTransform" + }, + { + "$ref": "#/definitions/aggregateTransform" + }, + { + "$ref": "#/definitions/binTransform" + }, + { + "$ref": "#/definitions/collectTransform" + }, + { + "$ref": "#/definitions/countpatternTransform" + }, + { + "$ref": "#/definitions/crossTransform" + }, + { + "$ref": "#/definitions/densityTransform" + }, + { + "$ref": "#/definitions/dotbinTransform" + }, + { + "$ref": "#/definitions/extentTransform" + }, + { + "$ref": "#/definitions/filterTransform" + }, + { + "$ref": "#/definitions/flattenTransform" + }, + { + "$ref": "#/definitions/foldTransform" + }, + { + "$ref": "#/definitions/formulaTransform" + }, + { + "$ref": "#/definitions/imputeTransform" + }, + { + "$ref": "#/definitions/joinaggregateTransform" + }, + { + "$ref": "#/definitions/kdeTransform" + }, + { + "$ref": "#/definitions/lookupTransform" + }, + { + "$ref": "#/definitions/pivotTransform" + }, + { + "$ref": "#/definitions/projectTransform" + }, + { + "$ref": "#/definitions/quantileTransform" + }, + { + "$ref": "#/definitions/sampleTransform" + }, + { + "$ref": "#/definitions/sequenceTransform" + }, + { + "$ref": "#/definitions/timeunitTransform" + }, + { + "$ref": "#/definitions/windowTransform" + }, + { + "$ref": "#/definitions/identifierTransform" + }, + { + "$ref": "#/definitions/voronoiTransform" + }, + { + "$ref": "#/definitions/wordcloudTransform" + } + ] + }, + "transformMark": { + "oneOf": [ + { + "$ref": "#/definitions/crossfilterTransform" + }, + { + "$ref": "#/definitions/resolvefilterTransform" + }, + { + "$ref": "#/definitions/linkpathTransform" + }, + { + "$ref": "#/definitions/pieTransform" + }, + { + "$ref": "#/definitions/stackTransform" + }, + { + "$ref": "#/definitions/forceTransform" + }, + { + "$ref": "#/definitions/geojsonTransform" + }, + { + "$ref": "#/definitions/geopathTransform" + }, + { + "$ref": "#/definitions/geopointTransform" + }, + { + "$ref": "#/definitions/geoshapeTransform" + }, + { + "$ref": "#/definitions/heatmapTransform" + }, + { + "$ref": "#/definitions/packTransform" + }, + { + "$ref": "#/definitions/partitionTransform" + }, + { + "$ref": "#/definitions/stratifyTransform" + }, + { + "$ref": "#/definitions/treeTransform" + }, + { + "$ref": "#/definitions/treemapTransform" + }, + { + "$ref": "#/definitions/labelTransform" + }, + { + "$ref": "#/definitions/binTransform" + }, + { + "$ref": "#/definitions/collectTransform" + }, + { + "$ref": "#/definitions/dotbinTransform" + }, + { + "$ref": "#/definitions/extentTransform" + }, + { + "$ref": "#/definitions/formulaTransform" + }, + { + "$ref": "#/definitions/joinaggregateTransform" + }, + { + "$ref": "#/definitions/lookupTransform" + }, + { + "$ref": "#/definitions/sampleTransform" + }, + { + "$ref": "#/definitions/timeunitTransform" + }, + { + "$ref": "#/definitions/windowTransform" + }, + { + "$ref": "#/definitions/identifierTransform" + }, + { + "$ref": "#/definitions/voronoiTransform" + }, + { + "$ref": "#/definitions/wordcloudTransform" + } + ] + }, + "crossfilterTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "crossfilter" + ] + }, + "signal": { + "type": "string" + }, + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "query": { + "oneOf": [ + { + "type": "array", + "items": {} + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type", + "fields", + "query" + ], + "additionalProperties": false + }, + "resolvefilterTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "resolvefilter" + ] + }, + "signal": { + "type": "string" + }, + "ignore": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "filter": {} + }, + "required": [ + "type", + "ignore", + "filter" + ], + "additionalProperties": false + }, + "linkpathTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "linkpath" + ] + }, + "signal": { + "type": "string" + }, + "sourceX": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ], + "default": "source.x" + }, + "sourceY": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ], + "default": "source.y" + }, + "targetX": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ], + "default": "target.x" + }, + "targetY": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ], + "default": "target.y" + }, + "orient": { + "anyOf": [ + { + "enum": [ + "horizontal", + "vertical", + "radial" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "vertical" + }, + "shape": { + "anyOf": [ + { + "enum": [ + "line", + "arc", + "curve", + "diagonal", + "orthogonal" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "line" + }, + "require": { + "$ref": "#/definitions/signalRef" + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "path" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "pieTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "pie" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "startAngle": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "endAngle": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 6.283185307179586 + }, + "sort": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "startAngle", + "endAngle" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "stackTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "stack" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "sort": { + "$ref": "#/definitions/compare" + }, + "offset": { + "anyOf": [ + { + "enum": [ + "zero", + "center", + "normalize" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "zero" + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "y0", + "y1" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "forceTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "force" + ] + }, + "signal": { + "type": "string" + }, + "static": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "restart": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "iterations": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 300 + }, + "alpha": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 + }, + "alphaMin": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.001 + }, + "alphaTarget": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "velocityDecay": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.4 + }, + "forces": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "force": { + "enum": [ + "center" + ] + }, + "x": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "y": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "force" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "force": { + "enum": [ + "collide" + ] + }, + "radius": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + }, + "strength": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.7 + }, + "iterations": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 + } + }, + "required": [ + "force" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "force": { + "enum": [ + "nbody" + ] + }, + "strength": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ], + "default": -30 + }, + "theta": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.9 + }, + "distanceMin": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 + }, + "distanceMax": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "force" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "force": { + "enum": [ + "link" + ] + }, + "links": { + "type": "string" + }, + "id": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "distance": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ], + "default": 30 + }, + "strength": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + }, + "iterations": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 + } + }, + "required": [ + "force" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "force": { + "enum": [ + "x" + ] + }, + "strength": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.1 + }, + "x": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "required": [ + "force" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "force": { + "enum": [ + "y" + ] + }, + "strength": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.1 + }, + "y": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "required": [ + "force" + ], + "additionalProperties": false + } + ] + } + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "x", + "y", + "vx", + "vy" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "contourTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "contour" + ] + }, + "signal": { + "type": "string" + }, + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "values": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "x": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "y": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "weight": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "cellSize": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "bandwidth": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "count": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "nice": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "thresholds": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "smooth": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + } + }, + "required": [ + "type", + "size" + ], + "additionalProperties": false + }, + "geojsonTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "geojson" + ] + }, + "signal": { + "type": "string" + }, + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "geojson": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "geopathTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "geopath" + ] + }, + "signal": { + "type": "string" + }, + "projection": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "pointRadius": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "path" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "geopointTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "geopoint" + ] + }, + "signal": { + "type": "string" + }, + "projection": { + "type": "string" + }, + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "x", + "y" + ] + } + }, + "required": [ + "type", + "projection", + "fields" + ], + "additionalProperties": false + }, + "geoshapeTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "geoshape" + ] + }, + "signal": { + "type": "string" + }, + "projection": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ], + "default": "datum" + }, + "pointRadius": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "shape" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "graticuleTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "graticule" + ] + }, + "signal": { + "type": "string" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": {}, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "extentMajor": { + "oneOf": [ + { + "type": "array", + "items": {}, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "extentMinor": { + "oneOf": [ + { + "type": "array", + "items": {}, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "stepMajor": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + 90, + 360 + ] + }, + "stepMinor": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + 10, + 10 + ] + }, + "precision": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 2.5 + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "heatmapTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "heatmap" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "color": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + }, + "opacity": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + }, + "resolve": { + "anyOf": [ + { + "enum": [ + "shared", + "independent" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "independent" + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "image" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "isocontourTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "isocontour" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "thresholds": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "levels": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "nice": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "resolve": { + "anyOf": [ + { + "enum": [ + "shared", + "independent" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "independent" + }, + "zero": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + }, + "smooth": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + }, + "scale": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + }, + "translate": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ], + "default": "contour" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "kde2dTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "kde2d" + ] + }, + "signal": { + "type": "string" + }, + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "x": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "y": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "weight": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "cellSize": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "bandwidth": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "counts": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "grid" + } + }, + "required": [ + "type", + "size", + "x", + "y" + ], + "additionalProperties": false + }, + "nestTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "nest" + ] + }, + "signal": { + "type": "string" + }, + "keys": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "generate": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "packTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "pack" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "sort": { + "$ref": "#/definitions/compare" + }, + "padding": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "radius": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 5, + "minItems": 5 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "x", + "y", + "r", + "depth", + "children" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "partitionTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "partition" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "sort": { + "$ref": "#/definitions/compare" + }, + "padding": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "round": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 6, + "minItems": 6 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "x0", + "y0", + "x1", + "y1", + "depth", + "children" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "stratifyTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "stratify" + ] + }, + "signal": { + "type": "string" + }, + "key": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "parentKey": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "required": [ + "type", + "key", + "parentKey" + ], + "additionalProperties": false + }, + "treeTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "tree" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "sort": { + "$ref": "#/definitions/compare" + }, + "method": { + "anyOf": [ + { + "enum": [ + "tidy", + "cluster" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "tidy" + }, + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "nodeSize": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "separation": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 4, + "minItems": 4 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "x", + "y", + "depth", + "children" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "treelinksTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "treelinks" + ] + }, + "signal": { + "type": "string" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "treemapTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "treemap" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "sort": { + "$ref": "#/definitions/compare" + }, + "method": { + "anyOf": [ + { + "enum": [ + "squarify", + "resquarify", + "binary", + "dice", + "slice", + "slicedice" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "squarify" + }, + "padding": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "paddingInner": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "paddingOuter": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "paddingTop": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "paddingRight": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "paddingBottom": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "paddingLeft": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "ratio": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1.618033988749895 + }, + "round": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 6, + "minItems": 6 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "x0", + "y0", + "x1", + "y1", + "depth", + "children" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "labelTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "label" + ] + }, + "signal": { + "type": "string" + }, + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "sort": { + "$ref": "#/definitions/compare" + }, + "anchor": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "top-left", + "left", + "bottom-left", + "top", + "bottom", + "top-right", + "right", + "bottom-right" + ] + }, + "offset": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + 1 + ] + }, + "padding": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + }, + "lineAnchor": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "end" + }, + "markIndex": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "avoidBaseMark": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + }, + "avoidMarks": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "method": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "naive" + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 5, + "minItems": 5 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "x", + "y", + "opacity", + "align", + "baseline" + ] + } + }, + "required": [ + "type", + "size" + ], + "additionalProperties": false + }, + "loessTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "loess" + ] + }, + "signal": { + "type": "string" + }, + "x": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "y": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "bandwidth": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.3 + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type", + "x", + "y" + ], + "additionalProperties": false + }, + "regressionTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "regression" + ] + }, + "signal": { + "type": "string" + }, + "x": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "y": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "method": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "linear" + }, + "order": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 3 + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "params": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type", + "x", + "y" + ], + "additionalProperties": false + }, + "aggregateTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "aggregate" + ] + }, + "signal": { + "type": "string" + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "ops": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "enum": [ + "values", + "count", + "missing", + "valid", + "sum", + "product", + "mean", + "average", + "variance", + "variancep", + "stdev", + "stdevp", + "stderr", + "distinct", + "ci0", + "ci1", + "median", + "q1", + "q3", + "min", + "max", + "argmin", + "argmax", + "exponential", + "exponentialb" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "aggregate_params": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "drop": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + }, + "cross": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "key": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "binTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "bin" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "interval": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + }, + "anchor": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxbins": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 20 + }, + "base": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 10 + }, + "divide": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + 5, + 2 + ] + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "span": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "steps": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "minstep": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "nice": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "bin0", + "bin1" + ] + } + }, + "required": [ + "type", + "field", + "extent" + ], + "additionalProperties": false + }, + "collectTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "collect" + ] + }, + "signal": { + "type": "string" + }, + "sort": { + "$ref": "#/definitions/compare" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "countpatternTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "countpattern" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "case": { + "anyOf": [ + { + "enum": [ + "upper", + "lower", + "mixed" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "mixed" + }, + "pattern": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "[\\w\"]+" + }, + "stopwords": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "text", + "count" + ] + } + }, + "required": [ + "type", + "field" + ], + "additionalProperties": false + }, + "crossTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "cross" + ] + }, + "signal": { + "type": "string" + }, + "filter": { + "$ref": "#/definitions/exprString" + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "a", + "b" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "densityTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "density" + ] + }, + "signal": { + "type": "string" + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "steps": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "minsteps": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 25 + }, + "maxsteps": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 200 + }, + "method": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "pdf" + }, + "distribution": { + "oneOf": [ + { + "type": "object", + "properties": { + "function": { + "enum": [ + "normal" + ] + }, + "mean": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "stdev": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 + } + }, + "required": [ + "function" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "function": { + "enum": [ + "lognormal" + ] + }, + "mean": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "stdev": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 + } + }, + "required": [ + "function" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "function": { + "enum": [ + "uniform" + ] + }, + "min": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "max": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 + } + }, + "required": [ + "function" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "function": { + "enum": [ + "kde" + ] + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "from": { + "type": "string" + }, + "bandwidth": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "function", + "field" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "function": { + "enum": [ + "mixture" + ] + }, + "distributions": { + "oneOf": [ + { + "type": "array", + "items": {} + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "weights": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "function" + ], + "additionalProperties": false + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "value", + "density" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "dotbinTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "dotbin" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "smooth": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "bin" + } + }, + "required": [ + "type", + "field" + ], + "additionalProperties": false + }, + "extentTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "extent" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "required": [ + "type", + "field" + ], + "additionalProperties": false + }, + "filterTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "filter" + ] + }, + "signal": { + "type": "string" + }, + "expr": { + "$ref": "#/definitions/exprString" + } + }, + "required": [ + "type", + "expr" + ], + "additionalProperties": false + }, + "flattenTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "flatten" + ] + }, + "signal": { + "type": "string" + }, + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "index": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type", + "fields" + ], + "additionalProperties": false + }, + "foldTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "fold" + ] + }, + "signal": { + "type": "string" + }, + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "key", + "value" + ] + } + }, + "required": [ + "type", + "fields" + ], + "additionalProperties": false + }, + "formulaTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "formula" + ] + }, + "signal": { + "type": "string" + }, + "expr": { + "$ref": "#/definitions/exprString" + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "initonly": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type", + "expr", + "as" + ], + "additionalProperties": false + }, + "imputeTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "impute" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "key": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "keyvals": { + "oneOf": [ + { + "type": "array", + "items": {} + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "method": { + "anyOf": [ + { + "enum": [ + "value", + "mean", + "median", + "max", + "min" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "value" + }, + "value": {} + }, + "required": [ + "type", + "field", + "key" + ], + "additionalProperties": false + }, + "joinaggregateTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "joinaggregate" + ] + }, + "signal": { + "type": "string" + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "ops": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "enum": [ + "values", + "count", + "missing", + "valid", + "sum", + "product", + "mean", + "average", + "variance", + "variancep", + "stdev", + "stdevp", + "stderr", + "distinct", + "ci0", + "ci1", + "median", + "q1", + "q3", + "min", + "max", + "argmin", + "argmax", + "exponential", + "exponentialb" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "key": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "kdeTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "kde" + ] + }, + "signal": { + "type": "string" + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "cumulative": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "counts": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "bandwidth": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "resolve": { + "anyOf": [ + { + "enum": [ + "shared", + "independent" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "independent" + }, + "steps": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "minsteps": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 25 + }, + "maxsteps": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 200 + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "value", + "density" + ] + } + }, + "required": [ + "type", + "field" + ], + "additionalProperties": false + }, + "lookupTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "lookup" + ] + }, + "signal": { + "type": "string" + }, + "from": { + "type": "string" + }, + "key": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "values": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "default": {} + }, + "required": [ + "type", + "from", + "key", + "fields" + ], + "additionalProperties": false + }, + "pivotTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "pivot" + ] + }, + "signal": { + "type": "string" + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "value": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "op": { + "anyOf": [ + { + "enum": [ + "values", + "count", + "missing", + "valid", + "sum", + "product", + "mean", + "average", + "variance", + "variancep", + "stdev", + "stdevp", + "stderr", + "distinct", + "ci0", + "ci1", + "median", + "q1", + "q3", + "min", + "max", + "argmin", + "argmax", + "exponential", + "exponentialb" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "sum" + }, + "limit": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "key": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + "required": [ + "type", + "field", + "value" + ], + "additionalProperties": false + }, + "projectTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "project" + ] + }, + "signal": { + "type": "string" + }, + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "quantileTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "quantile" + ] + }, + "signal": { + "type": "string" + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "probs": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 0.01 + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "prob", + "value" + ] + } + }, + "required": [ + "type", + "field" + ], + "additionalProperties": false + }, + "sampleTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "sample" + ] + }, + "signal": { + "type": "string" + }, + "size": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1000 + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "sequenceTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "sequence" + ] + }, + "signal": { + "type": "string" + }, + "start": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "stop": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "data" + } + }, + "required": [ + "type", + "start", + "stop" + ], + "additionalProperties": false + }, + "timeunitTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "timeunit" + ] + }, + "signal": { + "type": "string" + }, + "field": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "interval": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": true + }, + "units": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "enum": [ + "year", + "quarter", + "month", + "week", + "date", + "day", + "dayofyear", + "hours", + "minutes", + "seconds", + "milliseconds" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "step": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 1 + }, + "maxbins": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": 40 + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "timezone": { + "anyOf": [ + { + "enum": [ + "local", + "utc" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "local" + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "unit0", + "unit1" + ] + } + }, + "required": [ + "type", + "field" + ], + "additionalProperties": false + }, + "windowTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "window" + ] + }, + "signal": { + "type": "string" + }, + "sort": { + "$ref": "#/definitions/compare" + }, + "groupby": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "ops": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "enum": [ + "row_number", + "rank", + "dense_rank", + "percent_rank", + "cume_dist", + "ntile", + "lag", + "lead", + "first_value", + "last_value", + "nth_value", + "prev_value", + "next_value", + "values", + "count", + "missing", + "valid", + "sum", + "product", + "mean", + "average", + "variance", + "variancep", + "stdev", + "stdevp", + "stderr", + "distinct", + "ci0", + "ci1", + "median", + "q1", + "q3", + "min", + "max", + "argmin", + "argmax", + "exponential", + "exponentialb" + ] + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "params": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "aggregate_params": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "frame": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + null, + 0 + ] + }, + "ignorePeers": { + "anyOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + "identifierTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "identifier" + ] + }, + "signal": { + "type": "string" + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + "required": [ + "type", + "as" + ], + "additionalProperties": false + }, + "voronoiTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "voronoi" + ] + }, + "signal": { + "type": "string" + }, + "x": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "y": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "extent": { + "oneOf": [ + { + "type": "array", + "items": {}, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + [ + -100000, + -100000 + ], + [ + 100000, + 100000 + ] + ] + }, + "as": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": "path" + } + }, + "required": [ + "type", + "x", + "y" + ], + "additionalProperties": false + }, + "wordcloudTransform": { + "type": "object", + "properties": { + "type": { + "enum": [ + "wordcloud" + ] + }, + "signal": { + "type": "string" + }, + "size": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 2, + "minItems": 2 + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "font": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ], + "default": "sans-serif" + }, + "fontStyle": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ], + "default": "normal" + }, + "fontWeight": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ], + "default": "normal" + }, + "fontSize": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ], + "default": 14 + }, + "fontSizeRange": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + } + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "type": "null" + } + ], + "default": [ + 10, + 50 + ] + }, + "rotate": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + }, + "text": { + "oneOf": [ + { + "$ref": "#/definitions/scaleField" + }, + { + "$ref": "#/definitions/paramField" + }, + { + "$ref": "#/definitions/expr" + } + ] + }, + "spiral": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "padding": { + "anyOf": [ + { + "type": "number" + }, + { + "$ref": "#/definitions/signalRef" + }, + { + "$ref": "#/definitions/expr" + }, + { + "$ref": "#/definitions/paramField" + } + ] + }, + "as": { + "oneOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/signalRef" + } + ] + }, + "maxItems": 7, + "minItems": 7 + }, + { + "$ref": "#/definitions/signalRef" + } + ], + "default": [ + "x", + "y", + "font", + "fontSize", + "fontStyle", + "fontWeight", + "angle" + ] + } + }, + "required": [ + "type" + ], + "additionalProperties": false + } + }, + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/scope" + }, + { + "properties": { + "$schema": { + "type": "string", + "format": "uri" + }, + "config": { + "type": "object" + }, + "description": { + "type": "string" + }, + "width": { + "$ref": "#/definitions/numberOrSignal" + }, + "height": { + "$ref": "#/definitions/numberOrSignal" + }, + "padding": { + "$ref": "#/definitions/padding" + }, + "autosize": { + "$ref": "#/definitions/autosize" + }, + "background": { + "$ref": "#/definitions/background" + }, + "style": { + "$ref": "#/definitions/style" + } + } + } + ] +} \ No newline at end of file diff --git a/assets/favicon.png b/assets/favicon.png new file mode 100644 index 00000000..f4a7f1ae Binary files /dev/null and b/assets/favicon.png differ diff --git a/assets/icon-template.svg b/assets/icon-template.svg new file mode 100644 index 00000000..163e83d2 --- /dev/null +++ b/assets/icon-template.svg @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 00000000..1cf13b9f Binary files /dev/null and b/assets/images/favicon.png differ diff --git a/assets/javascripts/bundle.83f73b43.min.js b/assets/javascripts/bundle.83f73b43.min.js new file mode 100644 index 00000000..fc981551 --- /dev/null +++ b/assets/javascripts/bundle.83f73b43.min.js @@ -0,0 +1,16 @@ +"use strict";(()=>{var Wi=Object.create;var gr=Object.defineProperty;var Di=Object.getOwnPropertyDescriptor;var Vi=Object.getOwnPropertyNames,Vt=Object.getOwnPropertySymbols,Ni=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty,ao=Object.prototype.propertyIsEnumerable;var io=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,$=(e,t)=>{for(var r in t||(t={}))yr.call(t,r)&&io(e,r,t[r]);if(Vt)for(var r of Vt(t))ao.call(t,r)&&io(e,r,t[r]);return e};var so=(e,t)=>{var r={};for(var o in e)yr.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Vt)for(var o of Vt(e))t.indexOf(o)<0&&ao.call(e,o)&&(r[o]=e[o]);return r};var xr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var zi=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Vi(t))!yr.call(e,n)&&n!==r&&gr(e,n,{get:()=>t[n],enumerable:!(o=Di(t,n))||o.enumerable});return e};var Mt=(e,t,r)=>(r=e!=null?Wi(Ni(e)):{},zi(t||!e||!e.__esModule?gr(r,"default",{value:e,enumerable:!0}):r,e));var co=(e,t,r)=>new Promise((o,n)=>{var i=p=>{try{s(r.next(p))}catch(c){n(c)}},a=p=>{try{s(r.throw(p))}catch(c){n(c)}},s=p=>p.done?o(p.value):Promise.resolve(p.value).then(i,a);s((r=r.apply(e,t)).next())});var lo=xr((Er,po)=>{(function(e,t){typeof Er=="object"&&typeof po!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(Er,function(){"use strict";function e(r){var o=!0,n=!1,i=null,a={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(k){return!!(k&&k!==document&&k.nodeName!=="HTML"&&k.nodeName!=="BODY"&&"classList"in k&&"contains"in k.classList)}function p(k){var ft=k.type,qe=k.tagName;return!!(qe==="INPUT"&&a[ft]&&!k.readOnly||qe==="TEXTAREA"&&!k.readOnly||k.isContentEditable)}function c(k){k.classList.contains("focus-visible")||(k.classList.add("focus-visible"),k.setAttribute("data-focus-visible-added",""))}function l(k){k.hasAttribute("data-focus-visible-added")&&(k.classList.remove("focus-visible"),k.removeAttribute("data-focus-visible-added"))}function f(k){k.metaKey||k.altKey||k.ctrlKey||(s(r.activeElement)&&c(r.activeElement),o=!0)}function u(k){o=!1}function d(k){s(k.target)&&(o||p(k.target))&&c(k.target)}function y(k){s(k.target)&&(k.target.classList.contains("focus-visible")||k.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(k.target))}function L(k){document.visibilityState==="hidden"&&(n&&(o=!0),X())}function X(){document.addEventListener("mousemove",J),document.addEventListener("mousedown",J),document.addEventListener("mouseup",J),document.addEventListener("pointermove",J),document.addEventListener("pointerdown",J),document.addEventListener("pointerup",J),document.addEventListener("touchmove",J),document.addEventListener("touchstart",J),document.addEventListener("touchend",J)}function te(){document.removeEventListener("mousemove",J),document.removeEventListener("mousedown",J),document.removeEventListener("mouseup",J),document.removeEventListener("pointermove",J),document.removeEventListener("pointerdown",J),document.removeEventListener("pointerup",J),document.removeEventListener("touchmove",J),document.removeEventListener("touchstart",J),document.removeEventListener("touchend",J)}function J(k){k.target.nodeName&&k.target.nodeName.toLowerCase()==="html"||(o=!1,te())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",L,!0),X(),r.addEventListener("focus",d,!0),r.addEventListener("blur",y,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var qr=xr((hy,On)=>{"use strict";/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */var $a=/["'&<>]/;On.exports=Pa;function Pa(e){var t=""+e,r=$a.exec(t);if(!r)return t;var o,n="",i=0,a=0;for(i=r.index;i{/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */(function(t,r){typeof It=="object"&&typeof Yr=="object"?Yr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof It=="object"?It.ClipboardJS=r():t.ClipboardJS=r()})(It,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Ui}});var a=i(279),s=i.n(a),p=i(370),c=i.n(p),l=i(817),f=i.n(l);function u(V){try{return document.execCommand(V)}catch(A){return!1}}var d=function(A){var M=f()(A);return u("cut"),M},y=d;function L(V){var A=document.documentElement.getAttribute("dir")==="rtl",M=document.createElement("textarea");M.style.fontSize="12pt",M.style.border="0",M.style.padding="0",M.style.margin="0",M.style.position="absolute",M.style[A?"right":"left"]="-9999px";var F=window.pageYOffset||document.documentElement.scrollTop;return M.style.top="".concat(F,"px"),M.setAttribute("readonly",""),M.value=V,M}var X=function(A,M){var F=L(A);M.container.appendChild(F);var D=f()(F);return u("copy"),F.remove(),D},te=function(A){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},F="";return typeof A=="string"?F=X(A,M):A instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(A==null?void 0:A.type)?F=X(A.value,M):(F=f()(A),u("copy")),F},J=te;function k(V){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?k=function(M){return typeof M}:k=function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},k(V)}var ft=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},M=A.action,F=M===void 0?"copy":M,D=A.container,Y=A.target,$e=A.text;if(F!=="copy"&&F!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(Y!==void 0)if(Y&&k(Y)==="object"&&Y.nodeType===1){if(F==="copy"&&Y.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(F==="cut"&&(Y.hasAttribute("readonly")||Y.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if($e)return J($e,{container:D});if(Y)return F==="cut"?y(Y):J(Y,{container:D})},qe=ft;function Fe(V){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Fe=function(M){return typeof M}:Fe=function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},Fe(V)}function ki(V,A){if(!(V instanceof A))throw new TypeError("Cannot call a class as a function")}function no(V,A){for(var M=0;M0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof D.action=="function"?D.action:this.defaultAction,this.target=typeof D.target=="function"?D.target:this.defaultTarget,this.text=typeof D.text=="function"?D.text:this.defaultText,this.container=Fe(D.container)==="object"?D.container:document.body}},{key:"listenClick",value:function(D){var Y=this;this.listener=c()(D,"click",function($e){return Y.onClick($e)})}},{key:"onClick",value:function(D){var Y=D.delegateTarget||D.currentTarget,$e=this.action(Y)||"copy",Dt=qe({action:$e,container:this.container,target:this.target(Y),text:this.text(Y)});this.emit(Dt?"success":"error",{action:$e,text:Dt,trigger:Y,clearSelection:function(){Y&&Y.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(D){return vr("action",D)}},{key:"defaultTarget",value:function(D){var Y=vr("target",D);if(Y)return document.querySelector(Y)}},{key:"defaultText",value:function(D){return vr("text",D)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(D){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return J(D,Y)}},{key:"cut",value:function(D){return y(D)}},{key:"isSupported",value:function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],Y=typeof D=="string"?[D]:D,$e=!!document.queryCommandSupported;return Y.forEach(function(Dt){$e=$e&&!!document.queryCommandSupported(Dt)}),$e}}]),M}(s()),Ui=Fi},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function a(s,p){for(;s&&s.nodeType!==n;){if(typeof s.matches=="function"&&s.matches(p))return s;s=s.parentNode}}o.exports=a},438:function(o,n,i){var a=i(828);function s(l,f,u,d,y){var L=c.apply(this,arguments);return l.addEventListener(u,L,y),{destroy:function(){l.removeEventListener(u,L,y)}}}function p(l,f,u,d,y){return typeof l.addEventListener=="function"?s.apply(null,arguments):typeof u=="function"?s.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(L){return s(L,f,u,d,y)}))}function c(l,f,u,d){return function(y){y.delegateTarget=a(y.target,f),y.delegateTarget&&d.call(l,y)}}o.exports=p},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var a=Object.prototype.toString.call(i);return i!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var a=Object.prototype.toString.call(i);return a==="[object Function]"}},370:function(o,n,i){var a=i(879),s=i(438);function p(u,d,y){if(!u&&!d&&!y)throw new Error("Missing required arguments");if(!a.string(d))throw new TypeError("Second argument must be a String");if(!a.fn(y))throw new TypeError("Third argument must be a Function");if(a.node(u))return c(u,d,y);if(a.nodeList(u))return l(u,d,y);if(a.string(u))return f(u,d,y);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(u,d,y){return u.addEventListener(d,y),{destroy:function(){u.removeEventListener(d,y)}}}function l(u,d,y){return Array.prototype.forEach.call(u,function(L){L.addEventListener(d,y)}),{destroy:function(){Array.prototype.forEach.call(u,function(L){L.removeEventListener(d,y)})}}}function f(u,d,y){return s(document.body,u,d,y)}o.exports=p},817:function(o){function n(i){var a;if(i.nodeName==="SELECT")i.focus(),a=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var s=i.hasAttribute("readonly");s||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),s||i.removeAttribute("readonly"),a=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var p=window.getSelection(),c=document.createRange();c.selectNodeContents(i),p.removeAllRanges(),p.addRange(c),a=p.toString()}return a}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,a,s){var p=this.e||(this.e={});return(p[i]||(p[i]=[])).push({fn:a,ctx:s}),this},once:function(i,a,s){var p=this;function c(){p.off(i,c),a.apply(s,arguments)}return c._=a,this.on(i,c,s)},emit:function(i){var a=[].slice.call(arguments,1),s=((this.e||(this.e={}))[i]||[]).slice(),p=0,c=s.length;for(p;p0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function N(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],a;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(s){a={error:s}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function q(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o1||p(d,L)})},y&&(n[d]=y(n[d])))}function p(d,y){try{c(o[d](y))}catch(L){u(i[0][3],L)}}function c(d){d.value instanceof nt?Promise.resolve(d.value.v).then(l,f):u(i[0][2],d)}function l(d){p("next",d)}function f(d){p("throw",d)}function u(d,y){d(y),i.shift(),i.length&&p(i[0][0],i[0][1])}}function uo(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof he=="function"?he(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(a){return new Promise(function(s,p){a=e[i](a),n(s,p,a.done,a.value)})}}function n(i,a,s,p){Promise.resolve(p).then(function(c){i({value:c,done:s})},a)}}function H(e){return typeof e=="function"}function ut(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var zt=ut(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(o,n){return n+1+") "+o.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function Qe(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ue=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=he(a),p=s.next();!p.done;p=s.next()){var c=p.value;c.remove(this)}}catch(L){t={error:L}}finally{try{p&&!p.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}else a.remove(this);var l=this.initialTeardown;if(H(l))try{l()}catch(L){i=L instanceof zt?L.errors:[L]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=he(f),d=u.next();!d.done;d=u.next()){var y=d.value;try{ho(y)}catch(L){i=i!=null?i:[],L instanceof zt?i=q(q([],N(i)),N(L.errors)):i.push(L)}}}catch(L){o={error:L}}finally{try{d&&!d.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new zt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)ho(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Qe(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Qe(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Tr=Ue.EMPTY;function qt(e){return e instanceof Ue||e&&"closed"in e&&H(e.remove)&&H(e.add)&&H(e.unsubscribe)}function ho(e){H(e)?e():e.unsubscribe()}var Pe={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var dt={setTimeout:function(e,t){for(var r=[],o=2;o0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,a=n.isStopped,s=n.observers;return i||a?Tr:(this.currentObservers=null,s.push(r),new Ue(function(){o.currentObservers=null,Qe(s,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,a=o.isStopped;n?r.error(i):a&&r.complete()},t.prototype.asObservable=function(){var r=new j;return r.source=this,r},t.create=function(r,o){return new To(r,o)},t}(j);var To=function(e){oe(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:Tr},t}(g);var _r=function(e){oe(t,e);function t(r){var o=e.call(this)||this;return o._value=r,o}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(r){var o=e.prototype._subscribe.call(this,r);return!o.closed&&r.next(this._value),o},t.prototype.getValue=function(){var r=this,o=r.hasError,n=r.thrownError,i=r._value;if(o)throw n;return this._throwIfClosed(),i},t.prototype.next=function(r){e.prototype.next.call(this,this._value=r)},t}(g);var At={now:function(){return(At.delegate||Date).now()},delegate:void 0};var Ct=function(e){oe(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=At);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,a=o._infiniteTimeWindow,s=o._timestampProvider,p=o._windowTime;n||(i.push(r),!a&&i.push(s.now()+p)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,a=n._buffer,s=a.slice(),p=0;p0?e.prototype.schedule.call(this,r,o):(this.delay=o,this.state=r,this.scheduler.flush(this),this)},t.prototype.execute=function(r,o){return o>0||this.closed?e.prototype.execute.call(this,r,o):this._execute(r,o)},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.flush(this),0)},t}(gt);var Lo=function(e){oe(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(yt);var kr=new Lo(Oo);var Mo=function(e){oe(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!==null&&n>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=vt.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var a=r.actions;o!=null&&((i=a[a.length-1])===null||i===void 0?void 0:i.id)!==o&&(vt.cancelAnimationFrame(o),r._scheduled=void 0)},t}(gt);var _o=function(e){oe(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o=this._scheduled;this._scheduled=void 0;var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(yt);var me=new _o(Mo);var S=new j(function(e){return e.complete()});function Yt(e){return e&&H(e.schedule)}function Hr(e){return e[e.length-1]}function Xe(e){return H(Hr(e))?e.pop():void 0}function ke(e){return Yt(Hr(e))?e.pop():void 0}function Bt(e,t){return typeof Hr(e)=="number"?e.pop():t}var xt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Gt(e){return H(e==null?void 0:e.then)}function Jt(e){return H(e[bt])}function Xt(e){return Symbol.asyncIterator&&H(e==null?void 0:e[Symbol.asyncIterator])}function Zt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Zi(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var er=Zi();function tr(e){return H(e==null?void 0:e[er])}function rr(e){return fo(this,arguments,function(){var r,o,n,i;return Nt(this,function(a){switch(a.label){case 0:r=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,nt(r.read())];case 3:return o=a.sent(),n=o.value,i=o.done,i?[4,nt(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,nt(n)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function or(e){return H(e==null?void 0:e.getReader)}function U(e){if(e instanceof j)return e;if(e!=null){if(Jt(e))return ea(e);if(xt(e))return ta(e);if(Gt(e))return ra(e);if(Xt(e))return Ao(e);if(tr(e))return oa(e);if(or(e))return na(e)}throw Zt(e)}function ea(e){return new j(function(t){var r=e[bt]();if(H(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function ta(e){return new j(function(t){for(var r=0;r=2;return function(o){return o.pipe(e?b(function(n,i){return e(n,i,o)}):le,Te(1),r?De(t):Qo(function(){return new ir}))}}function jr(e){return e<=0?function(){return S}:E(function(t,r){var o=[];t.subscribe(T(r,function(n){o.push(n),e=2,!0))}function pe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new g}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,a=i===void 0?!0:i,s=e.resetOnRefCountZero,p=s===void 0?!0:s;return function(c){var l,f,u,d=0,y=!1,L=!1,X=function(){f==null||f.unsubscribe(),f=void 0},te=function(){X(),l=u=void 0,y=L=!1},J=function(){var k=l;te(),k==null||k.unsubscribe()};return E(function(k,ft){d++,!L&&!y&&X();var qe=u=u!=null?u:r();ft.add(function(){d--,d===0&&!L&&!y&&(f=Ur(J,p))}),qe.subscribe(ft),!l&&d>0&&(l=new at({next:function(Fe){return qe.next(Fe)},error:function(Fe){L=!0,X(),f=Ur(te,n,Fe),qe.error(Fe)},complete:function(){y=!0,X(),f=Ur(te,a),qe.complete()}}),U(k).subscribe(l))})(c)}}function Ur(e,t){for(var r=[],o=2;oe.next(document)),e}function P(e,t=document){return Array.from(t.querySelectorAll(e))}function R(e,t=document){let r=fe(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function fe(e,t=document){return t.querySelector(e)||void 0}function Ie(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var wa=O(h(document.body,"focusin"),h(document.body,"focusout")).pipe(_e(1),Q(void 0),m(()=>Ie()||document.body),G(1));function et(e){return wa.pipe(m(t=>e.contains(t)),K())}function $t(e,t){return C(()=>O(h(e,"mouseenter").pipe(m(()=>!0)),h(e,"mouseleave").pipe(m(()=>!1))).pipe(t?Ht(r=>Le(+!r*t)):le,Q(e.matches(":hover"))))}function Jo(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)Jo(e,r)}function x(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)Jo(o,n);return o}function sr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function Tt(e){let t=x("script",{src:e});return C(()=>(document.head.appendChild(t),O(h(t,"load"),h(t,"error").pipe(v(()=>$r(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),_(()=>document.head.removeChild(t)),Te(1))))}var Xo=new g,Ta=C(()=>typeof ResizeObserver=="undefined"?Tt("https://unpkg.com/resize-observer-polyfill"):I(void 0)).pipe(m(()=>new ResizeObserver(e=>e.forEach(t=>Xo.next(t)))),v(e=>O(Ye,I(e)).pipe(_(()=>e.disconnect()))),G(1));function ce(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ge(e){let t=e;for(;t.clientWidth===0&&t.parentElement;)t=t.parentElement;return Ta.pipe(w(r=>r.observe(t)),v(r=>Xo.pipe(b(o=>o.target===t),_(()=>r.unobserve(t)))),m(()=>ce(e)),Q(ce(e)))}function St(e){return{width:e.scrollWidth,height:e.scrollHeight}}function cr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}function Zo(e){let t=[],r=e.parentElement;for(;r;)(e.clientWidth>r.clientWidth||e.clientHeight>r.clientHeight)&&t.push(r),r=(e=r).parentElement;return t.length===0&&t.push(document.documentElement),t}function Ve(e){return{x:e.offsetLeft,y:e.offsetTop}}function en(e){let t=e.getBoundingClientRect();return{x:t.x+window.scrollX,y:t.y+window.scrollY}}function tn(e){return O(h(window,"load"),h(window,"resize")).pipe(Me(0,me),m(()=>Ve(e)),Q(Ve(e)))}function pr(e){return{x:e.scrollLeft,y:e.scrollTop}}function Ne(e){return O(h(e,"scroll"),h(window,"scroll"),h(window,"resize")).pipe(Me(0,me),m(()=>pr(e)),Q(pr(e)))}var rn=new g,Sa=C(()=>I(new IntersectionObserver(e=>{for(let t of e)rn.next(t)},{threshold:0}))).pipe(v(e=>O(Ye,I(e)).pipe(_(()=>e.disconnect()))),G(1));function tt(e){return Sa.pipe(w(t=>t.observe(e)),v(t=>rn.pipe(b(({target:r})=>r===e),_(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function on(e,t=16){return Ne(e).pipe(m(({y:r})=>{let o=ce(e),n=St(e);return r>=n.height-o.height-t}),K())}var lr={drawer:R("[data-md-toggle=drawer]"),search:R("[data-md-toggle=search]")};function nn(e){return lr[e].checked}function Je(e,t){lr[e].checked!==t&&lr[e].click()}function ze(e){let t=lr[e];return h(t,"change").pipe(m(()=>t.checked),Q(t.checked))}function Oa(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function La(){return O(h(window,"compositionstart").pipe(m(()=>!0)),h(window,"compositionend").pipe(m(()=>!1))).pipe(Q(!1))}function an(){let e=h(window,"keydown").pipe(b(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:nn("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),b(({mode:t,type:r})=>{if(t==="global"){let o=Ie();if(typeof o!="undefined")return!Oa(o,r)}return!0}),pe());return La().pipe(v(t=>t?S:e))}function ye(){return new URL(location.href)}function lt(e,t=!1){if(B("navigation.instant")&&!t){let r=x("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function sn(){return new g}function cn(){return location.hash.slice(1)}function pn(e){let t=x("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Ma(e){return O(h(window,"hashchange"),e).pipe(m(cn),Q(cn()),b(t=>t.length>0),G(1))}function ln(e){return Ma(e).pipe(m(t=>fe(`[id="${t}"]`)),b(t=>typeof t!="undefined"))}function Pt(e){let t=matchMedia(e);return ar(r=>t.addListener(()=>r(t.matches))).pipe(Q(t.matches))}function mn(){let e=matchMedia("print");return O(h(window,"beforeprint").pipe(m(()=>!0)),h(window,"afterprint").pipe(m(()=>!1))).pipe(Q(e.matches))}function Nr(e,t){return e.pipe(v(r=>r?t():S))}function zr(e,t){return new j(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let a=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+a*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function je(e,t){return zr(e,t).pipe(v(r=>r.text()),m(r=>JSON.parse(r)),G(1))}function fn(e,t){let r=new DOMParser;return zr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),G(1))}function un(e,t){let r=new DOMParser;return zr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),G(1))}function dn(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function hn(){return O(h(window,"scroll",{passive:!0}),h(window,"resize",{passive:!0})).pipe(m(dn),Q(dn()))}function bn(){return{width:innerWidth,height:innerHeight}}function vn(){return h(window,"resize",{passive:!0}).pipe(m(bn),Q(bn()))}function gn(){return z([hn(),vn()]).pipe(m(([e,t])=>({offset:e,size:t})),G(1))}function mr(e,{viewport$:t,header$:r}){let o=t.pipe(ee("size")),n=z([o,r]).pipe(m(()=>Ve(e)));return z([r,t,n]).pipe(m(([{height:i},{offset:a,size:s},{x:p,y:c}])=>({offset:{x:a.x-p,y:a.y-c+i},size:s})))}function _a(e){return h(e,"message",t=>t.data)}function Aa(e){let t=new g;return t.subscribe(r=>e.postMessage(r)),t}function yn(e,t=new Worker(e)){let r=_a(t),o=Aa(t),n=new g;n.subscribe(o);let i=o.pipe(Z(),ie(!0));return n.pipe(Z(),Re(r.pipe(W(i))),pe())}var Ca=R("#__config"),Ot=JSON.parse(Ca.textContent);Ot.base=`${new URL(Ot.base,ye())}`;function xe(){return Ot}function B(e){return Ot.features.includes(e)}function Ee(e,t){return typeof t!="undefined"?Ot.translations[e].replace("#",t.toString()):Ot.translations[e]}function Se(e,t=document){return R(`[data-md-component=${e}]`,t)}function ae(e,t=document){return P(`[data-md-component=${e}]`,t)}function ka(e){let t=R(".md-typeset > :first-child",e);return h(t,"click",{once:!0}).pipe(m(()=>R(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function xn(e){if(!B("announce.dismiss")||!e.childElementCount)return S;if(!e.hidden){let t=R(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return C(()=>{let t=new g;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),ka(e).pipe(w(r=>t.next(r)),_(()=>t.complete()),m(r=>$({ref:e},r)))})}function Ha(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function En(e,t){let r=new g;return r.subscribe(({hidden:o})=>{e.hidden=o}),Ha(e,t).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))}function Rt(e,t){return t==="inline"?x("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"})):x("div",{class:"md-tooltip",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"}))}function wn(...e){return x("div",{class:"md-tooltip2",role:"tooltip"},x("div",{class:"md-tooltip2__inner md-typeset"},e))}function Tn(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return x("aside",{class:"md-annotation",tabIndex:0},Rt(t),x("a",{href:r,class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}else return x("aside",{class:"md-annotation",tabIndex:0},Rt(t),x("span",{class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}function Sn(e){return x("button",{class:"md-clipboard md-icon",title:Ee("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}var Ln=Mt(qr());function Qr(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(p=>!e.terms[p]).reduce((p,c)=>[...p,x("del",null,(0,Ln.default)(c))," "],[]).slice(0,-1),i=xe(),a=new URL(e.location,i.base);B("search.highlight")&&a.searchParams.set("h",Object.entries(e.terms).filter(([,p])=>p).reduce((p,[c])=>`${p} ${c}`.trim(),""));let{tags:s}=xe();return x("a",{href:`${a}`,class:"md-search-result__link",tabIndex:-1},x("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&x("div",{class:"md-search-result__icon md-icon"}),r>0&&x("h1",null,e.title),r<=0&&x("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&x("nav",{class:"md-tags"},e.tags.map(p=>{let c=s?p in s?`md-tag-icon md-tag--${s[p]}`:"md-tag-icon":"";return x("span",{class:`md-tag ${c}`},p)})),o>0&&n.length>0&&x("p",{class:"md-search-result__terms"},Ee("search.result.term.missing"),": ",...n)))}function Mn(e){let t=e[0].score,r=[...e],o=xe(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),a=r.findIndex(l=>l.scoreQr(l,1)),...p.length?[x("details",{class:"md-search-result__more"},x("summary",{tabIndex:-1},x("div",null,p.length>0&&p.length===1?Ee("search.result.more.one"):Ee("search.result.more.other",p.length))),...p.map(l=>Qr(l,1)))]:[]];return x("li",{class:"md-search-result__item"},c)}function _n(e){return x("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>x("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?sr(r):r)))}function Kr(e){let t=`tabbed-control tabbed-control--${e}`;return x("div",{class:t,hidden:!0},x("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function An(e){return x("div",{class:"md-typeset__scrollwrap"},x("div",{class:"md-typeset__table"},e))}function Ra(e){var o;let t=xe(),r=new URL(`../${e.version}/`,t.base);return x("li",{class:"md-version__item"},x("a",{href:`${r}`,class:"md-version__link"},e.title,((o=t.version)==null?void 0:o.alias)&&e.aliases.length>0&&x("span",{class:"md-version__alias"},e.aliases[0])))}function Cn(e,t){var o;let r=xe();return e=e.filter(n=>{var i;return!((i=n.properties)!=null&&i.hidden)}),x("div",{class:"md-version"},x("button",{class:"md-version__current","aria-label":Ee("select.version")},t.title,((o=r.version)==null?void 0:o.alias)&&t.aliases.length>0&&x("span",{class:"md-version__alias"},t.aliases[0])),x("ul",{class:"md-version__list"},e.map(Ra)))}var Ia=0;function ja(e){let t=z([et(e),$t(e)]).pipe(m(([o,n])=>o||n),K()),r=C(()=>Zo(e)).pipe(ne(Ne),pt(1),He(t),m(()=>en(e)));return t.pipe(Ae(o=>o),v(()=>z([t,r])),m(([o,n])=>({active:o,offset:n})),pe())}function Fa(e,t){let{content$:r,viewport$:o}=t,n=`__tooltip2_${Ia++}`;return C(()=>{let i=new g,a=new _r(!1);i.pipe(Z(),ie(!1)).subscribe(a);let s=a.pipe(Ht(c=>Le(+!c*250,kr)),K(),v(c=>c?r:S),w(c=>c.id=n),pe());z([i.pipe(m(({active:c})=>c)),s.pipe(v(c=>$t(c,250)),Q(!1))]).pipe(m(c=>c.some(l=>l))).subscribe(a);let p=a.pipe(b(c=>c),re(s,o),m(([c,l,{size:f}])=>{let u=e.getBoundingClientRect(),d=u.width/2;if(l.role==="tooltip")return{x:d,y:8+u.height};if(u.y>=f.height/2){let{height:y}=ce(l);return{x:d,y:-16-y}}else return{x:d,y:16+u.height}}));return z([s,i,p]).subscribe(([c,{offset:l},f])=>{c.style.setProperty("--md-tooltip-host-x",`${l.x}px`),c.style.setProperty("--md-tooltip-host-y",`${l.y}px`),c.style.setProperty("--md-tooltip-x",`${f.x}px`),c.style.setProperty("--md-tooltip-y",`${f.y}px`),c.classList.toggle("md-tooltip2--top",f.y<0),c.classList.toggle("md-tooltip2--bottom",f.y>=0)}),a.pipe(b(c=>c),re(s,(c,l)=>l),b(c=>c.role==="tooltip")).subscribe(c=>{let l=ce(R(":scope > *",c));c.style.setProperty("--md-tooltip-width",`${l.width}px`),c.style.setProperty("--md-tooltip-tail","0px")}),a.pipe(K(),ve(me),re(s)).subscribe(([c,l])=>{l.classList.toggle("md-tooltip2--active",c)}),z([a.pipe(b(c=>c)),s]).subscribe(([c,l])=>{l.role==="dialog"?(e.setAttribute("aria-controls",n),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("aria-describedby",n)}),a.pipe(b(c=>!c)).subscribe(()=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-describedby"),e.removeAttribute("aria-haspopup")}),ja(e).pipe(w(c=>i.next(c)),_(()=>i.complete()),m(c=>$({ref:e},c)))})}function mt(e,{viewport$:t},r=document.body){return Fa(e,{content$:new j(o=>{let n=e.title,i=wn(n);return o.next(i),e.removeAttribute("title"),r.append(i),()=>{i.remove(),e.setAttribute("title",n)}}),viewport$:t})}function Ua(e,t){let r=C(()=>z([tn(e),Ne(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:a,height:s}=ce(e);return{x:o-i.x+a/2,y:n-i.y+s/2}}));return et(e).pipe(v(o=>r.pipe(m(n=>({active:o,offset:n})),Te(+!o||1/0))))}function kn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return C(()=>{let i=new g,a=i.pipe(Z(),ie(!0));return i.subscribe({next({offset:s}){e.style.setProperty("--md-tooltip-x",`${s.x}px`),e.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),tt(e).pipe(W(a)).subscribe(s=>{e.toggleAttribute("data-md-visible",s)}),O(i.pipe(b(({active:s})=>s)),i.pipe(_e(250),b(({active:s})=>!s))).subscribe({next({active:s}){s?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(Me(16,me)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(pt(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?e.style.setProperty("--md-tooltip-0",`${-s}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),h(n,"click").pipe(W(a),b(s=>!(s.metaKey||s.ctrlKey))).subscribe(s=>{s.stopPropagation(),s.preventDefault()}),h(n,"mousedown").pipe(W(a),re(i)).subscribe(([s,{active:p}])=>{var c;if(s.button!==0||s.metaKey||s.ctrlKey)s.preventDefault();else if(p){s.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(c=Ie())==null||c.blur()}}),r.pipe(W(a),b(s=>s===o),Ge(125)).subscribe(()=>e.focus()),Ua(e,t).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))})}function Wa(e){return e.tagName==="CODE"?P(".c, .c1, .cm",e):[e]}function Da(e){let t=[];for(let r of Wa(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let a;for(;a=/(\(\d+\))(!)?/.exec(i.textContent);){let[,s,p]=a;if(typeof p=="undefined"){let c=i.splitText(a.index);i=c.splitText(s.length),t.push(c)}else{i.textContent=s,t.push(i);break}}}}return t}function Hn(e,t){t.append(...Array.from(e.childNodes))}function fr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,a=new Map;for(let s of Da(t)){let[,p]=s.textContent.match(/\((\d+)\)/);fe(`:scope > li:nth-child(${p})`,e)&&(a.set(p,Tn(p,i)),s.replaceWith(a.get(p)))}return a.size===0?S:C(()=>{let s=new g,p=s.pipe(Z(),ie(!0)),c=[];for(let[l,f]of a)c.push([R(".md-typeset",f),R(`:scope > li:nth-child(${l})`,e)]);return o.pipe(W(p)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of c)l?Hn(f,u):Hn(u,f)}),O(...[...a].map(([,l])=>kn(l,t,{target$:r}))).pipe(_(()=>s.complete()),pe())})}function $n(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return $n(t)}}function Pn(e,t){return C(()=>{let r=$n(e);return typeof r!="undefined"?fr(r,e,t):S})}var Rn=Mt(Br());var Va=0;function In(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return In(t)}}function Na(e){return ge(e).pipe(m(({width:t})=>({scrollable:St(e).width>t})),ee("scrollable"))}function jn(e,t){let{matches:r}=matchMedia("(hover)"),o=C(()=>{let n=new g,i=n.pipe(jr(1));n.subscribe(({scrollable:c})=>{c&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let a=[];if(Rn.default.isSupported()&&(e.closest(".copy")||B("content.code.copy")&&!e.closest(".no-copy"))){let c=e.closest("pre");c.id=`__code_${Va++}`;let l=Sn(c.id);c.insertBefore(l,e),B("content.tooltips")&&a.push(mt(l,{viewport$}))}let s=e.closest(".highlight");if(s instanceof HTMLElement){let c=In(s);if(typeof c!="undefined"&&(s.classList.contains("annotate")||B("content.code.annotate"))){let l=fr(c,e,t);a.push(ge(s).pipe(W(i),m(({width:f,height:u})=>f&&u),K(),v(f=>f?l:S)))}}return P(":scope > span[id]",e).length&&e.classList.add("md-code__content"),Na(e).pipe(w(c=>n.next(c)),_(()=>n.complete()),m(c=>$({ref:e},c)),Re(...a))});return B("content.lazy")?tt(e).pipe(b(n=>n),Te(1),v(()=>o)):o}function za(e,{target$:t,print$:r}){let o=!0;return O(t.pipe(m(n=>n.closest("details:not([open])")),b(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(b(n=>n||!o),w(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function Fn(e,t){return C(()=>{let r=new g;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),za(e,t).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}var Un=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel p,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel p{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.attributeBoxEven,.attributeBoxOdd{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var Gr,Qa=0;function Ka(){return typeof mermaid=="undefined"||mermaid instanceof Element?Tt("https://lyrion.org/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js"):I(void 0)}function Wn(e){return e.classList.remove("mermaid"),Gr||(Gr=Ka().pipe(w(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Un,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),G(1))),Gr.subscribe(()=>co(this,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${Qa++}`,r=x("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),a=r.attachShadow({mode:"closed"});a.innerHTML=n,e.replaceWith(r),i==null||i(a)})),Gr.pipe(m(()=>({ref:e})))}var Dn=x("table");function Vn(e){return e.replaceWith(Dn),Dn.replaceWith(An(e)),I({ref:e})}function Ya(e){let t=e.find(r=>r.checked)||e[0];return O(...e.map(r=>h(r,"change").pipe(m(()=>R(`label[for="${r.id}"]`))))).pipe(Q(R(`label[for="${t.id}"]`)),m(r=>({active:r})))}function Nn(e,{viewport$:t,target$:r}){let o=R(".tabbed-labels",e),n=P(":scope > input",e),i=Kr("prev");e.append(i);let a=Kr("next");return e.append(a),C(()=>{let s=new g,p=s.pipe(Z(),ie(!0));z([s,ge(e),tt(e)]).pipe(W(p),Me(1,me)).subscribe({next([{active:c},l]){let f=Ve(c),{width:u}=ce(c);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let d=pr(o);(f.xd.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),z([Ne(o),ge(o)]).pipe(W(p)).subscribe(([c,l])=>{let f=St(o);i.hidden=c.x<16,a.hidden=c.x>f.width-l.width-16}),O(h(i,"click").pipe(m(()=>-1)),h(a,"click").pipe(m(()=>1))).pipe(W(p)).subscribe(c=>{let{width:l}=ce(o);o.scrollBy({left:l*c,behavior:"smooth"})}),r.pipe(W(p),b(c=>n.includes(c))).subscribe(c=>c.click()),o.classList.add("tabbed-labels--linked");for(let c of n){let l=R(`label[for="${c.id}"]`);l.replaceChildren(x("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),h(l.firstElementChild,"click").pipe(W(p),b(f=>!(f.metaKey||f.ctrlKey)),w(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return B("content.tabs.link")&&s.pipe(Ce(1),re(t)).subscribe(([{active:c},{offset:l}])=>{let f=c.innerText.trim();if(c.hasAttribute("data-md-switching"))c.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let y of P("[data-tabs]"))for(let L of P(":scope > input",y)){let X=R(`label[for="${L.id}"]`);if(X!==c&&X.innerText.trim()===f){X.setAttribute("data-md-switching",""),L.click();break}}window.scrollTo({top:e.offsetTop-u});let d=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...d])])}}),s.pipe(W(p)).subscribe(()=>{for(let c of P("audio, video",e))c.pause()}),Ya(n).pipe(w(c=>s.next(c)),_(()=>s.complete()),m(c=>$({ref:e},c)))}).pipe(Ke(se))}function zn(e,{viewport$:t,target$:r,print$:o}){return O(...P(".annotate:not(.highlight)",e).map(n=>Pn(n,{target$:r,print$:o})),...P("pre:not(.mermaid) > code",e).map(n=>jn(n,{target$:r,print$:o})),...P("pre.mermaid",e).map(n=>Wn(n)),...P("table:not([class])",e).map(n=>Vn(n)),...P("details",e).map(n=>Fn(n,{target$:r,print$:o})),...P("[data-tabs]",e).map(n=>Nn(n,{viewport$:t,target$:r})),...P("[title]",e).filter(()=>B("content.tooltips")).map(n=>mt(n,{viewport$:t})))}function Ba(e,{alert$:t}){return t.pipe(v(r=>O(I(!0),I(!1).pipe(Ge(2e3))).pipe(m(o=>({message:r,active:o})))))}function qn(e,t){let r=R(".md-typeset",e);return C(()=>{let o=new g;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),Ba(e,t).pipe(w(n=>o.next(n)),_(()=>o.complete()),m(n=>$({ref:e},n)))})}var Ga=0;function Ja(e,t){document.body.append(e);let{width:r}=ce(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=cr(t),n=typeof o!="undefined"?Ne(o):I({x:0,y:0}),i=O(et(t),$t(t)).pipe(K());return z([i,n]).pipe(m(([a,s])=>{let{x:p,y:c}=Ve(t),l=ce(t),f=t.closest("table");return f&&t.parentElement&&(p+=f.offsetLeft+t.parentElement.offsetLeft,c+=f.offsetTop+t.parentElement.offsetTop),{active:a,offset:{x:p-s.x+l.width/2-r/2,y:c-s.y+l.height+8}}}))}function Qn(e){let t=e.title;if(!t.length)return S;let r=`__tooltip_${Ga++}`,o=Rt(r,"inline"),n=R(".md-typeset",o);return n.innerHTML=t,C(()=>{let i=new g;return i.subscribe({next({offset:a}){o.style.setProperty("--md-tooltip-x",`${a.x}px`),o.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),O(i.pipe(b(({active:a})=>a)),i.pipe(_e(250),b(({active:a})=>!a))).subscribe({next({active:a}){a?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe(Me(16,me)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(pt(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?o.style.setProperty("--md-tooltip-0",`${-a}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),Ja(o,e).pipe(w(a=>i.next(a)),_(()=>i.complete()),m(a=>$({ref:e},a)))}).pipe(Ke(se))}function Xa({viewport$:e}){if(!B("header.autohide"))return I(!1);let t=e.pipe(m(({offset:{y:n}})=>n),Be(2,1),m(([n,i])=>[nMath.abs(i-n.y)>100),m(([,[n]])=>n),K()),o=ze("search");return z([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),K(),v(n=>n?r:I(!1)),Q(!1))}function Kn(e,t){return C(()=>z([ge(e),Xa(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),K((r,o)=>r.height===o.height&&r.hidden===o.hidden),G(1))}function Yn(e,{header$:t,main$:r}){return C(()=>{let o=new g,n=o.pipe(Z(),ie(!0));o.pipe(ee("active"),He(t)).subscribe(([{active:a},{hidden:s}])=>{e.classList.toggle("md-header--shadow",a&&!s),e.hidden=s});let i=ue(P("[title]",e)).pipe(b(()=>B("content.tooltips")),ne(a=>Qn(a)));return r.subscribe(o),t.pipe(W(n),m(a=>$({ref:e},a)),Re(i.pipe(W(n))))})}function Za(e,{viewport$:t,header$:r}){return mr(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=ce(e);return{active:o>=n}}),ee("active"))}function Bn(e,t){return C(()=>{let r=new g;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=fe(".md-content h1");return typeof o=="undefined"?S:Za(o,t).pipe(w(n=>r.next(n)),_(()=>r.complete()),m(n=>$({ref:e},n)))})}function Gn(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),K()),n=o.pipe(v(()=>ge(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),ee("bottom"))));return z([o,n,t]).pipe(m(([i,{top:a,bottom:s},{offset:{y:p},size:{height:c}}])=>(c=Math.max(0,c-Math.max(0,a-p,i)-Math.max(0,c+p-s)),{offset:a-i,height:c,active:a-i<=p})),K((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function es(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return I(...e).pipe(ne(o=>h(o,"change").pipe(m(()=>o))),Q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),G(1))}function Jn(e){let t=P("input",e),r=x("meta",{name:"theme-color"});document.head.appendChild(r);let o=x("meta",{name:"color-scheme"});document.head.appendChild(o);let n=Pt("(prefers-color-scheme: light)");return C(()=>{let i=new g;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),p=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=p.getAttribute("data-md-color-scheme"),a.color.primary=p.getAttribute("data-md-color-primary"),a.color.accent=p.getAttribute("data-md-color-accent")}for(let[s,p]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,p);for(let s=0;sa.key==="Enter"),re(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(m(()=>{let a=Se("header"),s=window.getComputedStyle(a);return o.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(p=>(+p).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(ve(se)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),es(t).pipe(W(n.pipe(Ce(1))),ct(),w(a=>i.next(a)),_(()=>i.complete()),m(a=>$({ref:e},a)))})}function Xn(e,{progress$:t}){return C(()=>{let r=new g;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(w(o=>r.next({value:o})),_(()=>r.complete()),m(o=>({ref:e,value:o})))})}var Jr=Mt(Br());function ts(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Zn({alert$:e}){Jr.default.isSupported()&&new j(t=>{new Jr.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||ts(R(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(w(t=>{t.trigger.focus()}),m(()=>Ee("clipboard.copied"))).subscribe(e)}function ei(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function rs(e,t){let r=new Map;for(let o of P("url",e)){let n=R("loc",o),i=[ei(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let a of P("[rel=alternate]",o)){let s=a.getAttribute("href");s!=null&&i.push(ei(new URL(s),t))}}return r}function ur(e){return un(new URL("sitemap.xml",e)).pipe(m(t=>rs(t,new URL(e))),de(()=>I(new Map)))}function os(e,t){if(!(e.target instanceof Element))return S;let r=e.target.closest("a");if(r===null)return S;if(r.target||e.metaKey||e.ctrlKey)return S;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),I(new URL(r.href))):S}function ti(e){let t=new Map;for(let r of P(":scope > *",e.head))t.set(r.outerHTML,r);return t}function ri(e){for(let t of P("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return I(e)}function ns(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...B("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=fe(o),i=fe(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=ti(document);for(let[o,n]of ti(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values()){let n=o.getAttribute("name");n!=="theme-color"&&n!=="color-scheme"&&o.remove()}let r=Se("container");return We(P("script",r)).pipe(v(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new j(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),S}),Z(),ie(document))}function oi({location$:e,viewport$:t,progress$:r}){let o=xe();if(location.protocol==="file:")return S;let n=ur(o.base);I(document).subscribe(ri);let i=h(document.body,"click").pipe(He(n),v(([p,c])=>os(p,c)),pe()),a=h(window,"popstate").pipe(m(ye),pe());i.pipe(re(t)).subscribe(([p,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",p)}),O(i,a).subscribe(e);let s=e.pipe(ee("pathname"),v(p=>fn(p,{progress$:r}).pipe(de(()=>(lt(p,!0),S)))),v(ri),v(ns),pe());return O(s.pipe(re(e,(p,c)=>c)),s.pipe(v(()=>e),ee("pathname"),v(()=>e),ee("hash")),e.pipe(K((p,c)=>p.pathname===c.pathname&&p.hash===c.hash),v(()=>i),w(()=>history.back()))).subscribe(p=>{var c,l;history.state!==null||!p.hash?window.scrollTo(0,(l=(c=history.state)==null?void 0:c.y)!=null?l:0):(history.scrollRestoration="auto",pn(p.hash),history.scrollRestoration="manual")}),e.subscribe(()=>{history.scrollRestoration="manual"}),h(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),t.pipe(ee("offset"),_e(100)).subscribe(({offset:p})=>{history.replaceState(p,"")}),s}var ni=Mt(qr());function ii(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,a)=>`${i}${a}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return a=>(0,ni.default)(a).replace(i,o).replace(/<\/mark>(\s+)]*>/img,"$1")}}function jt(e){return e.type===1}function dr(e){return e.type===3}function ai(e,t){let r=yn(e);return O(I(location.protocol!=="file:"),ze("search")).pipe(Ae(o=>o),v(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:B("search.suggest")}}})),r}function si(e){var l;let{selectedVersionSitemap:t,selectedVersionBaseURL:r,currentLocation:o,currentBaseURL:n}=e,i=(l=Xr(n))==null?void 0:l.pathname;if(i===void 0)return;let a=ss(o.pathname,i);if(a===void 0)return;let s=ps(t.keys());if(!t.has(s))return;let p=Xr(a,s);if(!p||!t.has(p.href))return;let c=Xr(a,r);if(c)return c.hash=o.hash,c.search=o.search,c}function Xr(e,t){try{return new URL(e,t)}catch(r){return}}function ss(e,t){if(e.startsWith(t))return e.slice(t.length)}function cs(e,t){let r=Math.min(e.length,t.length),o;for(o=0;oS)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:a,aliases:s})=>a===i||s.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),v(n=>h(document.body,"click").pipe(b(i=>!i.metaKey&&!i.ctrlKey),re(o),v(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&n.has(s.href)){let p=s.href;return!i.target.closest(".md-version")&&n.get(p)===a?S:(i.preventDefault(),I(new URL(p)))}}return S}),v(i=>ur(i).pipe(m(a=>{var s;return(s=si({selectedVersionSitemap:a,selectedVersionBaseURL:i,currentLocation:ye(),currentBaseURL:t.base}))!=null?s:i})))))).subscribe(n=>lt(n,!0)),z([r,o]).subscribe(([n,i])=>{R(".md-header__topic").appendChild(Cn(n,i))}),e.pipe(v(()=>o)).subscribe(n=>{var a;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let s=((a=t.version)==null?void 0:a.default)||"latest";Array.isArray(s)||(s=[s]);e:for(let p of s)for(let c of n.aliases.concat(n.version))if(new RegExp(p,"i").test(c)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let s of ae("outdated"))s.hidden=!1})}function ls(e,{worker$:t}){let{searchParams:r}=ye();r.has("q")&&(Je("search",!0),e.value=r.get("q"),e.focus(),ze("search").pipe(Ae(i=>!i)).subscribe(()=>{let i=ye();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=et(e),n=O(t.pipe(Ae(jt)),h(e,"keyup"),o).pipe(m(()=>e.value),K());return z([n,o]).pipe(m(([i,a])=>({value:i,focus:a})),G(1))}function pi(e,{worker$:t}){let r=new g,o=r.pipe(Z(),ie(!0));z([t.pipe(Ae(jt)),r],(i,a)=>a).pipe(ee("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(ee("focus")).subscribe(({focus:i})=>{i&&Je("search",i)}),h(e.form,"reset").pipe(W(o)).subscribe(()=>e.focus());let n=R("header [for=__search]");return h(n,"click").subscribe(()=>e.focus()),ls(e,{worker$:t}).pipe(w(i=>r.next(i)),_(()=>r.complete()),m(i=>$({ref:e},i)),G(1))}function li(e,{worker$:t,query$:r}){let o=new g,n=on(e.parentElement).pipe(b(Boolean)),i=e.parentElement,a=R(":scope > :first-child",e),s=R(":scope > :last-child",e);ze("search").subscribe(l=>s.setAttribute("role",l?"list":"presentation")),o.pipe(re(r),Wr(t.pipe(Ae(jt)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:a.textContent=f.length?Ee("search.result.none"):Ee("search.result.placeholder");break;case 1:a.textContent=Ee("search.result.one");break;default:let u=sr(l.length);a.textContent=Ee("search.result.other",u)}});let p=o.pipe(w(()=>s.innerHTML=""),v(({items:l})=>O(I(...l.slice(0,10)),I(...l.slice(10)).pipe(Be(4),Vr(n),v(([f])=>f)))),m(Mn),pe());return p.subscribe(l=>s.appendChild(l)),p.pipe(ne(l=>{let f=fe("details",l);return typeof f=="undefined"?S:h(f,"toggle").pipe(W(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(b(dr),m(({data:l})=>l)).pipe(w(l=>o.next(l)),_(()=>o.complete()),m(l=>$({ref:e},l)))}function ms(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=ye();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function mi(e,t){let r=new g,o=r.pipe(Z(),ie(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),h(e,"click").pipe(W(o)).subscribe(n=>n.preventDefault()),ms(e,t).pipe(w(n=>r.next(n)),_(()=>r.complete()),m(n=>$({ref:e},n)))}function fi(e,{worker$:t,keyboard$:r}){let o=new g,n=Se("search-query"),i=O(h(n,"keydown"),h(n,"focus")).pipe(ve(se),m(()=>n.value),K());return o.pipe(He(i),m(([{suggest:s},p])=>{let c=p.split(/([\s-]+)/);if(s!=null&&s.length&&c[c.length-1]){let l=s[s.length-1];l.startsWith(c[c.length-1])&&(c[c.length-1]=l)}else c.length=0;return c})).subscribe(s=>e.innerHTML=s.join("").replace(/\s/g," ")),r.pipe(b(({mode:s})=>s==="search")).subscribe(s=>{switch(s.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(b(dr),m(({data:s})=>s)).pipe(w(s=>o.next(s)),_(()=>o.complete()),m(()=>({ref:e})))}function ui(e,{index$:t,keyboard$:r}){let o=xe();try{let n=ai(o.search,t),i=Se("search-query",e),a=Se("search-result",e);h(e,"click").pipe(b(({target:p})=>p instanceof Element&&!!p.closest("a"))).subscribe(()=>Je("search",!1)),r.pipe(b(({mode:p})=>p==="search")).subscribe(p=>{let c=Ie();switch(p.type){case"Enter":if(c===i){let l=new Map;for(let f of P(":first-child [href]",a)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,d])=>d-u);f.click()}p.claim()}break;case"Escape":case"Tab":Je("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof c=="undefined")i.focus();else{let l=[i,...P(":not(details) > [href], summary, details[open] [href]",a)],f=Math.max(0,(Math.max(0,l.indexOf(c))+l.length+(p.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}p.claim();break;default:i!==Ie()&&i.focus()}}),r.pipe(b(({mode:p})=>p==="global")).subscribe(p=>{switch(p.type){case"f":case"s":case"/":i.focus(),i.select(),p.claim();break}});let s=pi(i,{worker$:n});return O(s,li(a,{worker$:n,query$:s})).pipe(Re(...ae("search-share",e).map(p=>mi(p,{query$:s})),...ae("search-suggest",e).map(p=>fi(p,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,Ye}}function di(e,{index$:t,location$:r}){return z([t,r.pipe(Q(ye()),b(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>ii(o.config)(n.searchParams.get("h"))),m(o=>{var a;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let p=s.textContent,c=o(p);c.length>p.length&&n.set(s,c)}for(let[s,p]of n){let{childNodes:c}=x("span",null,p);s.replaceWith(...Array.from(c))}return{ref:e,nodes:n}}))}function fs(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return z([r,t]).pipe(m(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(n,Math.max(0,s-i))-n,{height:a,locked:s>=i+n})),K((i,a)=>i.height===a.height&&i.locked===a.locked))}function Zr(e,o){var n=o,{header$:t}=n,r=so(n,["header$"]);let i=R(".md-sidebar__scrollwrap",e),{y:a}=Ve(i);return C(()=>{let s=new g,p=s.pipe(Z(),ie(!0)),c=s.pipe(Me(0,me));return c.pipe(re(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),c.pipe(Ae()).subscribe(()=>{for(let l of P(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=ce(f);f.scrollTo({top:u-d/2})}}}),ue(P("label[tabindex]",e)).pipe(ne(l=>h(l,"click").pipe(ve(se),m(()=>l),W(p)))).subscribe(l=>{let f=R(`[id="${l.htmlFor}"]`);R(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),fs(e,r).pipe(w(l=>s.next(l)),_(()=>s.complete()),m(l=>$({ref:e},l)))})}function hi(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return st(je(`${r}/releases/latest`).pipe(de(()=>S),m(o=>({version:o.tag_name})),De({})),je(r).pipe(de(()=>S),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),De({}))).pipe(m(([o,n])=>$($({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return je(r).pipe(m(o=>({repositories:o.public_repos})),De({}))}}function bi(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return st(je(`${r}/releases/permalink/latest`).pipe(de(()=>S),m(({tag_name:o})=>({version:o})),De({})),je(r).pipe(de(()=>S),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),De({}))).pipe(m(([o,n])=>$($({},o),n)))}function vi(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return hi(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return bi(r,o)}return S}var us;function ds(e){return us||(us=C(()=>{let t=__md_get("__source",sessionStorage);if(t)return I(t);if(ae("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return S}return vi(e.href).pipe(w(o=>__md_set("__source",o,sessionStorage)))}).pipe(de(()=>S),b(t=>Object.keys(t).length>0),m(t=>({facts:t})),G(1)))}function gi(e){let t=R(":scope > :last-child",e);return C(()=>{let r=new g;return r.subscribe(({facts:o})=>{t.appendChild(_n(o)),t.classList.add("md-source__repository--active")}),ds(e).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}function hs(e,{viewport$:t,header$:r}){return ge(document.body).pipe(v(()=>mr(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),ee("hidden"))}function yi(e,t){return C(()=>{let r=new g;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(B("navigation.tabs.sticky")?I({hidden:!1}):hs(e,t)).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}function bs(e,{viewport$:t,header$:r}){let o=new Map,n=P(".md-nav__link",e);for(let s of n){let p=decodeURIComponent(s.hash.substring(1)),c=fe(`[id="${p}"]`);typeof c!="undefined"&&o.set(s,c)}let i=r.pipe(ee("height"),m(({height:s})=>{let p=Se("main"),c=R(":scope > :first-child",p);return s+.8*(c.offsetTop-p.offsetTop)}),pe());return ge(document.body).pipe(ee("height"),v(s=>C(()=>{let p=[];return I([...o].reduce((c,[l,f])=>{for(;p.length&&o.get(p[p.length-1]).tagName>=f.tagName;)p.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let d=f.offsetParent;for(;d;d=d.offsetParent)u+=d.offsetTop;return c.set([...p=[...p,l]].reverse(),u)},new Map))}).pipe(m(p=>new Map([...p].sort(([,c],[,l])=>c-l))),He(i),v(([p,c])=>t.pipe(Fr(([l,f],{offset:{y:u},size:d})=>{let y=u+d.height>=Math.floor(s.height);for(;f.length;){let[,L]=f[0];if(L-c=u&&!y)f=[l.pop(),...f];else break}return[l,f]},[[],[...p]]),K((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([s,p])=>({prev:s.map(([c])=>c),next:p.map(([c])=>c)})),Q({prev:[],next:[]}),Be(2,1),m(([s,p])=>s.prev.length{let i=new g,a=i.pipe(Z(),ie(!0));if(i.subscribe(({prev:s,next:p})=>{for(let[c]of p)c.classList.remove("md-nav__link--passed"),c.classList.remove("md-nav__link--active");for(let[c,[l]]of s.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",c===s.length-1)}),B("toc.follow")){let s=O(t.pipe(_e(1),m(()=>{})),t.pipe(_e(250),m(()=>"smooth")));i.pipe(b(({prev:p})=>p.length>0),He(o.pipe(ve(se))),re(s)).subscribe(([[{prev:p}],c])=>{let[l]=p[p.length-1];if(l.offsetHeight){let f=cr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=ce(f);f.scrollTo({top:u-d/2,behavior:c})}}})}return B("navigation.tracking")&&t.pipe(W(a),ee("offset"),_e(250),Ce(1),W(n.pipe(Ce(1))),ct({delay:250}),re(i)).subscribe(([,{prev:s}])=>{let p=ye(),c=s[s.length-1];if(c&&c.length){let[l]=c,{hash:f}=new URL(l.href);p.hash!==f&&(p.hash=f,history.replaceState({},"",`${p}`))}else p.hash="",history.replaceState({},"",`${p}`)}),bs(e,{viewport$:t,header$:r}).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))})}function vs(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:a}})=>a),Be(2,1),m(([a,s])=>a>s&&s>0),K()),i=r.pipe(m(({active:a})=>a));return z([i,n]).pipe(m(([a,s])=>!(a&&s)),K(),W(o.pipe(Ce(1))),ie(!0),ct({delay:250}),m(a=>({hidden:a})))}function Ei(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new g,a=i.pipe(Z(),ie(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(W(a),ee("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),h(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),vs(e,{viewport$:t,main$:o,target$:n}).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))}function wi({document$:e,viewport$:t}){e.pipe(v(()=>P(".md-ellipsis")),ne(r=>tt(r).pipe(W(e.pipe(Ce(1))),b(o=>o),m(()=>r),Te(1))),b(r=>r.offsetWidth{let o=r.innerText,n=r.closest("a")||r;return n.title=o,B("content.tooltips")?mt(n,{viewport$:t}).pipe(W(e.pipe(Ce(1))),_(()=>n.removeAttribute("title"))):S})).subscribe(),B("content.tooltips")&&e.pipe(v(()=>P(".md-status")),ne(r=>mt(r,{viewport$:t}))).subscribe()}function Ti({document$:e,tablet$:t}){e.pipe(v(()=>P(".md-toggle--indeterminate")),w(r=>{r.indeterminate=!0,r.checked=!1}),ne(r=>h(r,"change").pipe(Dr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),re(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function gs(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Si({document$:e}){e.pipe(v(()=>P("[data-md-scrollfix]")),w(t=>t.removeAttribute("data-md-scrollfix")),b(gs),ne(t=>h(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function Oi({viewport$:e,tablet$:t}){z([ze("search"),t]).pipe(m(([r,o])=>r&&!o),v(r=>I(r).pipe(Ge(r?400:100))),re(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function ys(){return location.protocol==="file:"?Tt(`${new URL("search/search_index.js",eo.base)}`).pipe(m(()=>__index),G(1)):je(new URL("search/search_index.json",eo.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var ot=Go(),Ut=sn(),Lt=ln(Ut),to=an(),Oe=gn(),hr=Pt("(min-width: 960px)"),Mi=Pt("(min-width: 1220px)"),_i=mn(),eo=xe(),Ai=document.forms.namedItem("search")?ys():Ye,ro=new g;Zn({alert$:ro});var oo=new g;B("navigation.instant")&&oi({location$:Ut,viewport$:Oe,progress$:oo}).subscribe(ot);var Li;((Li=eo.version)==null?void 0:Li.provider)==="mike"&&ci({document$:ot});O(Ut,Lt).pipe(Ge(125)).subscribe(()=>{Je("drawer",!1),Je("search",!1)});to.pipe(b(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=fe("link[rel=prev]");typeof t!="undefined"&<(t);break;case"n":case".":let r=fe("link[rel=next]");typeof r!="undefined"&<(r);break;case"Enter":let o=Ie();o instanceof HTMLLabelElement&&o.click()}});wi({viewport$:Oe,document$:ot});Ti({document$:ot,tablet$:hr});Si({document$:ot});Oi({viewport$:Oe,tablet$:hr});var rt=Kn(Se("header"),{viewport$:Oe}),Ft=ot.pipe(m(()=>Se("main")),v(e=>Gn(e,{viewport$:Oe,header$:rt})),G(1)),xs=O(...ae("consent").map(e=>En(e,{target$:Lt})),...ae("dialog").map(e=>qn(e,{alert$:ro})),...ae("palette").map(e=>Jn(e)),...ae("progress").map(e=>Xn(e,{progress$:oo})),...ae("search").map(e=>ui(e,{index$:Ai,keyboard$:to})),...ae("source").map(e=>gi(e))),Es=C(()=>O(...ae("announce").map(e=>xn(e)),...ae("content").map(e=>zn(e,{viewport$:Oe,target$:Lt,print$:_i})),...ae("content").map(e=>B("search.highlight")?di(e,{index$:Ai,location$:Ut}):S),...ae("header").map(e=>Yn(e,{viewport$:Oe,header$:rt,main$:Ft})),...ae("header-title").map(e=>Bn(e,{viewport$:Oe,header$:rt})),...ae("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?Nr(Mi,()=>Zr(e,{viewport$:Oe,header$:rt,main$:Ft})):Nr(hr,()=>Zr(e,{viewport$:Oe,header$:rt,main$:Ft}))),...ae("tabs").map(e=>yi(e,{viewport$:Oe,header$:rt})),...ae("toc").map(e=>xi(e,{viewport$:Oe,header$:rt,main$:Ft,target$:Lt})),...ae("top").map(e=>Ei(e,{viewport$:Oe,header$:rt,main$:Ft,target$:Lt})))),Ci=ot.pipe(v(()=>Es),Re(xs),G(1));Ci.subscribe();window.document$=ot;window.location$=Ut;window.target$=Lt;window.keyboard$=to;window.viewport$=Oe;window.tablet$=hr;window.screen$=Mi;window.print$=_i;window.alert$=ro;window.progress$=oo;window.component$=Ci;})(); +//# sourceMappingURL=bundle.83f73b43.min.js.map + diff --git a/assets/javascripts/bundle.83f73b43.min.js.map b/assets/javascripts/bundle.83f73b43.min.js.map new file mode 100644 index 00000000..fe920b7d --- /dev/null +++ b/assets/javascripts/bundle.83f73b43.min.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["node_modules/focus-visible/dist/focus-visible.js", "node_modules/escape-html/index.js", "node_modules/clipboard/dist/clipboard.js", "src/templates/assets/javascripts/bundle.ts", "node_modules/tslib/tslib.es6.mjs", "node_modules/rxjs/src/internal/util/isFunction.ts", "node_modules/rxjs/src/internal/util/createErrorClass.ts", "node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "node_modules/rxjs/src/internal/util/arrRemove.ts", "node_modules/rxjs/src/internal/Subscription.ts", "node_modules/rxjs/src/internal/config.ts", "node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "node_modules/rxjs/src/internal/util/noop.ts", "node_modules/rxjs/src/internal/NotificationFactories.ts", "node_modules/rxjs/src/internal/util/errorContext.ts", "node_modules/rxjs/src/internal/Subscriber.ts", "node_modules/rxjs/src/internal/symbol/observable.ts", "node_modules/rxjs/src/internal/util/identity.ts", "node_modules/rxjs/src/internal/util/pipe.ts", "node_modules/rxjs/src/internal/Observable.ts", "node_modules/rxjs/src/internal/util/lift.ts", "node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "node_modules/rxjs/src/internal/Subject.ts", "node_modules/rxjs/src/internal/BehaviorSubject.ts", "node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "node_modules/rxjs/src/internal/ReplaySubject.ts", "node_modules/rxjs/src/internal/scheduler/Action.ts", "node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "node_modules/rxjs/src/internal/Scheduler.ts", "node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "node_modules/rxjs/src/internal/scheduler/async.ts", "node_modules/rxjs/src/internal/scheduler/QueueAction.ts", "node_modules/rxjs/src/internal/scheduler/QueueScheduler.ts", "node_modules/rxjs/src/internal/scheduler/queue.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "node_modules/rxjs/src/internal/observable/empty.ts", "node_modules/rxjs/src/internal/util/isScheduler.ts", "node_modules/rxjs/src/internal/util/args.ts", "node_modules/rxjs/src/internal/util/isArrayLike.ts", "node_modules/rxjs/src/internal/util/isPromise.ts", "node_modules/rxjs/src/internal/util/isInteropObservable.ts", "node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "node_modules/rxjs/src/internal/symbol/iterator.ts", "node_modules/rxjs/src/internal/util/isIterable.ts", "node_modules/rxjs/src/internal/util/isReadableStreamLike.ts", "node_modules/rxjs/src/internal/observable/innerFrom.ts", "node_modules/rxjs/src/internal/util/executeSchedule.ts", "node_modules/rxjs/src/internal/operators/observeOn.ts", "node_modules/rxjs/src/internal/operators/subscribeOn.ts", "node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts", "node_modules/rxjs/src/internal/scheduled/scheduled.ts", "node_modules/rxjs/src/internal/observable/from.ts", "node_modules/rxjs/src/internal/observable/of.ts", "node_modules/rxjs/src/internal/observable/throwError.ts", "node_modules/rxjs/src/internal/util/EmptyError.ts", "node_modules/rxjs/src/internal/util/isDate.ts", "node_modules/rxjs/src/internal/operators/map.ts", "node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "node_modules/rxjs/src/internal/util/createObject.ts", "node_modules/rxjs/src/internal/observable/combineLatest.ts", "node_modules/rxjs/src/internal/operators/mergeInternals.ts", "node_modules/rxjs/src/internal/operators/mergeMap.ts", "node_modules/rxjs/src/internal/operators/mergeAll.ts", "node_modules/rxjs/src/internal/operators/concatAll.ts", "node_modules/rxjs/src/internal/observable/concat.ts", "node_modules/rxjs/src/internal/observable/defer.ts", "node_modules/rxjs/src/internal/observable/fromEvent.ts", "node_modules/rxjs/src/internal/observable/fromEventPattern.ts", "node_modules/rxjs/src/internal/observable/timer.ts", "node_modules/rxjs/src/internal/observable/merge.ts", "node_modules/rxjs/src/internal/observable/never.ts", "node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "node_modules/rxjs/src/internal/operators/filter.ts", "node_modules/rxjs/src/internal/observable/zip.ts", "node_modules/rxjs/src/internal/operators/audit.ts", "node_modules/rxjs/src/internal/operators/auditTime.ts", "node_modules/rxjs/src/internal/operators/bufferCount.ts", "node_modules/rxjs/src/internal/operators/catchError.ts", "node_modules/rxjs/src/internal/operators/scanInternals.ts", "node_modules/rxjs/src/internal/operators/combineLatest.ts", "node_modules/rxjs/src/internal/operators/combineLatestWith.ts", "node_modules/rxjs/src/internal/operators/debounce.ts", "node_modules/rxjs/src/internal/operators/debounceTime.ts", "node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts", "node_modules/rxjs/src/internal/operators/take.ts", "node_modules/rxjs/src/internal/operators/ignoreElements.ts", "node_modules/rxjs/src/internal/operators/mapTo.ts", "node_modules/rxjs/src/internal/operators/delayWhen.ts", "node_modules/rxjs/src/internal/operators/delay.ts", "node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "node_modules/rxjs/src/internal/operators/throwIfEmpty.ts", "node_modules/rxjs/src/internal/operators/endWith.ts", "node_modules/rxjs/src/internal/operators/finalize.ts", "node_modules/rxjs/src/internal/operators/first.ts", "node_modules/rxjs/src/internal/operators/takeLast.ts", "node_modules/rxjs/src/internal/operators/merge.ts", "node_modules/rxjs/src/internal/operators/mergeWith.ts", "node_modules/rxjs/src/internal/operators/repeat.ts", "node_modules/rxjs/src/internal/operators/scan.ts", "node_modules/rxjs/src/internal/operators/share.ts", "node_modules/rxjs/src/internal/operators/shareReplay.ts", "node_modules/rxjs/src/internal/operators/skip.ts", "node_modules/rxjs/src/internal/operators/skipUntil.ts", "node_modules/rxjs/src/internal/operators/startWith.ts", "node_modules/rxjs/src/internal/operators/switchMap.ts", "node_modules/rxjs/src/internal/operators/takeUntil.ts", "node_modules/rxjs/src/internal/operators/takeWhile.ts", "node_modules/rxjs/src/internal/operators/tap.ts", "node_modules/rxjs/src/internal/operators/throttle.ts", "node_modules/rxjs/src/internal/operators/throttleTime.ts", "node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "node_modules/rxjs/src/internal/operators/zip.ts", "node_modules/rxjs/src/internal/operators/zipWith.ts", "src/templates/assets/javascripts/browser/document/index.ts", "src/templates/assets/javascripts/browser/element/_/index.ts", "src/templates/assets/javascripts/browser/element/focus/index.ts", "src/templates/assets/javascripts/browser/element/hover/index.ts", "src/templates/assets/javascripts/utilities/h/index.ts", "src/templates/assets/javascripts/utilities/round/index.ts", "src/templates/assets/javascripts/browser/script/index.ts", "src/templates/assets/javascripts/browser/element/size/_/index.ts", "src/templates/assets/javascripts/browser/element/size/content/index.ts", "src/templates/assets/javascripts/browser/element/offset/_/index.ts", "src/templates/assets/javascripts/browser/element/offset/content/index.ts", "src/templates/assets/javascripts/browser/element/visibility/index.ts", "src/templates/assets/javascripts/browser/toggle/index.ts", "src/templates/assets/javascripts/browser/keyboard/index.ts", "src/templates/assets/javascripts/browser/location/_/index.ts", "src/templates/assets/javascripts/browser/location/hash/index.ts", "src/templates/assets/javascripts/browser/media/index.ts", "src/templates/assets/javascripts/browser/request/index.ts", "src/templates/assets/javascripts/browser/viewport/offset/index.ts", "src/templates/assets/javascripts/browser/viewport/size/index.ts", "src/templates/assets/javascripts/browser/viewport/_/index.ts", "src/templates/assets/javascripts/browser/viewport/at/index.ts", "src/templates/assets/javascripts/browser/worker/index.ts", "src/templates/assets/javascripts/_/index.ts", "src/templates/assets/javascripts/components/_/index.ts", "src/templates/assets/javascripts/components/announce/index.ts", "src/templates/assets/javascripts/components/consent/index.ts", "src/templates/assets/javascripts/templates/tooltip/index.tsx", "src/templates/assets/javascripts/templates/annotation/index.tsx", "src/templates/assets/javascripts/templates/clipboard/index.tsx", "src/templates/assets/javascripts/templates/search/index.tsx", "src/templates/assets/javascripts/templates/source/index.tsx", "src/templates/assets/javascripts/templates/tabbed/index.tsx", "src/templates/assets/javascripts/templates/table/index.tsx", "src/templates/assets/javascripts/templates/version/index.tsx", "src/templates/assets/javascripts/components/tooltip2/index.ts", "src/templates/assets/javascripts/components/content/annotation/_/index.ts", "src/templates/assets/javascripts/components/content/annotation/list/index.ts", "src/templates/assets/javascripts/components/content/annotation/block/index.ts", "src/templates/assets/javascripts/components/content/code/_/index.ts", "src/templates/assets/javascripts/components/content/details/index.ts", "src/templates/assets/javascripts/components/content/mermaid/index.css", "src/templates/assets/javascripts/components/content/mermaid/index.ts", "src/templates/assets/javascripts/components/content/table/index.ts", "src/templates/assets/javascripts/components/content/tabs/index.ts", "src/templates/assets/javascripts/components/content/_/index.ts", "src/templates/assets/javascripts/components/dialog/index.ts", "src/templates/assets/javascripts/components/tooltip/index.ts", "src/templates/assets/javascripts/components/header/_/index.ts", "src/templates/assets/javascripts/components/header/title/index.ts", "src/templates/assets/javascripts/components/main/index.ts", "src/templates/assets/javascripts/components/palette/index.ts", "src/templates/assets/javascripts/components/progress/index.ts", "src/templates/assets/javascripts/integrations/clipboard/index.ts", "src/templates/assets/javascripts/integrations/sitemap/index.ts", "src/templates/assets/javascripts/integrations/instant/index.ts", "src/templates/assets/javascripts/integrations/search/highlighter/index.ts", "src/templates/assets/javascripts/integrations/search/worker/message/index.ts", "src/templates/assets/javascripts/integrations/search/worker/_/index.ts", "src/templates/assets/javascripts/integrations/version/findurl/index.ts", "src/templates/assets/javascripts/integrations/version/index.ts", "src/templates/assets/javascripts/components/search/query/index.ts", "src/templates/assets/javascripts/components/search/result/index.ts", "src/templates/assets/javascripts/components/search/share/index.ts", "src/templates/assets/javascripts/components/search/suggest/index.ts", "src/templates/assets/javascripts/components/search/_/index.ts", "src/templates/assets/javascripts/components/search/highlight/index.ts", "src/templates/assets/javascripts/components/sidebar/index.ts", "src/templates/assets/javascripts/components/source/facts/github/index.ts", "src/templates/assets/javascripts/components/source/facts/gitlab/index.ts", "src/templates/assets/javascripts/components/source/facts/_/index.ts", "src/templates/assets/javascripts/components/source/_/index.ts", "src/templates/assets/javascripts/components/tabs/index.ts", "src/templates/assets/javascripts/components/toc/index.ts", "src/templates/assets/javascripts/components/top/index.ts", "src/templates/assets/javascripts/patches/ellipsis/index.ts", "src/templates/assets/javascripts/patches/indeterminate/index.ts", "src/templates/assets/javascripts/patches/scrollfix/index.ts", "src/templates/assets/javascripts/patches/scrolllock/index.ts", "src/templates/assets/javascripts/polyfills/index.ts"], + "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. \u00AF\\_(\u30C4)_/\u00AF\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/*\n * Copyright (c) 2016-2024 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n defer,\n delay,\n filter,\n map,\n merge,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs\"\n\nimport { configuration, feature } from \"./_\"\nimport {\n at,\n getActiveElement,\n getOptionalElement,\n requestJSON,\n setLocation,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchScript,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountAnnounce,\n mountBackToTop,\n mountConsent,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountPalette,\n mountProgress,\n mountSearch,\n mountSearchHiglight,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n SearchIndex,\n setupClipboardJS,\n setupInstantNavigation,\n setupVersionSelector\n} from \"./integrations\"\nimport {\n patchEllipsis,\n patchIndeterminate,\n patchScrollfix,\n patchScrolllock\n} from \"./patches\"\nimport \"./polyfills\"\n\n/* ----------------------------------------------------------------------------\n * Functions - @todo refactor\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @returns Search index observable\n */\nfunction fetchSearchIndex(): Observable {\n if (location.protocol === \"file:\") {\n return watchScript(\n `${new URL(\"search/search_index.js\", config.base)}`\n )\n .pipe(\n // @ts-ignore - @todo fix typings\n map(() => __index),\n shareReplay(1)\n )\n } else {\n return requestJSON(\n new URL(\"search/search_index.json\", config.base)\n )\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables and subjects */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget(location$)\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 960px)\")\nconst screen$ = watchMedia(\"(min-width: 1220px)\")\nconst print$ = watchPrint()\n\n/* Retrieve search index, if search is enabled */\nconst config = configuration()\nconst index$ = document.forms.namedItem(\"search\")\n ? fetchSearchIndex()\n : NEVER\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up progress indicator */\nconst progress$ = new Subject()\n\n/* Set up instant navigation, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantNavigation({ location$, viewport$, progress$ })\n .subscribe(document$)\n\n/* Set up version selector */\nif (config.version?.provider === \"mike\")\n setupVersionSelector({ document$ })\n\n/* Always close drawer and search on navigation */\nmerge(location$, target$)\n .pipe(\n delay(125)\n )\n .subscribe(() => {\n setToggle(\"drawer\", false)\n setToggle(\"search\", false)\n })\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getOptionalElement(\"link[rel=prev]\")\n if (typeof prev !== \"undefined\")\n setLocation(prev)\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getOptionalElement(\"link[rel=next]\")\n if (typeof next !== \"undefined\")\n setLocation(next)\n break\n\n /* Expand navigation, see https://bit.ly/3ZjG5io */\n case \"Enter\":\n const active = getActiveElement()\n if (active instanceof HTMLLabelElement)\n active.click()\n }\n })\n\n/* Set up patches */\npatchEllipsis({ viewport$, document$ })\npatchIndeterminate({ document$, tablet$ })\npatchScrollfix({ document$ })\npatchScrolllock({ viewport$, tablet$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Consent */\n ...getComponentElements(\"consent\")\n .map(el => mountConsent(el, { target$ })),\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Color palette */\n ...getComponentElements(\"palette\")\n .map(el => mountPalette(el)),\n\n /* Progress bar */\n ...getComponentElements(\"progress\")\n .map(el => mountProgress(el, { progress$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { index$, keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el))\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Announcement bar */\n ...getComponentElements(\"announce\")\n .map(el => mountAnnounce(el)),\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { viewport$, target$, print$ })),\n\n /* Search highlighting */\n ...getComponentElements(\"content\")\n .map(el => feature(\"search.highlight\")\n ? mountSearchHiglight(el, { index$, location$ })\n : EMPTY\n ),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, {\n viewport$, header$, main$, target$\n })),\n\n /* Back-to-top button */\n ...getComponentElements(\"top\")\n .map(el => mountBackToTop(el, { viewport$, header$, main$, target$ }))\n))\n\n/* Set up component observables */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* ----------------------------------------------------------------------------\n * Exports\n * ------------------------------------------------------------------------- */\n\nwindow.document$ = document$ /* Document observable */\nwindow.location$ = location$ /* Location subject */\nwindow.target$ = target$ /* Location target observable */\nwindow.keyboard$ = keyboard$ /* Keyboard observable */\nwindow.viewport$ = viewport$ /* Viewport observable */\nwindow.tablet$ = tablet$ /* Media tablet observable */\nwindow.screen$ = screen$ /* Media screen observable */\nwindow.print$ = print$ /* Media print observable */\nwindow.alert$ = alert$ /* Alert subject */\nwindow.progress$ = progress$ /* Progress indicator subject */\nwindow.component$ = component$ /* Component observable */\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n", "/**\n * Returns true if the object is a function.\n * @param value The value to check\n */\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n", "/**\n * Used to create Error subclasses until the community moves away from ES5.\n *\n * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors\n * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123\n *\n * @param createImpl A factory function to create the actual constructor implementation. The returned\n * function should be a named function that calls `_super` internally.\n */\nexport function createErrorClass(createImpl: (_super: any) => any): T {\n const _super = (instance: any) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface UnsubscriptionError extends Error {\n readonly errors: any[];\n}\n\nexport interface UnsubscriptionErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (errors: any[]): UnsubscriptionError;\n}\n\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(\n (_super) =>\n function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n }\n);\n", "/**\n * Removes an item from an array, mutating it.\n * @param arr The array to remove the item from\n * @param item The item to remove\n */\nexport function arrRemove(arr: T[] | undefined | null, item: T) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { SubscriptionLike, TeardownLogic, Unsubscribable } from './types';\nimport { arrRemove } from './util/arrRemove';\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nexport class Subscription implements SubscriptionLike {\n /** @nocollapse */\n public static EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n */\n public closed = false;\n\n private _parentage: Subscription[] | Subscription | null = null;\n\n /**\n * The list of registered finalizers to execute upon unsubscription. Adding and removing from this\n * list occurs in the {@link #add} and {@link #remove} methods.\n */\n private _finalizers: Exclude[] | null = null;\n\n /**\n * @param initialTeardown A function executed first as part of the finalization\n * process that is kicked off when {@link #unsubscribe} is called.\n */\n constructor(private initialTeardown?: () => void) {}\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n unsubscribe(): void {\n let errors: any[] | undefined;\n\n if (!this.closed) {\n this.closed = true;\n\n // Remove this from it's parents.\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors ?? [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n\n /**\n * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called\n * when this subscription is unsubscribed. If this subscription is already {@link #closed},\n * because it has already been unsubscribed, then whatever finalizer is passed to it\n * will automatically be executed (unless the finalizer itself is also a closed subscription).\n *\n * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed\n * subscription to a any subscription will result in no operation. (A noop).\n *\n * Adding a subscription to itself, or adding `null` or `undefined` will not perform any\n * operation at all. (A noop).\n *\n * `Subscription` instances that are added to this instance will automatically remove themselves\n * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove\n * will need to be removed manually with {@link #remove}\n *\n * @param teardown The finalization logic to add to this subscription.\n */\n add(teardown: TeardownLogic): void {\n // Only add the finalizer if it's not undefined\n // and don't add a subscription to itself.\n if (teardown && teardown !== this) {\n if (this.closed) {\n // If this subscription is already closed,\n // execute whatever finalizer is handed to it automatically.\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n // We don't add closed subscriptions, and we don't add the same subscription\n // twice. Subscription unsubscribe is idempotent.\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = this._finalizers ?? []).push(teardown);\n }\n }\n }\n\n /**\n * Checks to see if a this subscription already has a particular parent.\n * This will signal that this subscription has already been added to the parent in question.\n * @param parent the parent to check for\n */\n private _hasParent(parent: Subscription) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n\n /**\n * Adds a parent to this subscription so it can be removed from the parent if it\n * unsubscribes on it's own.\n *\n * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.\n * @param parent The parent subscription to add\n */\n private _addParent(parent: Subscription) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n\n /**\n * Called on a child when it is removed via {@link #remove}.\n * @param parent The parent to remove\n */\n private _removeParent(parent: Subscription) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n\n /**\n * Removes a finalizer from this subscription that was previously added with the {@link #add} method.\n *\n * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves\n * from every other `Subscription` they have been added to. This means that using the `remove` method\n * is not a common thing and should be used thoughtfully.\n *\n * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance\n * more than once, you will need to call `remove` the same number of times to remove all instances.\n *\n * All finalizer instances are removed to free up memory upon unsubscription.\n *\n * @param teardown The finalizer to remove from this subscription\n */\n remove(teardown: Exclude): void {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\n\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\n\nexport function isSubscription(value: any): value is Subscription {\n return (\n value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe))\n );\n}\n\nfunction execFinalizer(finalizer: Unsubscribable | (() => void)) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n", "import { Subscriber } from './Subscriber';\nimport { ObservableNotification } from './types';\n\n/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config: GlobalConfig = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n\n/**\n * The global configuration object for RxJS, used to configure things\n * like how to react on unhandled errors. Accessible via {@link config}\n * object.\n */\nexport interface GlobalConfig {\n /**\n * A registration point for unhandled errors from RxJS. These are errors that\n * cannot were not handled by consuming code in the usual subscription path. For\n * example, if you have this configured, and you subscribe to an observable without\n * providing an error handler, errors from that subscription will end up here. This\n * will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onUnhandledError: ((err: any) => void) | null;\n\n /**\n * A registration point for notifications that cannot be sent to subscribers because they\n * have completed, errored or have been explicitly unsubscribed. By default, next, complete\n * and error notifications sent to stopped subscribers are noops. However, sometimes callers\n * might want a different behavior. For example, with sources that attempt to report errors\n * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.\n * This will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onStoppedNotification: ((notification: ObservableNotification, subscriber: Subscriber) => void) | null;\n\n /**\n * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}\n * methods.\n *\n * @deprecated As of version 8, RxJS will no longer support this sort of injection of a\n * Promise constructor. If you need a Promise implementation other than native promises,\n * please polyfill/patch Promise as you see appropriate. Will be removed in v8.\n */\n Promise?: PromiseConstructorLike;\n\n /**\n * If true, turns on synchronous error rethrowing, which is a deprecated behavior\n * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe\n * call in a try/catch block. It also enables producer interference, a nasty bug\n * where a multicast can be broken for all observers by a downstream consumer with\n * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME\n * FOR MIGRATION REASONS.\n *\n * @deprecated As of version 8, RxJS will no longer support synchronous throwing\n * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad\n * behaviors described above. Will be removed in v8.\n */\n useDeprecatedSynchronousErrorHandling: boolean;\n\n /**\n * If true, enables an as-of-yet undocumented feature from v5: The ability to access\n * `unsubscribe()` via `this` context in `next` functions created in observers passed\n * to `subscribe`.\n *\n * This is being removed because the performance was severely problematic, and it could also cause\n * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have\n * their `this` context overwritten.\n *\n * @deprecated As of version 8, RxJS will no longer support altering the\n * context of next functions provided as part of an observer to Subscribe. Instead,\n * you will have access to a subscription or a signal or token that will allow you to do things like\n * unsubscribe and test closed status. Will be removed in v8.\n */\n useDeprecatedNextContext: boolean;\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearTimeoutFunction = (handle: TimerHandle) => void;\n\ninterface TimeoutProvider {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n delegate:\n | {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n }\n | undefined;\n}\n\nexport const timeoutProvider: TimeoutProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setTimeout(handler: () => void, timeout?: number, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate?.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return (delegate?.clearTimeout || clearTimeout)(handle as any);\n },\n delegate: undefined,\n};\n", "import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\n\n/**\n * Handles an error on another job either with the user-configured {@link onUnhandledError},\n * or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.\n *\n * This should be called whenever there is an error that is out-of-band with the subscription\n * or when an error hits a terminal boundary of the subscription and no error handler was provided.\n *\n * @param err the error to report\n */\nexport function reportUnhandledError(err: any) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n // Execute the user-configured error handler.\n onUnhandledError(err);\n } else {\n // Throw so it is picked up by the runtime's uncaught error mechanism.\n throw err;\n }\n });\n}\n", "/* tslint:disable:no-empty */\nexport function noop() { }\n", "import { CompleteNotification, NextNotification, ErrorNotification } from './types';\n\n/**\n * A completion object optimized for memory use and created to be the\n * same \"shape\" as other notifications in v8.\n * @internal\n */\nexport const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined) as CompleteNotification)();\n\n/**\n * Internal use only. Creates an optimized error notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function errorNotification(error: any): ErrorNotification {\n return createNotification('E', undefined, error) as any;\n}\n\n/**\n * Internal use only. Creates an optimized next notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function nextNotification(value: T) {\n return createNotification('N', value, undefined) as NextNotification;\n}\n\n/**\n * Ensures that all notifications created internally have the same \"shape\" in v8.\n *\n * TODO: This is only exported to support a crazy legacy test in `groupBy`.\n * @internal\n */\nexport function createNotification(kind: 'N' | 'E' | 'C', value: any, error: any) {\n return {\n kind,\n value,\n error,\n };\n}\n", "import { config } from '../config';\n\nlet context: { errorThrown: boolean; error: any } | null = null;\n\n/**\n * Handles dealing with errors for super-gross mode. Creates a context, in which\n * any synchronously thrown errors will be passed to {@link captureError}. Which\n * will record the error such that it will be rethrown after the call back is complete.\n * TODO: Remove in v8\n * @param cb An immediately executed function.\n */\nexport function errorContext(cb: () => void) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context!;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n // This is the general non-deprecated path for everyone that\n // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)\n cb();\n }\n}\n\n/**\n * Captures errors only in super-gross mode.\n * @param err the error to capture\n */\nexport function captureError(err: any) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { Observer, ObservableNotification } from './types';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber\n */\nexport class Subscriber extends Subscription implements Observer {\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param next The `next` callback of an Observer.\n * @param error The `error` callback of an\n * Observer.\n * @param complete The `complete` callback of an\n * Observer.\n * @return A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n * @nocollapse\n * @deprecated Do not use. Will be removed in v8. There is no replacement for this\n * method, and there is no reason to be creating instances of `Subscriber` directly.\n * If you have a specific use case, please file an issue.\n */\n static create(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber {\n return new SafeSubscriber(next, error, complete);\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected isStopped: boolean = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected destination: Subscriber | Observer; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.\n */\n constructor(destination?: Subscriber | Observer) {\n super();\n if (destination) {\n this.destination = destination;\n // Automatically chain subscriptions together here.\n // if destination is a Subscription, then it is a Subscriber.\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n next(value?: T): void {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value!);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached `Error`. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n error(err?: any): void {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n complete(): void {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null!;\n }\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n\n protected _complete(): void {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\n\n/**\n * This bind is captured here because we want to be able to have\n * compatibility with monoid libraries that tend to use a method named\n * `bind`. In particular, a library called Monio requires this.\n */\nconst _bind = Function.prototype.bind;\n\nfunction bind any>(fn: Fn, thisArg: any): Fn {\n return _bind.call(fn, thisArg);\n}\n\n/**\n * Internal optimization only, DO NOT EXPOSE.\n * @internal\n */\nclass ConsumerObserver implements Observer {\n constructor(private partialObserver: Partial>) {}\n\n next(value: T): void {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n\n error(err: any): void {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n\n complete(): void {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\n\nexport class SafeSubscriber extends Subscriber {\n constructor(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((e?: any) => void) | null,\n complete?: (() => void) | null\n ) {\n super();\n\n let partialObserver: Partial>;\n if (isFunction(observerOrNext) || !observerOrNext) {\n // The first argument is a function, not an observer. The next\n // two arguments *could* be observers, or they could be empty.\n partialObserver = {\n next: (observerOrNext ?? undefined) as (((value: T) => void) | undefined),\n error: error ?? undefined,\n complete: complete ?? undefined,\n };\n } else {\n // The first argument is a partial observer.\n let context: any;\n if (this && config.useDeprecatedNextContext) {\n // This is a deprecated path that made `this.unsubscribe()` available in\n // next handler functions passed to subscribe. This only exists behind a flag\n // now, as it is *very* slow.\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n } else {\n // The \"normal\" path. Just use the partial observer directly.\n partialObserver = observerOrNext;\n }\n }\n\n // Wrap the partial observer to ensure it's a full observer, and\n // make sure proper error handling is accounted for.\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\n\nfunction handleUnhandledError(error: any) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n // Ideal path, we report this as an unhandled error,\n // which is thrown on a new call stack.\n reportUnhandledError(error);\n }\n}\n\n/**\n * An error handler used when no error handler was supplied\n * to the SafeSubscriber -- meaning no error handler was supplied\n * do the `subscribe` call on our observable.\n * @param err The error to handle\n */\nfunction defaultErrorHandler(err: any) {\n throw err;\n}\n\n/**\n * A handler for notifications that cannot be sent to a stopped subscriber.\n * @param notification The notification being sent\n * @param subscriber The stopped subscriber\n */\nfunction handleStoppedNotification(notification: ObservableNotification, subscriber: Subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n\n/**\n * The observer used as a stub for subscriptions where the user did not\n * pass any arguments to `subscribe`. Comes with the default error handling\n * behavior.\n */\nexport const EMPTY_OBSERVER: Readonly> & { closed: true } = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n", "/**\n * Symbol.observable or a string \"@@observable\". Used for interop\n *\n * @deprecated We will no longer be exporting this symbol in upcoming versions of RxJS.\n * Instead polyfill and use Symbol.observable directly *or* use https://www.npmjs.com/package/symbol-observable\n */\nexport const observable: string | symbol = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n", "/**\n * This function takes one parameter and just returns it. Simply put,\n * this is like `(x: T): T => x`.\n *\n * ## Examples\n *\n * This is useful in some cases when using things like `mergeMap`\n *\n * ```ts\n * import { interval, take, map, range, mergeMap, identity } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(5));\n *\n * const result$ = source$.pipe(\n * map(i => range(i)),\n * mergeMap(identity) // same as mergeMap(x => x)\n * );\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * Or when you want to selectively apply an operator\n *\n * ```ts\n * import { interval, take, identity } from 'rxjs';\n *\n * const shouldLimit = () => Math.random() < 0.5;\n *\n * const source$ = interval(1000);\n *\n * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * @param x Any value that is returned by this function\n * @returns The value passed as the first parameter to this function\n */\nexport function identity(x: T): T {\n return x;\n}\n", "import { identity } from './identity';\nimport { UnaryFunction } from '../types';\n\nexport function pipe(): typeof identity;\nexport function pipe(fn1: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction, fn3: UnaryFunction): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction,\n ...fns: UnaryFunction[]\n): UnaryFunction;\n\n/**\n * pipe() can be called on one or more functions, each of which can take one argument (\"UnaryFunction\")\n * and uses it to return a value.\n * It returns a function that takes one argument, passes it to the first UnaryFunction, and then\n * passes the result to the next one, passes that result to the next one, and so on. \n */\nexport function pipe(...fns: Array>): UnaryFunction {\n return pipeFromArray(fns);\n}\n\n/** @internal */\nexport function pipeFromArray(fns: Array>): UnaryFunction {\n if (fns.length === 0) {\n return identity as UnaryFunction;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction) => fn(prev), input as any);\n };\n}\n", "import { Operator } from './Operator';\nimport { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription, Subscription } from './Subscription';\nimport { TeardownLogic, OperatorFunction, Subscribable, Observer } from './types';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n *\n * @class Observable\n */\nexport class Observable implements Subscribable {\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n source: Observable | undefined;\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n operator: Operator | undefined;\n\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new Observable by calling the Observable constructor\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new observable\n * @nocollapse\n * @deprecated Use `new Observable()` instead. Will be removed in v8.\n */\n static create: (...args: any[]) => any = (subscribe?: (subscriber: Subscriber) => TeardownLogic) => {\n return new Observable(subscribe);\n };\n\n /**\n * Creates a new Observable, with this Observable instance as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param operator the operator defining the operation to take on the observable\n * @return a new observable with the Operator applied\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * If you have implemented an operator using `lift`, it is recommended that you create an\n * operator by simply returning `new Observable()` directly. See \"Creating new operators from\n * scratch\" section here: https://rxjs.dev/guide/operators\n */\n lift(operator?: Operator): Observable {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observerOrNext?: Partial> | ((value: T) => void)): Subscription;\n /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */\n subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to Observable's constructor, but most of the time it is\n * a library implementation, which defines what will be emitted by an Observable, and when it be will emitted. This means\n * that calling `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * the thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * of the following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular, do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, if the `error` method is not provided and an error happens,\n * it will be thrown asynchronously. Errors thrown asynchronously cannot be caught using `try`/`catch`. Instead,\n * use the {@link onUnhandledError} configuration option or use a runtime handler (like `window.onerror` or\n * `process.on('error)`) to be notified of unhandled errors. Because of this, it's recommended that you provide\n * an `error` method to avoid missing thrown errors.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where the first function is equivalent\n * of a `next` method, the second of an `error` method and the third of a `complete` method. Just as in case of an Observer,\n * if you do not need to listen for something, you can omit a function by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to the `error` function, as with an Observer, if not provided, errors emitted by an Observable will be thrown asynchronously.\n *\n * You can, however, subscribe with no parameters at all. This may be the case where you're not interested in terminal events\n * and you also handled emissions internally by using operators (e.g. using `tap`).\n *\n * Whichever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop the work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a `scheduler`.\n *\n * #### Examples\n *\n * Subscribe with an {@link guide/observer Observer}\n *\n * ```ts\n * import { of } from 'rxjs';\n *\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() {\n * // We actually could just remove this method,\n * // since we do not really care about errors right now.\n * },\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Subscribe with functions ({@link deprecations/subscribe-arguments deprecated})\n *\n * ```ts\n * import { of } from 'rxjs'\n *\n * let sum = 0;\n *\n * of(1, 2, 3).subscribe(\n * value => {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * () => console.log('Sum equals: ' + sum)\n * );\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Cancel a subscription\n *\n * ```ts\n * import { interval } from 'rxjs';\n *\n * const subscription = interval(1000).subscribe({\n * next(num) {\n * console.log(num)\n * },\n * complete() {\n * // Will not be called, even when cancelling subscription.\n * console.log('completed!');\n * }\n * });\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 'unsubscribed!' after 2.5s\n * ```\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown asynchronously as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {Subscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n subscribe(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((error: any) => void) | null,\n complete?: (() => void) | null\n ): Subscription {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(\n operator\n ? // We're dealing with a subscription in the\n // operator chain to one of our lifted operators.\n operator.call(subscriber, source)\n : source\n ? // If `source` has a value, but `operator` does not, something that\n // had intimate knowledge of our API, like our `Subject`, must have\n // set it. We're going to just call `_subscribe` directly.\n this._subscribe(subscriber)\n : // In all other cases, we're likely wrapping a user-provided initializer\n // function, so we need to catch errors and handle them appropriately.\n this._trySubscribe(subscriber)\n );\n });\n\n return subscriber;\n }\n\n /** @internal */\n protected _trySubscribe(sink: Subscriber): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n // We don't need to return anything in this case,\n // because it's just going to try to `add()` to a subscription\n // above.\n sink.error(err);\n }\n }\n\n /**\n * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with\n * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * #### Example\n *\n * ```ts\n * import { interval, take } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(4));\n *\n * async function getTotal() {\n * let total = 0;\n *\n * await source$.forEach(value => {\n * total += value;\n * console.log('observable -> ' + value);\n * });\n *\n * return total;\n * }\n *\n * getTotal().then(\n * total => console.log('Total: ' + total)\n * );\n *\n * // Expected:\n * // 'observable -> 0'\n * // 'observable -> 1'\n * // 'observable -> 2'\n * // 'observable -> 3'\n * // 'Total: 6'\n * ```\n *\n * @param next a handler for each value emitted by the observable\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n forEach(next: (value: T) => void): Promise;\n\n /**\n * @param next a handler for each value emitted by the observable\n * @param promiseCtor a constructor function used to instantiate the Promise\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n * @deprecated Passing a Promise constructor will no longer be available\n * in upcoming versions of RxJS. This is because it adds weight to the library, for very\n * little benefit. If you need this functionality, it is recommended that you either\n * polyfill Promise, or you create an adapter to convert the returned native promise\n * to whatever promise implementation you wanted. Will be removed in v8.\n */\n forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise;\n\n forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n }) as Promise;\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): TeardownLogic {\n return this.source?.subscribe(subscriber);\n }\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable;\n pipe
    (op1: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction,\n ...operations: OperatorFunction[]\n ): Observable;\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * ## Example\n *\n * ```ts\n * import { interval, filter, map, scan } from 'rxjs';\n *\n * interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x));\n * ```\n */\n pipe(...operations: OperatorFunction[]): Observable {\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: typeof Promise): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: PromiseConstructorLike): Promise;\n /* tslint:enable:max-line-length */\n\n /**\n * Subscribe to this Observable and get a Promise resolving on\n * `complete` with the last emission (if any).\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * @method toPromise\n * @param [promiseCtor] a constructor function used to instantiate\n * the Promise\n * @return A Promise that resolves with the last value emit, or\n * rejects on an error. If there were no emissions, Promise\n * resolves with undefined.\n * @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise\n */\n toPromise(promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n let value: T | undefined;\n this.subscribe(\n (x: T) => (value = x),\n (err: any) => reject(err),\n () => resolve(value)\n );\n }) as Promise;\n }\n}\n\n/**\n * Decides between a passed promise constructor from consuming code,\n * A default configured promise constructor, and the native promise\n * constructor and returns it. If nothing can be found, it will throw\n * an error.\n * @param promiseCtor The optional promise constructor to passed by consuming code\n */\nfunction getPromiseCtor(promiseCtor: PromiseConstructorLike | undefined) {\n return promiseCtor ?? config.Promise ?? Promise;\n}\n\nfunction isObserver(value: any): value is Observer {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber(value: any): value is Subscriber {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n", "import { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { OperatorFunction } from '../types';\nimport { isFunction } from './isFunction';\n\n/**\n * Used to determine if an object is an Observable with a lift function.\n */\nexport function hasLift(source: any): source is { lift: InstanceType['lift'] } {\n return isFunction(source?.lift);\n}\n\n/**\n * Creates an `OperatorFunction`. Used to define operators throughout the library in a concise way.\n * @param init The logic to connect the liftedSource to the subscriber at the moment of subscription.\n */\nexport function operate(\n init: (liftedSource: Observable, subscriber: Subscriber) => (() => void) | void\n): OperatorFunction {\n return (source: Observable) => {\n if (hasLift(source)) {\n return source.lift(function (this: Subscriber, liftedSource: Observable) {\n try {\n return init(liftedSource, this);\n } catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n", "import { Subscriber } from '../Subscriber';\n\n/**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional teardown logic here. This will only be called on teardown if the\n * subscriber itself is not already closed. This is called after all other teardown logic is executed.\n */\nexport function createOperatorSubscriber(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n onFinalize?: () => void\n): Subscriber {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\n\n/**\n * A generic helper for allowing operators to be created with a Subscriber and\n * use closures to capture necessary state from the operator function itself.\n */\nexport class OperatorSubscriber extends Subscriber {\n /**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional finalization logic here. This will only be called on finalization if the\n * subscriber itself is not already closed. This is called after all other finalization logic is executed.\n * @param shouldUnsubscribe An optional check to see if an unsubscribe call should truly unsubscribe.\n * NOTE: This currently **ONLY** exists to support the strange behavior of {@link groupBy}, where unsubscription\n * to the resulting observable does not actually disconnect from the source if there are active subscriptions\n * to any grouped observable. (DO NOT EXPOSE OR USE EXTERNALLY!!!)\n */\n constructor(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n private onFinalize?: () => void,\n private shouldUnsubscribe?: () => boolean\n ) {\n // It's important - for performance reasons - that all of this class's\n // members are initialized and that they are always initialized in the same\n // order. This will ensure that all OperatorSubscriber instances have the\n // same hidden class in V8. This, in turn, will help keep the number of\n // hidden classes involved in property accesses within the base class as\n // low as possible. If the number of hidden classes involved exceeds four,\n // the property accesses will become megamorphic and performance penalties\n // will be incurred - i.e. inline caches won't be used.\n //\n // The reasons for ensuring all instances have the same hidden class are\n // further discussed in this blog post from Benedikt Meurer:\n // https://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/\n super(destination);\n this._next = onNext\n ? function (this: OperatorSubscriber, value: T) {\n try {\n onNext(value);\n } catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (this: OperatorSubscriber, err: any) {\n try {\n onError(err);\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function (this: OperatorSubscriber) {\n try {\n onComplete();\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n\n unsubscribe() {\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n // Execute additional teardown if we have any and we didn't already do so.\n !closed && this.onFinalize?.();\n }\n }\n}\n", "import { Subscription } from '../Subscription';\n\ninterface AnimationFrameProvider {\n schedule(callback: FrameRequestCallback): Subscription;\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n delegate:\n | {\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n }\n | undefined;\n}\n\nexport const animationFrameProvider: AnimationFrameProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel: typeof cancelAnimationFrame | undefined = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n // Clear the cancel function. The request has been fulfilled, so\n // attempting to cancel the request upon unsubscription would be\n // pointless.\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel?.(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface ObjectUnsubscribedError extends Error {}\n\nexport interface ObjectUnsubscribedErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (): ObjectUnsubscribedError;\n}\n\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport const ObjectUnsubscribedError: ObjectUnsubscribedErrorCtor = createErrorClass(\n (_super) =>\n function ObjectUnsubscribedErrorImpl(this: any) {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n }\n);\n", "import { Operator } from './Operator';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { Observer, SubscriptionLike, TeardownLogic } from './types';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A Subject is a special type of Observable that allows values to be\n * multicasted to many Observers. Subjects are like EventEmitters.\n *\n * Every Subject is an Observable and an Observer. You can subscribe to a\n * Subject, and you can call next to feed values as well as error and complete.\n */\nexport class Subject extends Observable implements SubscriptionLike {\n closed = false;\n\n private currentObservers: Observer[] | null = null;\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n observers: Observer[] = [];\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n isStopped = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n hasError = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n thrownError: any = null;\n\n /**\n * Creates a \"subject\" by basically gluing an observer to an observable.\n *\n * @nocollapse\n * @deprecated Recommended you do not use. Will be removed at some point in the future. Plans for replacement still under discussion.\n */\n static create: (...args: any[]) => any = (destination: Observer, source: Observable): AnonymousSubject => {\n return new AnonymousSubject(destination, source);\n };\n\n constructor() {\n // NOTE: This must be here to obscure Observable's constructor.\n super();\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n lift(operator: Operator): Observable {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator as any;\n return subject as any;\n }\n\n /** @internal */\n protected _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n\n next(value: T) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n\n error(err: any) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.error(err);\n }\n }\n });\n }\n\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.complete();\n }\n }\n });\n }\n\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null!;\n }\n\n get observed() {\n return this.observers?.length > 0;\n }\n\n /** @internal */\n protected _trySubscribe(subscriber: Subscriber): TeardownLogic {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n\n /** @internal */\n protected _innerSubscribe(subscriber: Subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n\n /** @internal */\n protected _checkFinalizedStatuses(subscriber: Subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n }\n\n /**\n * Creates a new Observable with this Subject as the source. You can do this\n * to create custom Observer-side logic of the Subject and conceal it from\n * code that uses the Observable.\n * @return {Observable} Observable that the Subject casts to\n */\n asObservable(): Observable {\n const observable: any = new Observable();\n observable.source = this;\n return observable;\n }\n}\n\n/**\n * @class AnonymousSubject\n */\nexport class AnonymousSubject extends Subject {\n constructor(\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n public destination?: Observer,\n source?: Observable\n ) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n this.destination?.next?.(value);\n }\n\n error(err: any) {\n this.destination?.error?.(err);\n }\n\n complete() {\n this.destination?.complete?.();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n return this.source?.subscribe(subscriber) ?? EMPTY_SUBSCRIPTION;\n }\n}\n", "import { Subject } from './Subject';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\n\n/**\n * A variant of Subject that requires an initial value and emits its current\n * value whenever it is subscribed to.\n *\n * @class BehaviorSubject\n */\nexport class BehaviorSubject extends Subject {\n constructor(private _value: T) {\n super();\n }\n\n get value(): T {\n return this.getValue();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n\n getValue(): T {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n\n next(value: T): void {\n super.next((this._value = value));\n }\n}\n", "import { TimestampProvider } from '../types';\n\ninterface DateTimestampProvider extends TimestampProvider {\n delegate: TimestampProvider | undefined;\n}\n\nexport const dateTimestampProvider: DateTimestampProvider = {\n now() {\n // Use the variable rather than `this` so that the function can be called\n // without being bound to the provider.\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n", "import { Subject } from './Subject';\nimport { TimestampProvider } from './types';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * A variant of {@link Subject} that \"replays\" old values to new subscribers by emitting them when they first subscribe.\n *\n * `ReplaySubject` has an internal buffer that will store a specified number of values that it has observed. Like `Subject`,\n * `ReplaySubject` \"observes\" values by having them passed to its `next` method. When it observes a value, it will store that\n * value for a time determined by the configuration of the `ReplaySubject`, as passed to its constructor.\n *\n * When a new subscriber subscribes to the `ReplaySubject` instance, it will synchronously emit all values in its buffer in\n * a First-In-First-Out (FIFO) manner. The `ReplaySubject` will also complete, if it has observed completion; and it will\n * error if it has observed an error.\n *\n * There are two main configuration items to be concerned with:\n *\n * 1. `bufferSize` - This will determine how many items are stored in the buffer, defaults to infinite.\n * 2. `windowTime` - The amount of time to hold a value in the buffer before removing it from the buffer.\n *\n * Both configurations may exist simultaneously. So if you would like to buffer a maximum of 3 values, as long as the values\n * are less than 2 seconds old, you could do so with a `new ReplaySubject(3, 2000)`.\n *\n * ### Differences with BehaviorSubject\n *\n * `BehaviorSubject` is similar to `new ReplaySubject(1)`, with a couple of exceptions:\n *\n * 1. `BehaviorSubject` comes \"primed\" with a single value upon construction.\n * 2. `ReplaySubject` will replay values, even after observing an error, where `BehaviorSubject` will not.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n * @see {@link shareReplay}\n */\nexport class ReplaySubject extends Subject {\n private _buffer: (T | number)[] = [];\n private _infiniteTimeWindow = true;\n\n /**\n * @param bufferSize The size of the buffer to replay on subscription\n * @param windowTime The amount of time the buffered items will stay buffered\n * @param timestampProvider An object with a `now()` method that provides the current timestamp. This is used to\n * calculate the amount of time something has been buffered.\n */\n constructor(\n private _bufferSize = Infinity,\n private _windowTime = Infinity,\n private _timestampProvider: TimestampProvider = dateTimestampProvider\n ) {\n super();\n this._infiniteTimeWindow = _windowTime === Infinity;\n this._bufferSize = Math.max(1, _bufferSize);\n this._windowTime = Math.max(1, _windowTime);\n }\n\n next(value: T): void {\n const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n super.next(value);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._trimBuffer();\n\n const subscription = this._innerSubscribe(subscriber);\n\n const { _infiniteTimeWindow, _buffer } = this;\n // We use a copy here, so reentrant code does not mutate our array while we're\n // emitting it to a new subscriber.\n const copy = _buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i] as T);\n }\n\n this._checkFinalizedStatuses(subscriber);\n\n return subscription;\n }\n\n private _trimBuffer() {\n const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;\n // If we don't have an infinite buffer size, and we're over the length,\n // use splice to truncate the old buffer values off. Note that we have to\n // double the size for instances where we're not using an infinite time window\n // because we're storing the values and the timestamps in the same array.\n const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n\n // Now, if we're not in an infinite time window, remove all values where the time is\n // older than what is allowed.\n if (!_infiniteTimeWindow) {\n const now = _timestampProvider.now();\n let last = 0;\n // Search the array for the first timestamp that isn't expired and\n // truncate the buffer up to that point.\n for (let i = 1; i < _buffer.length && (_buffer[i] as number) <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Subscription } from '../Subscription';\nimport { SchedulerAction } from '../types';\n\n/**\n * A unit of work to be executed in a `scheduler`. An action is typically\n * created from within a {@link SchedulerLike} and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action extends Subscription {\n * new (scheduler: Scheduler, work: (state?: T) => void);\n * schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n *\n * @class Action\n */\nexport class Action extends Subscription {\n constructor(scheduler: Scheduler, work: (this: SchedulerAction, state?: T) => void) {\n super();\n }\n /**\n * Schedules this action on its parent {@link SchedulerLike} for execution. May be passed\n * some context object, `state`. May happen at some point in the future,\n * according to the `delay` parameter, if specified.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler.\n * @return {void}\n */\n public schedule(state?: T, delay: number = 0): Subscription {\n return this;\n }\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetIntervalFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearIntervalFunction = (handle: TimerHandle) => void;\n\ninterface IntervalProvider {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n delegate:\n | {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n }\n | undefined;\n}\n\nexport const intervalProvider: IntervalProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setInterval(handler: () => void, timeout?: number, ...args) {\n const { delegate } = intervalProvider;\n if (delegate?.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return (delegate?.clearInterval || clearInterval)(handle as any);\n },\n delegate: undefined,\n};\n", "import { Action } from './Action';\nimport { SchedulerAction } from '../types';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncAction extends Action {\n public id: TimerHandle | undefined;\n public state?: T;\n // @ts-ignore: Property has no initializer and is not definitely assigned\n public delay: number;\n protected pending: boolean = false;\n\n constructor(protected scheduler: AsyncScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (this.closed) {\n return this;\n }\n\n // Always replace the current state with the new state.\n this.state = state;\n\n const id = this.id;\n const scheduler = this.scheduler;\n\n //\n // Important implementation note:\n //\n // Actions only execute once by default, unless rescheduled from within the\n // scheduled callback. This allows us to implement single and repeat\n // actions via the same code path, without adding API surface area, as well\n // as mimic traditional recursion but across asynchronous boundaries.\n //\n // However, JS runtimes and timers distinguish between intervals achieved by\n // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n // serial `setTimeout` calls can be individually delayed, which delays\n // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n // guarantee the interval callback will be invoked more precisely to the\n // interval period, regardless of load.\n //\n // Therefore, we use `setInterval` to schedule single and repeat actions.\n // If the action reschedules itself with the same delay, the interval is not\n // canceled. If the action doesn't reschedule, or reschedules with a\n // different delay, the interval will be canceled after scheduled callback\n // execution.\n //\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n\n // Set the pending flag indicating that this action has been scheduled, or\n // has recursively rescheduled itself.\n this.pending = true;\n\n this.delay = delay;\n // If this action has already an async Id, don't request a new one.\n this.id = this.id ?? this.requestAsyncId(scheduler, this.id, delay);\n\n return this;\n }\n\n protected requestAsyncId(scheduler: AsyncScheduler, _id?: TimerHandle, delay: number = 0): TimerHandle {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n\n protected recycleAsyncId(_scheduler: AsyncScheduler, id?: TimerHandle, delay: number | null = 0): TimerHandle | undefined {\n // If this action is rescheduled with the same delay time, don't clear the interval id.\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n // Otherwise, if the action's delay time is different from the current delay,\n // or the action has been rescheduled before it's executed, clear the interval id\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n\n return undefined;\n }\n\n /**\n * Immediately executes this action and the `work` it contains.\n * @return {any}\n */\n public execute(state: T, delay: number): any {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n } else if (this.pending === false && this.id != null) {\n // Dequeue if the action didn't reschedule itself. Don't call\n // unsubscribe(), because the action could reschedule later.\n // For example:\n // ```\n // scheduler.schedule(function doWork(counter) {\n // /* ... I'm a busy worker bee ... */\n // var originalAction = this;\n // /* wait 100ms before rescheduling the action */\n // setTimeout(function () {\n // originalAction.schedule(counter + 1);\n // }, 100);\n // }, 1000);\n // ```\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n\n protected _execute(state: T, _delay: number): any {\n let errored: boolean = false;\n let errorValue: any;\n try {\n this.work(state);\n } catch (e) {\n errored = true;\n // HACK: Since code elsewhere is relying on the \"truthiness\" of the\n // return here, we can't have it return \"\" or 0 or false.\n // TODO: Clean this up when we refactor schedulers mid-version-8 or so.\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n\n this.work = this.state = this.scheduler = null!;\n this.pending = false;\n\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n\n this.delay = null!;\n super.unsubscribe();\n }\n }\n}\n", "import { Action } from './scheduler/Action';\nimport { Subscription } from './Subscription';\nimport { SchedulerLike, SchedulerAction } from './types';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an `Action`.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n * @deprecated Scheduler is an internal implementation detail of RxJS, and\n * should not be used directly. Rather, create your own class and implement\n * {@link SchedulerLike}. Will be made internal in v8.\n */\nexport class Scheduler implements SchedulerLike {\n public static now: () => number = dateTimestampProvider.now;\n\n constructor(private schedulerActionCtor: typeof Action, now: () => number = Scheduler.now) {\n this.now = now;\n }\n\n /**\n * A getter method that returns a number representing the current time\n * (at the time this function was called) according to the scheduler's own\n * internal clock.\n * @return {number} A number that represents the current time. May or may not\n * have a relation to wall-clock time. May or may not refer to a time unit\n * (e.g. milliseconds).\n */\n public now: () => number;\n\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param {function(state: ?T): ?Subscription} work A function representing a\n * task, or some unit of work to be executed by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler itself.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @return {Subscription} A subscription in order to be able to unsubscribe\n * the scheduled work.\n */\n public schedule(work: (this: SchedulerAction, state?: T) => void, delay: number = 0, state?: T): Subscription {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Action } from './Action';\nimport { AsyncAction } from './AsyncAction';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncScheduler extends Scheduler {\n public actions: Array> = [];\n /**\n * A flag to indicate whether the Scheduler is currently executing a batch of\n * queued actions.\n * @type {boolean}\n * @internal\n */\n public _active: boolean = false;\n /**\n * An internal ID used to track the latest asynchronous task such as those\n * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n * others.\n * @type {any}\n * @internal\n */\n public _scheduled: TimerHandle | undefined;\n\n constructor(SchedulerAction: typeof Action, now: () => number = Scheduler.now) {\n super(SchedulerAction, now);\n }\n\n public flush(action: AsyncAction): void {\n const { actions } = this;\n\n if (this._active) {\n actions.push(action);\n return;\n }\n\n let error: any;\n this._active = true;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()!)); // exhaust the scheduler queue\n\n this._active = false;\n\n if (error) {\n while ((action = actions.shift()!)) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\n/**\n *\n * Async Scheduler\n *\n * Schedule task as if you used setTimeout(task, duration)\n *\n * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript\n * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating\n * in intervals.\n *\n * If you just want to \"defer\" task, that is to perform it right after currently\n * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`),\n * better choice will be the {@link asapScheduler} scheduler.\n *\n * ## Examples\n * Use async scheduler to delay task\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * const task = () => console.log('it works!');\n *\n * asyncScheduler.schedule(task, 2000);\n *\n * // After 2 seconds logs:\n * // \"it works!\"\n * ```\n *\n * Use async scheduler to repeat task in intervals\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * function task(state) {\n * console.log(state);\n * this.schedule(state + 1, 1000); // `this` references currently executing Action,\n * // which we reschedule with new state and delay\n * }\n *\n * asyncScheduler.schedule(task, 3000, 0);\n *\n * // Logs:\n * // 0 after 3s\n * // 1 after 4s\n * // 2 after 5s\n * // 3 after 6s\n * ```\n */\n\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\n\n/**\n * @deprecated Renamed to {@link asyncScheduler}. Will be removed in v8.\n */\nexport const async = asyncScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { Subscription } from '../Subscription';\nimport { QueueScheduler } from './QueueScheduler';\nimport { SchedulerAction } from '../types';\nimport { TimerHandle } from './timerHandle';\n\nexport class QueueAction extends AsyncAction {\n constructor(protected scheduler: QueueScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n\n public execute(state: T, delay: number): any {\n return delay > 0 || this.closed ? super.execute(state, delay) : this._execute(state, delay);\n }\n\n protected requestAsyncId(scheduler: QueueScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n\n // Otherwise flush the scheduler starting with this action.\n scheduler.flush(this);\n\n // HACK: In the past, this was returning `void`. However, `void` isn't a valid\n // `TimerHandle`, and generally the return value here isn't really used. So the\n // compromise is to return `0` which is both \"falsy\" and a valid `TimerHandle`,\n // as opposed to refactoring every other instanceo of `requestAsyncId`.\n return 0;\n }\n}\n", "import { AsyncScheduler } from './AsyncScheduler';\n\nexport class QueueScheduler extends AsyncScheduler {\n}\n", "import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\n\n/**\n *\n * Queue Scheduler\n *\n * Put every next task on a queue, instead of executing it immediately\n *\n * `queue` scheduler, when used with delay, behaves the same as {@link asyncScheduler} scheduler.\n *\n * When used without delay, it schedules given task synchronously - executes it right when\n * it is scheduled. However when called recursively, that is when inside the scheduled task,\n * another task is scheduled with queue scheduler, instead of executing immediately as well,\n * that task will be put on a queue and wait for current one to finish.\n *\n * This means that when you execute task with `queue` scheduler, you are sure it will end\n * before any other task scheduled with that scheduler will start.\n *\n * ## Examples\n * Schedule recursively first, then do something\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(() => {\n * queueScheduler.schedule(() => console.log('second')); // will not happen now, but will be put on a queue\n *\n * console.log('first');\n * });\n *\n * // Logs:\n * // \"first\"\n * // \"second\"\n * ```\n *\n * Reschedule itself recursively\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(function(state) {\n * if (state !== 0) {\n * console.log('before', state);\n * this.schedule(state - 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * console.log('after', state);\n * }\n * }, 0, 3);\n *\n * // In scheduler that runs recursively, you would expect:\n * // \"before\", 3\n * // \"before\", 2\n * // \"before\", 1\n * // \"after\", 1\n * // \"after\", 2\n * // \"after\", 3\n *\n * // But with queue it logs:\n * // \"before\", 3\n * // \"after\", 3\n * // \"before\", 2\n * // \"after\", 2\n * // \"before\", 1\n * // \"after\", 1\n * ```\n */\n\nexport const queueScheduler = new QueueScheduler(QueueAction);\n\n/**\n * @deprecated Renamed to {@link queueScheduler}. Will be removed in v8.\n */\nexport const queue = queueScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nimport { SchedulerAction } from '../types';\nimport { animationFrameProvider } from './animationFrameProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AnimationFrameAction extends AsyncAction {\n constructor(protected scheduler: AnimationFrameScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If an animation frame has already been requested, don't request another\n // one. If an animation frame hasn't been requested yet, request one. Return\n // the current animation frame request id.\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n\n protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested animation frame and set the scheduled flag to\n // undefined so the next AnimationFrameAction will request its own.\n const { actions } = scheduler;\n if (id != null && actions[actions.length - 1]?.id !== id) {\n animationFrameProvider.cancelAnimationFrame(id as number);\n scheduler._scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AnimationFrameScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n const flushId = this._scheduled;\n this._scheduled = undefined;\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\n\n/**\n *\n * Animation Frame Scheduler\n *\n * Perform task when `window.requestAnimationFrame` would fire\n *\n * When `animationFrame` scheduler is used with delay, it will fall back to {@link asyncScheduler} scheduler\n * behaviour.\n *\n * Without delay, `animationFrame` scheduler can be used to create smooth browser animations.\n * It makes sure scheduled task will happen just before next browser content repaint,\n * thus performing animations as efficiently as possible.\n *\n * ## Example\n * Schedule div height animation\n * ```ts\n * // html:
    \n * import { animationFrameScheduler } from 'rxjs';\n *\n * const div = document.querySelector('div');\n *\n * animationFrameScheduler.schedule(function(height) {\n * div.style.height = height + \"px\";\n *\n * this.schedule(height + 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * }, 0, 0);\n *\n * // You will see a div element growing in height\n * ```\n */\n\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\n\n/**\n * @deprecated Renamed to {@link animationFrameScheduler}. Will be removed in v8.\n */\nexport const animationFrame = animationFrameScheduler;\n", "import { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\n\n/**\n * A simple Observable that emits no items to the Observer and immediately\n * emits a complete notification.\n *\n * Just emits 'complete', and nothing else.\n *\n * ![](empty.png)\n *\n * A simple Observable that only emits the complete notification. It can be used\n * for composing with other Observables, such as in a {@link mergeMap}.\n *\n * ## Examples\n *\n * Log complete notification\n *\n * ```ts\n * import { EMPTY } from 'rxjs';\n *\n * EMPTY.subscribe({\n * next: () => console.log('Next'),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Outputs\n * // Complete!\n * ```\n *\n * Emit the number 7, then complete\n *\n * ```ts\n * import { EMPTY, startWith } from 'rxjs';\n *\n * const result = EMPTY.pipe(startWith(7));\n * result.subscribe(x => console.log(x));\n *\n * // Outputs\n * // 7\n * ```\n *\n * Map and flatten only odd numbers to the sequence `'a'`, `'b'`, `'c'`\n *\n * ```ts\n * import { interval, mergeMap, of, EMPTY } from 'rxjs';\n *\n * const interval$ = interval(1000);\n * const result = interval$.pipe(\n * mergeMap(x => x % 2 === 1 ? of('a', 'b', 'c') : EMPTY),\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following to the console:\n * // x is equal to the count on the interval, e.g. (0, 1, 2, 3, ...)\n * // x will occur every 1000ms\n * // if x % 2 is equal to 1, print a, b, c (each on its own)\n * // if x % 2 is not equal to 1, nothing will be output\n * ```\n *\n * @see {@link Observable}\n * @see {@link NEVER}\n * @see {@link of}\n * @see {@link throwError}\n */\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\n\n/**\n * @param scheduler A {@link SchedulerLike} to use for scheduling\n * the emission of the complete notification.\n * @deprecated Replaced with the {@link EMPTY} constant or {@link scheduled} (e.g. `scheduled([], scheduler)`). Will be removed in v8.\n */\nexport function empty(scheduler?: SchedulerLike) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\n\nfunction emptyScheduled(scheduler: SchedulerLike) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport function isScheduler(value: any): value is SchedulerLike {\n return value && isFunction(value.schedule);\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\n\nfunction last(arr: T[]): T | undefined {\n return arr[arr.length - 1];\n}\n\nexport function popResultSelector(args: any[]): ((...args: unknown[]) => unknown) | undefined {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\n\nexport function popScheduler(args: any[]): SchedulerLike | undefined {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\n\nexport function popNumber(args: any[], defaultValue: number): number {\n return typeof last(args) === 'number' ? args.pop()! : defaultValue;\n}\n", "export const isArrayLike = ((x: any): x is ArrayLike => x && typeof x.length === 'number' && typeof x !== 'function');", "import { isFunction } from \"./isFunction\";\n\n/**\n * Tests to see if the object is \"thennable\".\n * @param value the object to test\n */\nexport function isPromise(value: any): value is PromiseLike {\n return isFunction(value?.then);\n}\n", "import { InteropObservable } from '../types';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being Observable (but not necessary an Rx Observable) */\nexport function isInteropObservable(input: any): input is InteropObservable {\n return isFunction(input[Symbol_observable]);\n}\n", "import { isFunction } from './isFunction';\n\nexport function isAsyncIterable(obj: any): obj is AsyncIterable {\n return Symbol.asyncIterator && isFunction(obj?.[Symbol.asyncIterator]);\n}\n", "/**\n * Creates the TypeError to throw if an invalid object is passed to `from` or `scheduled`.\n * @param input The object that was passed.\n */\nexport function createInvalidObservableTypeError(input: any) {\n // TODO: We should create error codes that can be looked up, so this can be less verbose.\n return new TypeError(\n `You provided ${\n input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`\n } where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`\n );\n}\n", "export function getSymbolIterator(): symbol {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator' as any;\n }\n\n return Symbol.iterator;\n}\n\nexport const iterator = getSymbolIterator();\n", "import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being an Iterable */\nexport function isIterable(input: any): input is Iterable {\n return isFunction(input?.[Symbol_iterator]);\n}\n", "import { ReadableStreamLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport async function* readableStreamLikeToAsyncGenerator(readableStream: ReadableStreamLike): AsyncGenerator {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n return;\n }\n yield value!;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nexport function isReadableStreamLike(obj: any): obj is ReadableStreamLike {\n // We don't want to use instanceof checks because they would return\n // false for instances from another Realm, like an