From c6ce596acfa5799bee64c12c0b4ccece61532815 Mon Sep 17 00:00:00 2001 From: Caleb Denio Date: Mon, 7 Oct 2024 23:06:00 -0400 Subject: [PATCH] Initial commit --- .gitignore | 4 + astro.config.mjs | 7 + cities/boston.json | 1 + deno.lock | 28 + gtfs.ts | 135 + package-lock.json | 6728 ++++++++++++++++++++++++++++ package.json | 22 + src/MBTA.svg | 1 + src/agency.js | 144 + src/components/Game.svelte | 101 + src/components/Guesser.svelte | 80 + src/components/MbtaLine.svelte | 30 + src/components/RouteBuilder.svelte | 112 + src/env.d.ts | 1 + src/pages/index.astro | 29 + src/screenshot.png | Bin 0 -> 176594 bytes svelte.config.js | 5 + tailwind.config.mjs | 19 + 18 files changed, 7447 insertions(+) create mode 100644 .gitignore create mode 100644 astro.config.mjs create mode 100644 cities/boston.json create mode 100644 deno.lock create mode 100644 gtfs.ts create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/MBTA.svg create mode 100644 src/agency.js create mode 100644 src/components/Game.svelte create mode 100644 src/components/Guesser.svelte create mode 100644 src/components/MbtaLine.svelte create mode 100644 src/components/RouteBuilder.svelte create mode 100644 src/env.d.ts create mode 100644 src/pages/index.astro create mode 100644 src/screenshot.png create mode 100644 svelte.config.js create mode 100644 tailwind.config.mjs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d54be2c --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +example/ +node_modules/ +.astro/ +.DS_Store diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..a32c1da --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,7 @@ +import { defineConfig } from 'astro/config'; +import svelte from '@astrojs/svelte'; +import tailwind from '@astrojs/tailwind'; +// https://astro.build/config +export default defineConfig({ + integrations: [svelte(), tailwind()] +}); \ No newline at end of file diff --git a/cities/boston.json b/cities/boston.json new file mode 100644 index 0000000..caa6728 --- /dev/null +++ b/cities/boston.json @@ -0,0 +1 @@ +{"stations":{"place-wondl":{"stop_id":"place-wondl","stop_code":"","stop_name":"Wonderland","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.413420","stop_lon":"-70.991648","zone_id":"","stop_address":"1300 North Shore Rd, Revere, MA 02151","stop_url":"https://www.mbta.com/stops/place-wondl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Revere","on_street":"","at_street":"","vehicle_type":""},"place-rbmnl":{"stop_id":"place-rbmnl","stop_code":"","stop_name":"Revere Beach","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.407843","stop_lon":"-70.992533","zone_id":"","stop_address":"220 Shirley Ave, Revere, MA","stop_url":"https://www.mbta.com/stops/place-rbmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Revere","on_street":"","at_street":"","vehicle_type":""},"place-bmmnl":{"stop_id":"place-bmmnl","stop_code":"","stop_name":"Beachmont","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.397542","stop_lon":"-70.992319","zone_id":"","stop_address":"630 Winthrop Ave, Revere, MA 02151","stop_url":"https://www.mbta.com/stops/place-bmmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Revere","on_street":"","at_street":"","vehicle_type":""},"place-sdmnl":{"stop_id":"place-sdmnl","stop_code":"","stop_name":"Suffolk Downs","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.390501","stop_lon":"-70.997123","zone_id":"","stop_address":"1230 Bennington St, East Boston, MA 02128","stop_url":"https://www.mbta.com/stops/place-sdmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-orhte":{"stop_id":"place-orhte","stop_code":"","stop_name":"Orient Heights","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.386867","stop_lon":"-71.004736","zone_id":"","stop_address":"1000 Bennington St, East Boston, MA 02128","stop_url":"https://www.mbta.com/stops/place-orhte","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-wimnl":{"stop_id":"place-wimnl","stop_code":"","stop_name":"Wood Island","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.379640","stop_lon":"-71.022865","zone_id":"","stop_address":"450 Bennington St, East Boston, MA","stop_url":"https://www.mbta.com/stops/place-wimnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-aport":{"stop_id":"place-aport","stop_code":"","stop_name":"Airport","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.374262","stop_lon":"-71.030395","zone_id":"","stop_address":"Transportation Way and Service Rd, Boston, MA 02128","stop_url":"https://www.mbta.com/stops/place-aport","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-mvbcl":{"stop_id":"place-mvbcl","stop_code":"","stop_name":"Maverick","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.369119","stop_lon":"-71.039530","zone_id":"","stop_address":"Sumner St and Maverick Sq, East Boston, MA","stop_url":"https://www.mbta.com/stops/place-mvbcl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-aqucl":{"stop_id":"place-aqucl","stop_code":"","stop_name":"Aquarium","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.359784","stop_lon":"-71.051652","zone_id":"","stop_address":"Atlantic Ave and State St, Boston, MA 02120","stop_url":"https://www.mbta.com/stops/place-aqucl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-state":{"stop_id":"place-state","stop_code":"","stop_name":"State","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.358978","stop_lon":"-71.057598","zone_id":"","stop_address":"200 Washington St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-state","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-gover":{"stop_id":"place-gover","stop_code":"","stop_name":"Government Center","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.359705","stop_lon":"-71.059215","zone_id":"","stop_address":"Cambridge St and Court St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-gover","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-bomnl":{"stop_id":"place-bomnl","stop_code":"","stop_name":"Bowdoin","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.361365","stop_lon":"-71.062037","zone_id":"","stop_address":"Cambridge St and New Chardon St, Boston, MA 02114","stop_url":"https://www.mbta.com/stops/place-bomnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-pktrm":{"stop_id":"place-pktrm","stop_code":"","stop_name":"Park Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.356395","stop_lon":"-71.062424","zone_id":"","stop_address":"Tremont St and Winter St, Boston, MA 02108","stop_url":"https://www.mbta.com/stops/place-pktrm","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-boyls":{"stop_id":"place-boyls","stop_code":"","stop_name":"Boylston","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.353020","stop_lon":"-71.064590","zone_id":"","stop_address":"Boylston St and Tremont St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-boyls","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-armnl":{"stop_id":"place-armnl","stop_code":"","stop_name":"Arlington","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.351902","stop_lon":"-71.070893","zone_id":"","stop_address":"Arlington St and Boylston St, Boston, MA 02116","stop_url":"https://www.mbta.com/stops/place-armnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-coecl":{"stop_id":"place-coecl","stop_code":"","stop_name":"Copley","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.349974","stop_lon":"-71.077447","zone_id":"","stop_address":"Boylston St and Dartmouth St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-coecl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-hymnl":{"stop_id":"place-hymnl","stop_code":"","stop_name":"Hynes Convention Center","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.347888","stop_lon":"-71.087903","zone_id":"","stop_address":"100 Massachusetts Ave, Boston, MA","stop_url":"https://www.mbta.com/stops/place-hymnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-kencl":{"stop_id":"place-kencl","stop_code":"","stop_name":"Kenmore","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.348949","stop_lon":"-71.095169","zone_id":"","stop_address":"Commonwealth Ave and Kenmore St, Boston, MA 02215","stop_url":"https://www.mbta.com/stops/place-kencl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-bland":{"stop_id":"place-bland","stop_code":"","stop_name":"Blandford Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.349293","stop_lon":"-71.100258","zone_id":"","stop_address":"Commonwealth Ave and Blandford Mall, Boston, MA 02215","stop_url":"https://www.mbta.com/stops/place-bland","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-buest":{"stop_id":"place-buest","stop_code":"","stop_name":"Boston University East","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.349735","stop_lon":"-71.103889","zone_id":"","stop_address":"Commonwealth Ave and Granby St, Boston, MA 02215","stop_url":"https://www.mbta.com/stops/place-buest","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-bucen":{"stop_id":"place-bucen","stop_code":"","stop_name":"Boston University Central","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.350082","stop_lon":"-71.106865","zone_id":"","stop_address":"Commonwealth Ave and Marsh Chapel, Boston, MA 02215","stop_url":"https://www.mbta.com/stops/place-bucen","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-amory":{"stop_id":"place-amory","stop_code":"","stop_name":"Amory Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.350992","stop_lon":"-71.114748","zone_id":"","stop_address":"Commonwealth Ave and Amory St, Boston, MA 02215","stop_url":"https://www.mbta.com/stops/place-amory","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-babck":{"stop_id":"place-babck","stop_code":"","stop_name":"Babcock Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.351616","stop_lon":"-71.119924","zone_id":"","stop_address":"Commonwealth Ave and Babcock St, Boston, MA 02215","stop_url":"https://www.mbta.com/stops/place-babck","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-brico":{"stop_id":"place-brico","stop_code":"","stop_name":"Packard's Corner","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.351967","stop_lon":"-71.125031","zone_id":"","stop_address":"Commonwealth Ave and Brighton Ave, Boston, MA 02215","stop_url":"https://www.mbta.com/stops/place-brico","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-harvd":{"stop_id":"place-harvd","stop_code":"","stop_name":"Harvard Avenue","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.350243","stop_lon":"-71.131355","zone_id":"","stop_address":"Commonwealth Ave and Harvard Ave, Boston, MA","stop_url":"https://www.mbta.com/stops/place-harvd","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-grigg":{"stop_id":"place-grigg","stop_code":"","stop_name":"Griggs Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.348545","stop_lon":"-71.134949","zone_id":"","stop_address":"Commonwealth Ave and Griggs St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-grigg","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-alsgr":{"stop_id":"place-alsgr","stop_code":"","stop_name":"Allston Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.348701","stop_lon":"-71.137955","zone_id":"","stop_address":"Allston St and Commonwealth Ave, Boston, MA 02134","stop_url":"https://www.mbta.com/stops/place-alsgr","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-wrnst":{"stop_id":"place-wrnst","stop_code":"","stop_name":"Warren Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.348343","stop_lon":"-71.140457","zone_id":"","stop_address":"Commonwealth Ave and Warren St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-wrnst","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-wascm":{"stop_id":"place-wascm","stop_code":"","stop_name":"Washington Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.343864","stop_lon":"-71.142853","zone_id":"","stop_address":"Commonwealth Ave and Washington St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-wascm","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-sthld":{"stop_id":"place-sthld","stop_code":"","stop_name":"Sutherland Road","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.341614","stop_lon":"-71.146202","zone_id":"","stop_address":"Commonwealth Ave and Sutherland Rd, Boston, MA","stop_url":"https://www.mbta.com/stops/place-sthld","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-chswk":{"stop_id":"place-chswk","stop_code":"","stop_name":"Chiswick Road","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.340805","stop_lon":"-71.150711","zone_id":"","stop_address":"Commonwealth Ave and Chiswick Rd, Boston, MA","stop_url":"https://www.mbta.com/stops/place-chswk","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-chill":{"stop_id":"place-chill","stop_code":"","stop_name":"Chestnut Hill Avenue","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.338169","stop_lon":"-71.153160","zone_id":"","stop_address":"Commonwealth Ave and Chestnut Hill Ave, Boston, MA","stop_url":"https://www.mbta.com/stops/place-chill","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-sougr":{"stop_id":"place-sougr","stop_code":"","stop_name":"South Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.339600","stop_lon":"-71.157661","zone_id":"","stop_address":"","stop_url":"https://www.mbta.com/stops/place-sougr","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-lake":{"stop_id":"place-lake","stop_code":"","stop_name":"Boston College","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.340081","stop_lon":"-71.166769","zone_id":"","stop_address":"Commonwealth Ave and Lake St, Boston, MA 02135","stop_url":"https://www.mbta.com/stops/place-lake","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-smary":{"stop_id":"place-smary","stop_code":"","stop_name":"Saint Mary's Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.345974","stop_lon":"-71.107353","zone_id":"","stop_address":"Beacon St and Saint Mary's St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-smary","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-hwsst":{"stop_id":"place-hwsst","stop_code":"","stop_name":"Hawes Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.344906","stop_lon":"-71.111145","zone_id":"","stop_address":"Beacon St and Hawes St, Brookline, MA","stop_url":"https://www.mbta.com/stops/place-hwsst","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-kntst":{"stop_id":"place-kntst","stop_code":"","stop_name":"Kent Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.344074","stop_lon":"-71.114197","zone_id":"","stop_address":"Beacon St and Powell St, Brookline, MA","stop_url":"https://www.mbta.com/stops/place-kntst","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-stpul":{"stop_id":"place-stpul","stop_code":"","stop_name":"Saint Paul Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.343327","stop_lon":"-71.116997","zone_id":"","stop_address":"Beacon St and Saint Paul St, Brookline, MA 02446","stop_url":"https://www.mbta.com/stops/place-stpul","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-cool":{"stop_id":"place-cool","stop_code":"","stop_name":"Coolidge Corner","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.342116","stop_lon":"-71.121263","zone_id":"","stop_address":"Beacon St and Harvard St, Brookline, MA","stop_url":"https://www.mbta.com/stops/place-cool","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-sumav":{"stop_id":"place-sumav","stop_code":"","stop_name":"Summit Avenue","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.341110","stop_lon":"-71.125610","zone_id":"","stop_address":"Beacon St and Summit Ave, Brookline, MA","stop_url":"https://www.mbta.com/stops/place-sumav","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-bndhl":{"stop_id":"place-bndhl","stop_code":"","stop_name":"Brandon Hall","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.340023","stop_lon":"-71.129082","zone_id":"","stop_address":"1481 Beacon St, Brookline, MA","stop_url":"https://www.mbta.com/stops/place-bndhl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-fbkst":{"stop_id":"place-fbkst","stop_code":"","stop_name":"Fairbanks Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.339725","stop_lon":"-71.131073","zone_id":"","stop_address":"Beacon St and Fairbanks Ave, Brookline, MA","stop_url":"https://www.mbta.com/stops/place-fbkst","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-bcnwa":{"stop_id":"place-bcnwa","stop_code":"","stop_name":"Washington Square","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.339394","stop_lon":"-71.135330","zone_id":"","stop_address":"Beacon St and Washington St, Brookline, MA","stop_url":"https://www.mbta.com/stops/place-bcnwa","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-tapst":{"stop_id":"place-tapst","stop_code":"","stop_name":"Tappan Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.338459","stop_lon":"-71.138702","zone_id":"","stop_address":"Beacon St and Tappan St, Brookline, MA","stop_url":"https://www.mbta.com/stops/place-tapst","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-denrd":{"stop_id":"place-denrd","stop_code":"","stop_name":"Dean Road","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.337807","stop_lon":"-71.141853","zone_id":"","stop_address":"Beacon St and Dean Rd, Brookline, MA","stop_url":"https://www.mbta.com/stops/place-denrd","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-engav":{"stop_id":"place-engav","stop_code":"","stop_name":"Englewood Avenue","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.336971","stop_lon":"-71.145660","zone_id":"","stop_address":"Beacon St and Englewood Ave, Brookline, MA","stop_url":"https://www.mbta.com/stops/place-engav","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-clmnl":{"stop_id":"place-clmnl","stop_code":"","stop_name":"Cleveland Circle","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.336142","stop_lon":"-71.149326","zone_id":"","stop_address":"Beacon St and Chestnut Hill Ave, Brighton, MA","stop_url":"https://www.mbta.com/stops/place-clmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-unsqu":{"stop_id":"place-unsqu","stop_code":"","stop_name":"Union Square","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.377359","stop_lon":"-71.094761","zone_id":"","stop_address":"50 Prospect St, Somerville, MA 02143","stop_url":"https://www.mbta.com/stops/place-unsqu","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Somerville","on_street":"","at_street":"","vehicle_type":""},"place-lech":{"stop_id":"place-lech","stop_code":"","stop_name":"Lechmere","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.371572","stop_lon":"-71.076584","zone_id":"","stop_address":"3 North First St, Cambridge, MA 02141","stop_url":"https://www.mbta.com/stops/place-lech","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Cambridge","on_street":"","at_street":"","vehicle_type":""},"place-spmnl":{"stop_id":"place-spmnl","stop_code":"","stop_name":"Science Park/West End","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.366664","stop_lon":"-71.067666","zone_id":"","stop_address":"Leverett Circle and Nashua St, Boston, MA 02114","stop_url":"https://www.mbta.com/stops/place-spmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-north":{"stop_id":"place-north","stop_code":"","stop_name":"North Station","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.365577","stop_lon":"-71.061290","zone_id":"CR-zone-1A","stop_address":"135 Causeway St, Boston, MA 02114","stop_url":"https://www.mbta.com/stops/place-north","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-haecl":{"stop_id":"place-haecl","stop_code":"","stop_name":"Haymarket","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.363021","stop_lon":"-71.058290","zone_id":"","stop_address":"136 Blackstone St, Boston, MA 02109","stop_url":"https://www.mbta.com/stops/place-haecl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-fenwy":{"stop_id":"place-fenwy","stop_code":"","stop_name":"Fenway","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.345403","stop_lon":"-71.104213","zone_id":"","stop_address":"411 Park Dr, Boston, MA 02215","stop_url":"https://www.mbta.com/stops/place-fenwy","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-longw":{"stop_id":"place-longw","stop_code":"","stop_name":"Longwood","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.341702","stop_lon":"-71.109956","zone_id":"","stop_address":"30 Chapel St, Brookline, MA 02446","stop_url":"https://www.mbta.com/stops/place-longw","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-bvmnl":{"stop_id":"place-bvmnl","stop_code":"","stop_name":"Brookline Village","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.332608","stop_lon":"-71.116857","zone_id":"","stop_address":"31 Station St, Brookline, MA 02445","stop_url":"https://www.mbta.com/stops/place-bvmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-brkhl":{"stop_id":"place-brkhl","stop_code":"","stop_name":"Brookline Hills","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.331316","stop_lon":"-71.126683","zone_id":"","stop_address":"Tappan St and Cypress St, Brookline, MA 02445","stop_url":"https://www.mbta.com/stops/place-brkhl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-bcnfd":{"stop_id":"place-bcnfd","stop_code":"","stop_name":"Beaconsfield","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.335765","stop_lon":"-71.140455","zone_id":"","stop_address":"124 Beaconsfield Rd, Brookline, MA 02445","stop_url":"https://www.mbta.com/stops/place-bcnfd","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-rsmnl":{"stop_id":"place-rsmnl","stop_code":"","stop_name":"Reservoir","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.335088","stop_lon":"-71.148758","zone_id":"","stop_address":"401 Chestnut Hill Ave, Brookline, MA 02445","stop_url":"https://www.mbta.com/stops/place-rsmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Brookline","on_street":"","at_street":"","vehicle_type":""},"place-chhil":{"stop_id":"place-chhil","stop_code":"","stop_name":"Chestnut Hill","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.326753","stop_lon":"-71.164699","zone_id":"","stop_address":"Hammond St and Chestnut Hill Rd, Newton, MA 02467","stop_url":"https://www.mbta.com/stops/place-chhil","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Newton","on_street":"","at_street":"","vehicle_type":""},"place-newto":{"stop_id":"place-newto","stop_code":"","stop_name":"Newton Centre","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.329443","stop_lon":"-71.192414","zone_id":"","stop_address":"72 Union St, Newton, MA 02459","stop_url":"https://www.mbta.com/stops/place-newto","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Newton","on_street":"","at_street":"","vehicle_type":""},"place-newtn":{"stop_id":"place-newtn","stop_code":"","stop_name":"Newton Highlands","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.322381","stop_lon":"-71.205509","zone_id":"","stop_address":"60 Station Ave, Newton, MA 02461","stop_url":"https://www.mbta.com/stops/place-newtn","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Newton","on_street":"","at_street":"","vehicle_type":""},"place-eliot":{"stop_id":"place-eliot","stop_code":"","stop_name":"Eliot","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.319045","stop_lon":"-71.216684","zone_id":"","stop_address":"248 Lincoln St, Newton, MA 02461","stop_url":"https://www.mbta.com/stops/place-eliot","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Newton","on_street":"","at_street":"","vehicle_type":""},"place-waban":{"stop_id":"place-waban","stop_code":"","stop_name":"Waban","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.325845","stop_lon":"-71.230609","zone_id":"","stop_address":"Beacon St and Waban Sq, Newton, MA 02468","stop_url":"https://www.mbta.com/stops/place-waban","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Newton","on_street":"","at_street":"","vehicle_type":""},"place-woodl":{"stop_id":"place-woodl","stop_code":"","stop_name":"Woodland","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.332902","stop_lon":"-71.243362","zone_id":"","stop_address":"1940 Washington St, Newton, MA 02466","stop_url":"https://www.mbta.com/stops/place-woodl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Newton","on_street":"","at_street":"","vehicle_type":""},"place-river":{"stop_id":"place-river","stop_code":"","stop_name":"Riverside","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.337352","stop_lon":"-71.252685","zone_id":"","stop_address":"367 Grove St, Newton, MA 02466","stop_url":"https://www.mbta.com/stops/place-river","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Newton","on_street":"","at_street":"","vehicle_type":""},"place-mdftf":{"stop_id":"place-mdftf","stop_code":"","stop_name":"Medford/Tufts","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.407975","stop_lon":"-71.117044","zone_id":"","stop_address":"460 Boston Ave, Medford, MA 02155","stop_url":"https://www.mbta.com/stops/place-mdftf","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Medford","on_street":"","at_street":"","vehicle_type":""},"place-balsq":{"stop_id":"place-balsq","stop_code":"","stop_name":"Ball Square","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.399889","stop_lon":"-71.111003","zone_id":"","stop_address":"646 Boston Ave, Somerville, MA 02144","stop_url":"https://www.mbta.com/stops/place-balsq","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Medford","on_street":"","at_street":"","vehicle_type":""},"place-mgngl":{"stop_id":"place-mgngl","stop_code":"","stop_name":"Magoun Square","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.393682","stop_lon":"-71.106388","zone_id":"","stop_address":"270 Lowell St, Somerville, MA 02145","stop_url":"https://www.mbta.com/stops/place-mgngl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Somerville","on_street":"","at_street":"","vehicle_type":""},"place-gilmn":{"stop_id":"place-gilmn","stop_code":"","stop_name":"Gilman Square","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.387928","stop_lon":"-71.096766","zone_id":"","stop_address":"161 School St, Somerville, MA 02143","stop_url":"https://www.mbta.com/stops/place-gilmn","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Somerville","on_street":"","at_street":"","vehicle_type":""},"place-esomr":{"stop_id":"place-esomr","stop_code":"","stop_name":"East Somerville","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.379467","stop_lon":"-71.086625","zone_id":"","stop_address":"134 Washington St, Somerville, MA 02143","stop_url":"https://www.mbta.com/stops/place-esomr","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Somerville","on_street":"","at_street":"","vehicle_type":""},"place-prmnl":{"stop_id":"place-prmnl","stop_code":"","stop_name":"Prudential","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.345570","stop_lon":"-71.081696","zone_id":"","stop_address":"Huntington Ave and Belvidere St, Boston, MA 02199","stop_url":"https://www.mbta.com/stops/place-prmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-symcl":{"stop_id":"place-symcl","stop_code":"","stop_name":"Symphony","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.342687","stop_lon":"-71.085056","zone_id":"","stop_address":"Massachusetts Ave and Huntington Ave, Boston, MA","stop_url":"https://www.mbta.com/stops/place-symcl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-nuniv":{"stop_id":"place-nuniv","stop_code":"","stop_name":"Northeastern University","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.340401","stop_lon":"-71.088806","zone_id":"","stop_address":"Huntington Ave and Opera Pl, Boston, MA 02115","stop_url":"https://www.mbta.com/stops/place-nuniv","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-mfa":{"stop_id":"place-mfa","stop_code":"","stop_name":"Museum of Fine Arts","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.337711","stop_lon":"-71.095512","zone_id":"","stop_address":"Huntington Ave and Ruggles St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-mfa","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-lngmd":{"stop_id":"place-lngmd","stop_code":"","stop_name":"Longwood Medical Area","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.335960","stop_lon":"-71.100052","zone_id":"","stop_address":"Huntington Ave and Longwood Ave, Boston, MA 02115","stop_url":"https://www.mbta.com/stops/place-lngmd","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-brmnl":{"stop_id":"place-brmnl","stop_code":"","stop_name":"Brigham Circle","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.334229","stop_lon":"-71.104609","zone_id":"","stop_address":"Huntington Ave and Francis St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-brmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-fenwd":{"stop_id":"place-fenwd","stop_code":"","stop_name":"Fenwood Road","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.333706","stop_lon":"-71.105728","zone_id":"","stop_address":"Huntington Ave and Fenwood Rd, Boston, MA","stop_url":"https://www.mbta.com/stops/place-fenwd","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-mispk":{"stop_id":"place-mispk","stop_code":"","stop_name":"Mission Park","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.333195","stop_lon":"-71.109756","zone_id":"","stop_address":"Huntington Ave and Mission Park Dr, Boston, MA 02115","stop_url":"https://www.mbta.com/stops/place-mispk","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-rvrwy":{"stop_id":"place-rvrwy","stop_code":"","stop_name":"Riverway","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.331684","stop_lon":"-71.111931","zone_id":"","stop_address":"South Huntington Ave and Huntington Ave, Boston, MA","stop_url":"https://www.mbta.com/stops/place-rvrwy","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-bckhl":{"stop_id":"place-bckhl","stop_code":"","stop_name":"Back of the Hill","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.330139","stop_lon":"-71.111313","zone_id":"","stop_address":"100 South Huntington Ave, Boston, MA 02130","stop_url":"https://www.mbta.com/stops/place-bckhl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-hsmnl":{"stop_id":"place-hsmnl","stop_code":"","stop_name":"Heath Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.328316","stop_lon":"-71.110252","zone_id":"","stop_address":"Heath St and South Huntington Ave, Boston, MA","stop_url":"https://www.mbta.com/stops/place-hsmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-asmnl":{"stop_id":"place-asmnl","stop_code":"","stop_name":"Ashmont","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.284520","stop_lon":"-71.063777","zone_id":"","stop_address":"Dorchester Ave and Ashmont St, Boston, MA 02124","stop_url":"https://www.mbta.com/stops/place-asmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-cedgr":{"stop_id":"place-cedgr","stop_code":"","stop_name":"Cedar Grove","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.279629","stop_lon":"-71.060394","zone_id":"","stop_address":"Fellsway St and Milton St, Dorchester, MA 02124","stop_url":"https://www.mbta.com/stops/place-cedgr","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-butlr":{"stop_id":"place-butlr","stop_code":"","stop_name":"Butler","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.272429","stop_lon":"-71.062519","zone_id":"","stop_address":"Butler St and Branchfield St, Dorchester, MA 02124","stop_url":"https://www.mbta.com/stops/place-butlr","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-miltt":{"stop_id":"place-miltt","stop_code":"","stop_name":"Milton","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.270349","stop_lon":"-71.067266","zone_id":"","stop_address":"1 Adams St, Milton, MA 02186","stop_url":"https://www.mbta.com/stops/place-miltt","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Milton","on_street":"","at_street":"","vehicle_type":""},"place-cenav":{"stop_id":"place-cenav","stop_code":"","stop_name":"Central Avenue","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.270027","stop_lon":"-71.073444","zone_id":"","stop_address":"23 Central Ave, Milton, MA 02186","stop_url":"https://www.mbta.com/stops/place-cenav","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Milton","on_street":"","at_street":"","vehicle_type":""},"place-valrd":{"stop_id":"place-valrd","stop_code":"","stop_name":"Valley Road","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.268347","stop_lon":"-71.081343","zone_id":"","stop_address":"291 Valley Rd, Milton, MA 02186","stop_url":"https://www.mbta.com/stops/place-valrd","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"2","municipality":"Milton","on_street":"","at_street":"","vehicle_type":""},"place-capst":{"stop_id":"place-capst","stop_code":"","stop_name":"Capen Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.267563","stop_lon":"-71.087338","zone_id":"","stop_address":"50 Capen St, Milton, MA 02186","stop_url":"https://www.mbta.com/stops/place-capst","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Milton","on_street":"","at_street":"","vehicle_type":""},"place-matt":{"stop_id":"place-matt","stop_code":"","stop_name":"Mattapan","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.267620","stop_lon":"-71.092486","zone_id":"","stop_address":"500 River St, Boston, MA 02126","stop_url":"https://www.mbta.com/stops/place-matt","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-ogmnl":{"stop_id":"place-ogmnl","stop_code":"","stop_name":"Oak Grove","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.436680","stop_lon":"-71.071097","zone_id":"CR-zone-1A","stop_address":"Washington St and Winter St, Malden, MA 02148","stop_url":"https://www.mbta.com/stops/place-ogmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Malden","on_street":"","at_street":"","vehicle_type":""},"place-mlmnl":{"stop_id":"place-mlmnl","stop_code":"","stop_name":"Malden Center","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.426632","stop_lon":"-71.074110","zone_id":"CR-zone-1A","stop_address":"Commercial St and Pleasant St, Malden, MA 02148","stop_url":"https://www.mbta.com/stops/place-mlmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Malden","on_street":"","at_street":"","vehicle_type":""},"place-welln":{"stop_id":"place-welln","stop_code":"","stop_name":"Wellington","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.402370","stop_lon":"-71.077082","zone_id":"","stop_address":"Revere Beach Pkwy and Rivers Edge Dr, Medford, MA 02155","stop_url":"https://www.mbta.com/stops/place-welln","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Medford","on_street":"","at_street":"","vehicle_type":""},"place-astao":{"stop_id":"place-astao","stop_code":"","stop_name":"Assembly","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.392811","stop_lon":"-71.077257","zone_id":"","stop_address":"499 Foley St, Somerville, MA 02145","stop_url":"https://www.mbta.com/stops/place-astao","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Somerville","on_street":"","at_street":"","vehicle_type":""},"place-sull":{"stop_id":"place-sull","stop_code":"","stop_name":"Sullivan Square","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.383975","stop_lon":"-71.076994","zone_id":"","stop_address":"Maffa Way and Cambridge St, Charlestown, MA 02129","stop_url":"https://www.mbta.com/stops/place-sull","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-ccmnl":{"stop_id":"place-ccmnl","stop_code":"","stop_name":"Community College","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.373622","stop_lon":"-71.069533","zone_id":"","stop_address":"Austin St and Rutherford Ave, Charlestown, MA","stop_url":"https://www.mbta.com/stops/place-ccmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-dwnxg":{"stop_id":"place-dwnxg","stop_code":"","stop_name":"Downtown Crossing","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.355518","stop_lon":"-71.060225","zone_id":"","stop_address":"Washington St and Summer St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-dwnxg","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-chncl":{"stop_id":"place-chncl","stop_code":"","stop_name":"Chinatown","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.352547","stop_lon":"-71.062752","zone_id":"","stop_address":"Washington St and Boylston St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-chncl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-tumnl":{"stop_id":"place-tumnl","stop_code":"","stop_name":"Tufts Medical Center","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.349662","stop_lon":"-71.063917","zone_id":"","stop_address":"750 Washington St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-tumnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-bbsta":{"stop_id":"place-bbsta","stop_code":"","stop_name":"Back Bay","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.347350","stop_lon":"-71.075727","zone_id":"CR-zone-1A","stop_address":"145 Dartmouth St Boston, MA 02116","stop_url":"https://www.mbta.com/stops/place-bbsta","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-masta":{"stop_id":"place-masta","stop_code":"","stop_name":"Massachusetts Avenue","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.341512","stop_lon":"-71.083423","zone_id":"","stop_address":"393 Massachusetts Ave, Boston, MA 02118","stop_url":"https://www.mbta.com/stops/place-masta","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-rugg":{"stop_id":"place-rugg","stop_code":"","stop_name":"Ruggles","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.336377","stop_lon":"-71.088961","zone_id":"CR-zone-1A","stop_address":"1150 Tremont St, Roxbury, MA 02120","stop_url":"https://www.mbta.com/stops/place-rugg","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-rcmnl":{"stop_id":"place-rcmnl","stop_code":"","stop_name":"Roxbury Crossing","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.331397","stop_lon":"-71.095451","zone_id":"","stop_address":"1400 Tremont St, Roxbury, MA","stop_url":"https://www.mbta.com/stops/place-rcmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-jaksn":{"stop_id":"place-jaksn","stop_code":"","stop_name":"Jackson Square","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.323132","stop_lon":"-71.099592","zone_id":"","stop_address":"1500 Columbus Ave, Jamaica Plain, MA","stop_url":"https://www.mbta.com/stops/place-jaksn","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-sbmnl":{"stop_id":"place-sbmnl","stop_code":"","stop_name":"Stony Brook","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.317062","stop_lon":"-71.104248","zone_id":"","stop_address":"100 Boylston St, Jamaica Plain, MA","stop_url":"https://www.mbta.com/stops/place-sbmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-grnst":{"stop_id":"place-grnst","stop_code":"","stop_name":"Green Street","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.310525","stop_lon":"-71.107414","zone_id":"","stop_address":"150 Green St, Jamaica Plain, MA","stop_url":"https://www.mbta.com/stops/place-grnst","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-forhl":{"stop_id":"place-forhl","stop_code":"","stop_name":"Forest Hills","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.300713","stop_lon":"-71.113943","zone_id":"CR-zone-1A","stop_address":"Washington St and Hyde Park Ave, Jamaica Plain, MA 02130","stop_url":"https://www.mbta.com/stops/place-forhl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-alfcl":{"stop_id":"place-alfcl","stop_code":"","stop_name":"Alewife","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.395830","stop_lon":"-71.141287","zone_id":"","stop_address":"Alewife Brook Pkwy and Cambridge Park Dr, Cambridge, MA 02140","stop_url":"https://www.mbta.com/stops/place-alfcl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Cambridge","on_street":"","at_street":"","vehicle_type":""},"place-davis":{"stop_id":"place-davis","stop_code":"","stop_name":"Davis","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.396740","stop_lon":"-71.121815","zone_id":"","stop_address":"College Ave and Elm St, Somerville, MA","stop_url":"https://www.mbta.com/stops/place-davis","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Somerville","on_street":"","at_street":"","vehicle_type":""},"place-portr":{"stop_id":"place-portr","stop_code":"","stop_name":"Porter","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.388400","stop_lon":"-71.119149","zone_id":"CR-zone-1A","stop_address":"1899 Massachusetts Ave, Cambridge, MA 02140","stop_url":"https://www.mbta.com/stops/place-portr","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Cambridge","on_street":"","at_street":"","vehicle_type":""},"place-harsq":{"stop_id":"place-harsq","stop_code":"","stop_name":"Harvard","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.373362","stop_lon":"-71.118956","zone_id":"","stop_address":"1400 Massachusetts Ave, Cambridge, MA","stop_url":"https://www.mbta.com/stops/place-harsq","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Cambridge","on_street":"","at_street":"","vehicle_type":""},"place-cntsq":{"stop_id":"place-cntsq","stop_code":"","stop_name":"Central","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.365486","stop_lon":"-71.103802","zone_id":"","stop_address":"Massachusetts Ave and Prospect St, Cambridge, MA 02139","stop_url":"https://www.mbta.com/stops/place-cntsq","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Cambridge","on_street":"","at_street":"","vehicle_type":""},"place-knncl":{"stop_id":"place-knncl","stop_code":"","stop_name":"Kendall/MIT","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.362491","stop_lon":"-71.086176","zone_id":"","stop_address":"300 Main St, Cambridge, MA 02142","stop_url":"https://www.mbta.com/stops/place-knncl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Cambridge","on_street":"","at_street":"","vehicle_type":""},"place-chmnl":{"stop_id":"place-chmnl","stop_code":"","stop_name":"Charles/MGH","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.361166","stop_lon":"-71.070628","zone_id":"","stop_address":"Cambridge St and Charles St, Boston, MA","stop_url":"https://www.mbta.com/stops/place-chmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-sstat":{"stop_id":"place-sstat","stop_code":"","stop_name":"South Station","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.352271","stop_lon":"-71.055242","zone_id":"CR-zone-1A","stop_address":"700 Atlantic Ave, Boston, MA 02110","stop_url":"https://www.mbta.com/stops/place-sstat","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-brdwy":{"stop_id":"place-brdwy","stop_code":"","stop_name":"Broadway","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.342622","stop_lon":"-71.056967","zone_id":"","stop_address":"Dorchester Ave and Broadway, Boston, MA","stop_url":"https://www.mbta.com/stops/place-brdwy","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-andrw":{"stop_id":"place-andrw","stop_code":"","stop_name":"Andrew","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.330154","stop_lon":"-71.057655","zone_id":"","stop_address":"Dorchester Ave and Southhampton St, South Boston, MA 02127","stop_url":"https://www.mbta.com/stops/place-andrw","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-jfk":{"stop_id":"place-jfk","stop_code":"","stop_name":"JFK/UMass","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.320685","stop_lon":"-71.052391","zone_id":"CR-zone-1A","stop_address":"599 Old Colony Ave, Boston, MA 02127-3805","stop_url":"https://www.mbta.com/stops/place-jfk","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-nqncy":{"stop_id":"place-nqncy","stop_code":"","stop_name":"North Quincy","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.275275","stop_lon":"-71.029583","zone_id":"","stop_address":"Hancock St and Hunt St, Quincy, MA 02171","stop_url":"https://www.mbta.com/stops/place-nqncy","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Quincy","on_street":"","at_street":"","vehicle_type":""},"place-wlsta":{"stop_id":"place-wlsta","stop_code":"","stop_name":"Wollaston","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.266514","stop_lon":"-71.020337","zone_id":"","stop_address":"90 Woodbine St, Quincy, MA 02171","stop_url":"https://www.mbta.com/stops/place-wlsta","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Quincy","on_street":"","at_street":"","vehicle_type":""},"place-qnctr":{"stop_id":"place-qnctr","stop_code":"","stop_name":"Quincy Center","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.251809","stop_lon":"-71.005409","zone_id":"CR-zone-1","stop_address":"175 Thomas E Burgin Pkwy, Quincy, MA 02169","stop_url":"https://www.mbta.com/stops/place-qnctr","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Quincy","on_street":"","at_street":"","vehicle_type":""},"place-qamnl":{"stop_id":"place-qamnl","stop_code":"","stop_name":"Quincy Adams","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.233391","stop_lon":"-71.007153","zone_id":"","stop_address":"Burgin Pkwy and Centre St, Quincy, MA 02169","stop_url":"https://www.mbta.com/stops/place-qamnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Quincy","on_street":"","at_street":"","vehicle_type":""},"place-brntn":{"stop_id":"place-brntn","stop_code":"","stop_name":"Braintree","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.207854","stop_lon":"-71.001138","zone_id":"CR-zone-2","stop_address":"197 Ivory St, Braintree, MA 02184","stop_url":"https://www.mbta.com/stops/place-brntn","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Braintree","on_street":"","at_street":"","vehicle_type":""},"place-shmnl":{"stop_id":"place-shmnl","stop_code":"","stop_name":"Savin Hill","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.311290","stop_lon":"-71.053331","zone_id":"","stop_address":"125 Savin Hill Ave, Dorchester, MA 02124","stop_url":"https://www.mbta.com/stops/place-shmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-fldcr":{"stop_id":"place-fldcr","stop_code":"","stop_name":"Fields Corner","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.300093","stop_lon":"-71.061667","zone_id":"","stop_address":"50 Freeman St, Dorchester, MA 02122","stop_url":"https://www.mbta.com/stops/place-fldcr","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""},"place-smmnl":{"stop_id":"place-smmnl","stop_code":"","stop_name":"Shawmut","stop_desc":"","platform_code":"","platform_name":"","stop_lat":"42.293126","stop_lon":"-71.065738","zone_id":"","stop_address":"Dayton St and Clementine Park, Dorchester, MA 02124","stop_url":"https://www.mbta.com/stops/place-smmnl","level_id":"","location_type":"1","parent_station":"","wheelchair_boarding":"1","municipality":"Boston","on_street":"","at_street":"","vehicle_type":""}},"edges":[{"a":"place-wondl","b":"place-rbmnl","route":["Blue"],"headsign":"Bowdoin"},{"a":"place-rbmnl","b":"place-bmmnl","route":["Blue"],"headsign":"Bowdoin"},{"a":"place-bmmnl","b":"place-sdmnl","route":["Blue"],"headsign":"Bowdoin"},{"a":"place-sdmnl","b":"place-orhte","route":["Blue"],"headsign":"Bowdoin"},{"a":"place-orhte","b":"place-wimnl","route":["Blue"],"headsign":"Bowdoin"},{"a":"place-wimnl","b":"place-aport","route":["Blue"],"headsign":"Bowdoin"},{"a":"place-aport","b":"place-mvbcl","route":["Blue"],"headsign":"Bowdoin"},{"a":"place-mvbcl","b":"place-aqucl","route":["Blue"],"headsign":"Bowdoin"},{"a":"place-aqucl","b":"place-state","route":["Blue"],"headsign":"Bowdoin"},{"a":"place-state","b":"place-gover","route":["Blue"],"headsign":"Bowdoin"},{"a":"place-gover","b":"place-bomnl","route":["Blue"],"headsign":"Bowdoin"},{"a":"place-bomnl","b":"place-gover","route":["Blue"],"headsign":"Wonderland"},{"a":"place-gover","b":"place-state","route":["Blue"],"headsign":"Wonderland"},{"a":"place-state","b":"place-aqucl","route":["Blue"],"headsign":"Wonderland"},{"a":"place-aqucl","b":"place-mvbcl","route":["Blue"],"headsign":"Wonderland"},{"a":"place-mvbcl","b":"place-aport","route":["Blue"],"headsign":"Wonderland"},{"a":"place-aport","b":"place-wimnl","route":["Blue"],"headsign":"Wonderland"},{"a":"place-wimnl","b":"place-orhte","route":["Blue"],"headsign":"Wonderland"},{"a":"place-orhte","b":"place-sdmnl","route":["Blue"],"headsign":"Wonderland"},{"a":"place-sdmnl","b":"place-bmmnl","route":["Blue"],"headsign":"Wonderland"},{"a":"place-bmmnl","b":"place-rbmnl","route":["Blue"],"headsign":"Wonderland"},{"a":"place-rbmnl","b":"place-wondl","route":["Blue"],"headsign":"Wonderland"},{"a":"place-gover","b":"place-pktrm","route":["Green-B","Green-C","Green-D","Green-E"],"headsign":"Boston College"},{"a":"place-pktrm","b":"place-boyls","route":["Green-B","Green-C","Green-D","Green-E"],"headsign":"Boston College"},{"a":"place-boyls","b":"place-armnl","route":["Green-B","Green-C","Green-D","Green-E"],"headsign":"Boston College"},{"a":"place-armnl","b":"place-coecl","route":["Green-B","Green-C","Green-D","Green-E"],"headsign":"Boston College"},{"a":"place-coecl","b":"place-hymnl","route":["Green-B","Green-C","Green-D"],"headsign":"Boston College"},{"a":"place-hymnl","b":"place-kencl","route":["Green-B","Green-C","Green-D"],"headsign":"Boston College"},{"a":"place-kencl","b":"place-bland","route":["Green-B"],"headsign":"Boston College"},{"a":"place-bland","b":"place-buest","route":["Green-B"],"headsign":"Boston College"},{"a":"place-buest","b":"place-bucen","route":["Green-B"],"headsign":"Boston College"},{"a":"place-bucen","b":"place-amory","route":["Green-B"],"headsign":"Boston College"},{"a":"place-amory","b":"place-babck","route":["Green-B"],"headsign":"Boston College"},{"a":"place-babck","b":"place-brico","route":["Green-B"],"headsign":"Boston College"},{"a":"place-brico","b":"place-harvd","route":["Green-B"],"headsign":"Boston College"},{"a":"place-harvd","b":"place-grigg","route":["Green-B"],"headsign":"Boston College"},{"a":"place-grigg","b":"place-alsgr","route":["Green-B"],"headsign":"Boston College"},{"a":"place-alsgr","b":"place-wrnst","route":["Green-B"],"headsign":"Boston College"},{"a":"place-wrnst","b":"place-wascm","route":["Green-B"],"headsign":"Boston College"},{"a":"place-wascm","b":"place-sthld","route":["Green-B"],"headsign":"Boston College"},{"a":"place-sthld","b":"place-chswk","route":["Green-B"],"headsign":"Boston College"},{"a":"place-chswk","b":"place-chill","route":["Green-B"],"headsign":"Boston College"},{"a":"place-chill","b":"place-sougr","route":["Green-B"],"headsign":"Boston College"},{"a":"place-sougr","b":"place-lake","route":["Green-B"],"headsign":"Boston College"},{"a":"place-lake","b":"place-sougr","route":["Green-B"],"headsign":"Government Center"},{"a":"place-sougr","b":"place-chill","route":["Green-B"],"headsign":"Government Center"},{"a":"place-chill","b":"place-chswk","route":["Green-B"],"headsign":"Government Center"},{"a":"place-chswk","b":"place-sthld","route":["Green-B"],"headsign":"Government Center"},{"a":"place-sthld","b":"place-wascm","route":["Green-B"],"headsign":"Government Center"},{"a":"place-wascm","b":"place-wrnst","route":["Green-B"],"headsign":"Government Center"},{"a":"place-wrnst","b":"place-alsgr","route":["Green-B"],"headsign":"Government Center"},{"a":"place-alsgr","b":"place-grigg","route":["Green-B"],"headsign":"Government Center"},{"a":"place-grigg","b":"place-harvd","route":["Green-B"],"headsign":"Government Center"},{"a":"place-harvd","b":"place-brico","route":["Green-B"],"headsign":"Government Center"},{"a":"place-brico","b":"place-babck","route":["Green-B"],"headsign":"Government Center"},{"a":"place-babck","b":"place-amory","route":["Green-B"],"headsign":"Government Center"},{"a":"place-amory","b":"place-bucen","route":["Green-B"],"headsign":"Government Center"},{"a":"place-bucen","b":"place-buest","route":["Green-B"],"headsign":"Government Center"},{"a":"place-buest","b":"place-bland","route":["Green-B"],"headsign":"Government Center"},{"a":"place-bland","b":"place-kencl","route":["Green-B"],"headsign":"Government Center"},{"a":"place-kencl","b":"place-hymnl","route":["Green-B","Green-C","Green-D"],"headsign":"Government Center"},{"a":"place-hymnl","b":"place-coecl","route":["Green-B","Green-C","Green-D"],"headsign":"Government Center"},{"a":"place-coecl","b":"place-armnl","route":["Green-B","Green-C","Green-D","Green-E"],"headsign":"Government Center"},{"a":"place-armnl","b":"place-boyls","route":["Green-B","Green-C","Green-D","Green-E"],"headsign":"Government Center"},{"a":"place-boyls","b":"place-pktrm","route":["Green-B","Green-C","Green-D","Green-E"],"headsign":"Government Center"},{"a":"place-pktrm","b":"place-gover","route":["Green-B","Green-C","Green-D","Green-E"],"headsign":"Government Center"},{"a":"place-kencl","b":"place-smary","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-smary","b":"place-hwsst","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-hwsst","b":"place-kntst","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-kntst","b":"place-stpul","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-stpul","b":"place-cool","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-cool","b":"place-sumav","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-sumav","b":"place-bndhl","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-bndhl","b":"place-fbkst","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-fbkst","b":"place-bcnwa","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-bcnwa","b":"place-tapst","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-tapst","b":"place-denrd","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-denrd","b":"place-engav","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-engav","b":"place-clmnl","route":["Green-C"],"headsign":"Cleveland Circle"},{"a":"place-clmnl","b":"place-engav","route":["Green-C"],"headsign":"Government Center"},{"a":"place-engav","b":"place-denrd","route":["Green-C"],"headsign":"Government Center"},{"a":"place-denrd","b":"place-tapst","route":["Green-C"],"headsign":"Government Center"},{"a":"place-tapst","b":"place-bcnwa","route":["Green-C"],"headsign":"Government Center"},{"a":"place-bcnwa","b":"place-fbkst","route":["Green-C"],"headsign":"Government Center"},{"a":"place-fbkst","b":"place-bndhl","route":["Green-C"],"headsign":"Government Center"},{"a":"place-bndhl","b":"place-sumav","route":["Green-C"],"headsign":"Government Center"},{"a":"place-sumav","b":"place-cool","route":["Green-C"],"headsign":"Government Center"},{"a":"place-cool","b":"place-stpul","route":["Green-C"],"headsign":"Government Center"},{"a":"place-stpul","b":"place-kntst","route":["Green-C"],"headsign":"Government Center"},{"a":"place-kntst","b":"place-hwsst","route":["Green-C"],"headsign":"Government Center"},{"a":"place-hwsst","b":"place-smary","route":["Green-C"],"headsign":"Government Center"},{"a":"place-smary","b":"place-kencl","route":["Green-C"],"headsign":"Government Center"},{"a":"place-unsqu","b":"place-lech","route":["Green-D"],"headsign":"Riverside"},{"a":"place-lech","b":"place-spmnl","route":["Green-D","Green-E"],"headsign":"Riverside"},{"a":"place-spmnl","b":"place-north","route":["Green-D","Green-E"],"headsign":"Riverside"},{"a":"place-north","b":"place-haecl","route":["Green-D","Green-E","Orange"],"headsign":"Riverside"},{"a":"place-haecl","b":"place-gover","route":["Green-D","Green-E"],"headsign":"Riverside"},{"a":"place-kencl","b":"place-fenwy","route":["Green-D"],"headsign":"Riverside"},{"a":"place-fenwy","b":"place-longw","route":["Green-D"],"headsign":"Riverside"},{"a":"place-longw","b":"place-bvmnl","route":["Green-D"],"headsign":"Riverside"},{"a":"place-bvmnl","b":"place-brkhl","route":["Green-D"],"headsign":"Riverside"},{"a":"place-brkhl","b":"place-bcnfd","route":["Green-D"],"headsign":"Riverside"},{"a":"place-bcnfd","b":"place-rsmnl","route":["Green-D"],"headsign":"Riverside"},{"a":"place-rsmnl","b":"place-chhil","route":["Green-D"],"headsign":"Riverside"},{"a":"place-chhil","b":"place-newto","route":["Green-D"],"headsign":"Riverside"},{"a":"place-newto","b":"place-newtn","route":["Green-D"],"headsign":"Riverside"},{"a":"place-newtn","b":"place-eliot","route":["Green-D"],"headsign":"Riverside"},{"a":"place-eliot","b":"place-waban","route":["Green-D"],"headsign":"Riverside"},{"a":"place-waban","b":"place-woodl","route":["Green-D"],"headsign":"Riverside"},{"a":"place-woodl","b":"place-river","route":["Green-D"],"headsign":"Riverside"},{"a":"place-river","b":"place-woodl","route":["Green-D"],"headsign":"Union Square"},{"a":"place-woodl","b":"place-waban","route":["Green-D"],"headsign":"Union Square"},{"a":"place-waban","b":"place-eliot","route":["Green-D"],"headsign":"Union Square"},{"a":"place-eliot","b":"place-newtn","route":["Green-D"],"headsign":"Union Square"},{"a":"place-newtn","b":"place-newto","route":["Green-D"],"headsign":"Union Square"},{"a":"place-newto","b":"place-chhil","route":["Green-D"],"headsign":"Union Square"},{"a":"place-chhil","b":"place-rsmnl","route":["Green-D"],"headsign":"Union Square"},{"a":"place-rsmnl","b":"place-bcnfd","route":["Green-D"],"headsign":"Union Square"},{"a":"place-bcnfd","b":"place-brkhl","route":["Green-D"],"headsign":"Union Square"},{"a":"place-brkhl","b":"place-bvmnl","route":["Green-D"],"headsign":"Union Square"},{"a":"place-bvmnl","b":"place-longw","route":["Green-D"],"headsign":"Union Square"},{"a":"place-longw","b":"place-fenwy","route":["Green-D"],"headsign":"Union Square"},{"a":"place-fenwy","b":"place-kencl","route":["Green-D"],"headsign":"Union Square"},{"a":"place-gover","b":"place-haecl","route":["Green-D","Green-E"],"headsign":"Union Square"},{"a":"place-haecl","b":"place-north","route":["Green-D","Green-E","Orange"],"headsign":"Union Square"},{"a":"place-north","b":"place-spmnl","route":["Green-D","Green-E"],"headsign":"Union Square"},{"a":"place-spmnl","b":"place-lech","route":["Green-D","Green-E"],"headsign":"Union Square"},{"a":"place-lech","b":"place-unsqu","route":["Green-D"],"headsign":"Union Square"},{"a":"place-mdftf","b":"place-balsq","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-balsq","b":"place-mgngl","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-mgngl","b":"place-gilmn","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-gilmn","b":"place-esomr","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-esomr","b":"place-lech","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-coecl","b":"place-prmnl","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-prmnl","b":"place-symcl","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-symcl","b":"place-nuniv","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-nuniv","b":"place-mfa","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-mfa","b":"place-lngmd","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-lngmd","b":"place-brmnl","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-brmnl","b":"place-fenwd","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-fenwd","b":"place-mispk","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-mispk","b":"place-rvrwy","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-rvrwy","b":"place-bckhl","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-bckhl","b":"place-hsmnl","route":["Green-E"],"headsign":"Heath Street"},{"a":"place-hsmnl","b":"place-bckhl","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-bckhl","b":"place-rvrwy","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-rvrwy","b":"place-mispk","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-mispk","b":"place-fenwd","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-fenwd","b":"place-brmnl","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-brmnl","b":"place-lngmd","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-lngmd","b":"place-mfa","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-mfa","b":"place-nuniv","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-nuniv","b":"place-symcl","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-symcl","b":"place-prmnl","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-prmnl","b":"place-coecl","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-lech","b":"place-esomr","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-esomr","b":"place-gilmn","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-gilmn","b":"place-mgngl","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-mgngl","b":"place-balsq","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-balsq","b":"place-mdftf","route":["Green-E"],"headsign":"Medford/Tufts"},{"a":"place-asmnl","b":"place-cedgr","route":["Mattapan"],"headsign":"Mattapan"},{"a":"place-cedgr","b":"place-butlr","route":["Mattapan"],"headsign":"Mattapan"},{"a":"place-butlr","b":"place-miltt","route":["Mattapan"],"headsign":"Mattapan"},{"a":"place-miltt","b":"place-cenav","route":["Mattapan"],"headsign":"Mattapan"},{"a":"place-cenav","b":"place-valrd","route":["Mattapan"],"headsign":"Mattapan"},{"a":"place-valrd","b":"place-capst","route":["Mattapan"],"headsign":"Mattapan"},{"a":"place-capst","b":"place-matt","route":["Mattapan"],"headsign":"Mattapan"},{"a":"place-matt","b":"place-capst","route":["Mattapan"],"headsign":"Ashmont"},{"a":"place-capst","b":"place-valrd","route":["Mattapan"],"headsign":"Ashmont"},{"a":"place-valrd","b":"place-cenav","route":["Mattapan"],"headsign":"Ashmont"},{"a":"place-cenav","b":"place-miltt","route":["Mattapan"],"headsign":"Ashmont"},{"a":"place-miltt","b":"place-butlr","route":["Mattapan"],"headsign":"Ashmont"},{"a":"place-butlr","b":"place-cedgr","route":["Mattapan"],"headsign":"Ashmont"},{"a":"place-cedgr","b":"place-asmnl","route":["Mattapan"],"headsign":"Ashmont"},{"a":"place-ogmnl","b":"place-mlmnl","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-mlmnl","b":"place-welln","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-welln","b":"place-astao","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-astao","b":"place-sull","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-sull","b":"place-ccmnl","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-ccmnl","b":"place-north","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-haecl","b":"place-state","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-state","b":"place-dwnxg","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-dwnxg","b":"place-chncl","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-chncl","b":"place-tumnl","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-tumnl","b":"place-bbsta","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-bbsta","b":"place-masta","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-masta","b":"place-rugg","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-rugg","b":"place-rcmnl","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-rcmnl","b":"place-jaksn","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-jaksn","b":"place-sbmnl","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-sbmnl","b":"place-grnst","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-grnst","b":"place-forhl","route":["Orange"],"headsign":"Forest Hills"},{"a":"place-forhl","b":"place-grnst","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-grnst","b":"place-sbmnl","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-sbmnl","b":"place-jaksn","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-jaksn","b":"place-rcmnl","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-rcmnl","b":"place-rugg","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-rugg","b":"place-masta","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-masta","b":"place-bbsta","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-bbsta","b":"place-tumnl","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-tumnl","b":"place-chncl","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-chncl","b":"place-dwnxg","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-dwnxg","b":"place-state","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-state","b":"place-haecl","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-north","b":"place-ccmnl","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-ccmnl","b":"place-sull","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-sull","b":"place-astao","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-astao","b":"place-welln","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-welln","b":"place-mlmnl","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-mlmnl","b":"place-ogmnl","route":["Orange"],"headsign":"Oak Grove"},{"a":"place-alfcl","b":"place-davis","route":["Red"],"headsign":"Braintree"},{"a":"place-davis","b":"place-portr","route":["Red"],"headsign":"Braintree"},{"a":"place-portr","b":"place-harsq","route":["Red"],"headsign":"Braintree"},{"a":"place-harsq","b":"place-cntsq","route":["Red"],"headsign":"Braintree"},{"a":"place-cntsq","b":"place-knncl","route":["Red"],"headsign":"Braintree"},{"a":"place-knncl","b":"place-chmnl","route":["Red"],"headsign":"Braintree"},{"a":"place-chmnl","b":"place-pktrm","route":["Red"],"headsign":"Braintree"},{"a":"place-pktrm","b":"place-dwnxg","route":["Red"],"headsign":"Braintree"},{"a":"place-dwnxg","b":"place-sstat","route":["Red"],"headsign":"Braintree"},{"a":"place-sstat","b":"place-brdwy","route":["Red"],"headsign":"Braintree"},{"a":"place-brdwy","b":"place-andrw","route":["Red"],"headsign":"Braintree"},{"a":"place-andrw","b":"place-jfk","route":["Red"],"headsign":"Braintree"},{"a":"place-jfk","b":"place-nqncy","route":["Red"],"headsign":"Braintree"},{"a":"place-nqncy","b":"place-wlsta","route":["Red"],"headsign":"Braintree"},{"a":"place-wlsta","b":"place-qnctr","route":["Red"],"headsign":"Braintree"},{"a":"place-qnctr","b":"place-qamnl","route":["Red"],"headsign":"Braintree"},{"a":"place-qamnl","b":"place-brntn","route":["Red"],"headsign":"Braintree"},{"a":"place-brntn","b":"place-qamnl","route":["Red"],"headsign":"Alewife"},{"a":"place-qamnl","b":"place-qnctr","route":["Red"],"headsign":"Alewife"},{"a":"place-qnctr","b":"place-wlsta","route":["Red"],"headsign":"Alewife"},{"a":"place-wlsta","b":"place-nqncy","route":["Red"],"headsign":"Alewife"},{"a":"place-nqncy","b":"place-jfk","route":["Red"],"headsign":"Alewife"},{"a":"place-jfk","b":"place-andrw","route":["Red"],"headsign":"Alewife"},{"a":"place-andrw","b":"place-brdwy","route":["Red"],"headsign":"Alewife"},{"a":"place-brdwy","b":"place-sstat","route":["Red"],"headsign":"Alewife"},{"a":"place-sstat","b":"place-dwnxg","route":["Red"],"headsign":"Alewife"},{"a":"place-dwnxg","b":"place-pktrm","route":["Red"],"headsign":"Alewife"},{"a":"place-pktrm","b":"place-chmnl","route":["Red"],"headsign":"Alewife"},{"a":"place-chmnl","b":"place-knncl","route":["Red"],"headsign":"Alewife"},{"a":"place-knncl","b":"place-cntsq","route":["Red"],"headsign":"Alewife"},{"a":"place-cntsq","b":"place-harsq","route":["Red"],"headsign":"Alewife"},{"a":"place-harsq","b":"place-portr","route":["Red"],"headsign":"Alewife"},{"a":"place-portr","b":"place-davis","route":["Red"],"headsign":"Alewife"},{"a":"place-davis","b":"place-alfcl","route":["Red"],"headsign":"Alewife"},{"a":"place-jfk","b":"place-shmnl","route":["Red"],"headsign":"Ashmont"},{"a":"place-shmnl","b":"place-fldcr","route":["Red"],"headsign":"Ashmont"},{"a":"place-fldcr","b":"place-smmnl","route":["Red"],"headsign":"Ashmont"},{"a":"place-smmnl","b":"place-asmnl","route":["Red"],"headsign":"Ashmont"},{"a":"place-asmnl","b":"place-smmnl","route":["Red"],"headsign":"Alewife"},{"a":"place-smmnl","b":"place-fldcr","route":["Red"],"headsign":"Alewife"},{"a":"place-fldcr","b":"place-shmnl","route":["Red"],"headsign":"Alewife"},{"a":"place-shmnl","b":"place-jfk","route":["Red"],"headsign":"Alewife"}],"routes":{"Red":{"route_id":"Red","agency_id":"1","route_short_name":"","route_long_name":"Red Line","route_desc":"Rapid Transit","route_type":"1","route_url":"https://www.mbta.com/schedules/Red","route_color":"DA291C","route_text_color":"FFFFFF","route_sort_order":"10010","route_fare_class":"Rapid Transit","line_id":"line-Red","listed_route":"","network_id":"rapid_transit"},"Mattapan":{"route_id":"Mattapan","agency_id":"1","route_short_name":"","route_long_name":"Mattapan Trolley","route_desc":"Rapid Transit","route_type":"0","route_url":"https://www.mbta.com/schedules/Mattapan","route_color":"DA291C","route_text_color":"FFFFFF","route_sort_order":"10011","route_fare_class":"Rapid Transit","line_id":"line-Mattapan","listed_route":"","network_id":"m_rapid_transit"},"Orange":{"route_id":"Orange","agency_id":"1","route_short_name":"","route_long_name":"Orange Line","route_desc":"Rapid Transit","route_type":"1","route_url":"https://www.mbta.com/schedules/Orange","route_color":"ED8B00","route_text_color":"FFFFFF","route_sort_order":"10020","route_fare_class":"Rapid Transit","line_id":"line-Orange","listed_route":"","network_id":"rapid_transit"},"Green-B":{"route_id":"Green-B","agency_id":"1","route_short_name":"B","route_long_name":"Green Line B","route_desc":"Rapid Transit","route_type":"0","route_url":"https://www.mbta.com/schedules/Green-B","route_color":"00843D","route_text_color":"FFFFFF","route_sort_order":"10032","route_fare_class":"Rapid Transit","line_id":"line-Green","listed_route":"","network_id":"rapid_transit"},"Green-C":{"route_id":"Green-C","agency_id":"1","route_short_name":"C","route_long_name":"Green Line C","route_desc":"Rapid Transit","route_type":"0","route_url":"https://www.mbta.com/schedules/Green-C","route_color":"00843D","route_text_color":"FFFFFF","route_sort_order":"10033","route_fare_class":"Rapid Transit","line_id":"line-Green","listed_route":"","network_id":"rapid_transit"},"Green-D":{"route_id":"Green-D","agency_id":"1","route_short_name":"D","route_long_name":"Green Line D","route_desc":"Rapid Transit","route_type":"0","route_url":"https://www.mbta.com/schedules/Green-D","route_color":"00843D","route_text_color":"FFFFFF","route_sort_order":"10034","route_fare_class":"Rapid Transit","line_id":"line-Green","listed_route":"","network_id":"rapid_transit"},"Green-E":{"route_id":"Green-E","agency_id":"1","route_short_name":"E","route_long_name":"Green Line E","route_desc":"Rapid Transit","route_type":"0","route_url":"https://www.mbta.com/schedules/Green-E","route_color":"00843D","route_text_color":"FFFFFF","route_sort_order":"10035","route_fare_class":"Rapid Transit","line_id":"line-Green","listed_route":"","network_id":"rapid_transit"},"Blue":{"route_id":"Blue","agency_id":"1","route_short_name":"","route_long_name":"Blue Line","route_desc":"Rapid Transit","route_type":"1","route_url":"https://www.mbta.com/schedules/Blue","route_color":"003DA5","route_text_color":"FFFFFF","route_sort_order":"10040","route_fare_class":"Rapid Transit","line_id":"line-Blue","listed_route":"","network_id":"rapid_transit"}},"agency":{"city":"Boston","slug":"boston"}} \ No newline at end of file diff --git a/deno.lock b/deno.lock new file mode 100644 index 0000000..02360a7 --- /dev/null +++ b/deno.lock @@ -0,0 +1,28 @@ +{ + "version": "3", + "packages": { + "specifiers": { + "jsr:@zip-js/zip-js": "jsr:@zip-js/zip-js@2.7.52", + "npm:csv-parse": "npm:csv-parse@5.5.6" + }, + "jsr": { + "@zip-js/zip-js@2.7.52": { + "integrity": "c8d9fd23b1965fdf58071e886b3b8dbd32a68f780ccb60cb256cfc41b4423e32" + } + }, + "npm": { + "csv-parse@5.5.6": { + "integrity": "sha512-uNpm30m/AGSkLxxy7d9yRXpJQFrZzVWLFBkS+6ngPcZkw/5k3L/jjFuj7tVnEpRn+QgmiXr21nDlhCiUK4ij2A==", + "dependencies": {} + } + } + }, + "remote": {}, + "workspace": { + "packageJson": { + "dependencies": [ + "npm:astro@^4.15.11" + ] + } + } +} diff --git a/gtfs.ts b/gtfs.ts new file mode 100644 index 0000000..e5a0cf9 --- /dev/null +++ b/gtfs.ts @@ -0,0 +1,135 @@ +import { TextWriter } from "jsr:@zip-js/zip-js"; +import { ZipReader } from "jsr:@zip-js/zip-js"; +import { parse } from "npm:csv-parse/sync"; + +function indexRecords(records, key) { + const result = {}; + + for (const record of records) { + result[record[key]] = record; + } + + return result; +} + +const reader = new ZipReader((await Deno.open(Deno.args[0])).readable); + +const files = await reader.getEntries(); + +const wantedFiles = [ + "routes", + "trips", + "stops", + "stop_times", + "calendar", +] as const; + +const entries: Partial> = {}; + +console.log("reading files"); + +await Promise.all( + files + .filter((f) => { + //@ts-ignore + return wantedFiles.includes(f.filename.replace(".txt", "")); + }) + .map(async (f) => { + const writer = new TextWriter(); + entries[f.filename.replace(".txt", "") as (typeof wantedFiles)[number]] = + parse(await f.getData!(writer), { columns: true }); + }) +); + +reader.close(); + +console.log(`Indexing ${entries.stops?.length} stops...`); + +function actualStop(stop_id: string): string { + return indexedStops[stop_id]?.parent_station || stop_id; +} + +const indexedStops = indexRecords(entries.stops, "stop_id"); + +const metroRoutes = entries.routes!.filter( + (r) => r.route_type == 1 || r.route_type == 0 +); + +const metroRouteIds = metroRoutes.map((r) => r.route_id); + +console.log(`Indexing trips...`); + +const trips = entries.trips!.filter( + (t) => t.service_id == "canonical" && metroRouteIds.includes(t.route_id) +); +const indexedTrips = indexRecords(trips, "trip_id"); + +console.log("sorting stop times"); + +const stop_times = entries + .stop_times!.filter((s) => s.trip_id in indexedTrips) + .sort((a, b) => { + if (a.trip_id < b.trip_id) { + return -1; + } else if (a.trip_id > b.trip_id) { + return 1; + } else { + return a.stop_sequence - b.stop_sequence; + } + }); + +const edges: Record = {}; + +console.log("calculating edges..."); + +for (let i = 0; i < stop_times.length - 1; i++) { + const a = stop_times[i]; + const b = stop_times[i + 1]; + + if (a.trip_id == b.trip_id) { + const trip = indexedTrips[a.trip_id]; + const route_id = trip.route_id; + const aStop = actualStop(a.stop_id); + const bStop = actualStop(b.stop_id); + const key = `${aStop}-${bStop}`; + + if (key in edges) { + edges[key].route.add(route_id); + } else { + edges[key] = { + a: aStop, + b: bStop, + route: new Set([route_id]), + headsign: trip.trip_headsign, + }; + } + } +} + +const stations = [ + ...new Set( + Object.values(edges) + .flatMap((e) => [e.a, e.b]) + .map((e) => actualStop(e)) + ), +]; +const output = { + stations: indexRecords( + stations.map((s) => indexedStops[s]), + "stop_id" + ), + edges: Object.values(edges).map((e) => ({ ...e, route: [...e.route] })), + routes: indexRecords(metroRoutes, "route_id"), + agency: { + city: "Boston", + slug: "boston", + }, +}; + +console.log( + entries.calendar?.sort( + (a, b) => parseInt(b.end_date) - parseInt(a.end_date) + )[0] +); + +await Deno.writeTextFile("cities/boston.json", JSON.stringify(output)); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..d5b9907 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6728 @@ +{ + "name": "transit-quiz", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "transit-quiz", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@astrojs/svelte": "^5.7.1", + "@astrojs/tailwind": "^5.1.1", + "astro": "^4.15.11", + "gsap": "^3.12.5", + "svelte": "^4.2.19", + "tailwindcss": "^3.4.13", + "typescript": "^5.6.2" + } + }, + "node_modules/.deno/csv-parse@5.5.6/node_modules/csv-parse": { + "version": "5.5.6", + "extraneous": true, + "license": "MIT", + "devDependencies": { + "@rollup/plugin-eslint": "^9.0.4", + "@rollup/plugin-node-resolve": "^15.2.1", + "@types/mocha": "^10.0.1", + "@types/node": "^20.5.6", + "coffeelint": "^2.1.0", + "coffeescript": "^2.7.0", + "csv-generate": "^4.4.1", + "csv-spectrum": "^1.0.0", + "each": "^2.4.0", + "eslint": "^8.47.0", + "mocha": "^10.2.0", + "pad": "^3.2.0", + "rollup": "^3.28.1", + "rollup-plugin-node-builtins": "^2.1.2", + "rollup-plugin-node-globals": "^1.4.0", + "should": "^13.2.3", + "stream-transform": "^3.3.2", + "ts-node": "^10.9.1", + "typescript": "^5.2.2" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.10.3.tgz", + "integrity": "sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.4.1.tgz", + "integrity": "sha512-bMf9jFihO8YP940uD70SI/RDzIhUHJAolWVcO1v5PUivxGKvfLZTLTVVxEYzGYyPsA3ivdLNqMnL5VgmQySa+g==", + "license": "MIT" + }, + "node_modules/@astrojs/markdown-remark": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-5.2.0.tgz", + "integrity": "sha512-vWGM24KZXz11jR3JO+oqYU3T2qpuOi4uGivJ9SQLCAI01+vEkHC60YJMRvHPc+hwd60F7euNs1PeOEixIIiNQw==", + "license": "MIT", + "dependencies": { + "@astrojs/prism": "3.1.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.1", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.1.0", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.0", + "remark-gfm": "^4.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.0", + "remark-smartypants": "^3.0.2", + "shiki": "^1.10.3", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1", + "vfile": "^6.0.2" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.1.0.tgz", + "integrity": "sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.29.0" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + } + }, + "node_modules/@astrojs/svelte": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@astrojs/svelte/-/svelte-5.7.1.tgz", + "integrity": "sha512-VIxEdkrnGMoxjs/heI0SWAwQy9+aHxVrsK5QUmsFihXKeYB9OhbZHUzsRJEmoW3IPpKZn/DEallyr1/4a1zZxQ==", + "license": "MIT", + "dependencies": { + "@sveltejs/vite-plugin-svelte": "^3.1.2", + "svelte2tsx": "^0.7.18" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + }, + "peerDependencies": { + "astro": "^4.0.0", + "svelte": "^4.0.0 || ^5.0.0-next.190", + "typescript": "^5.3.3" + } + }, + "node_modules/@astrojs/tailwind": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@astrojs/tailwind/-/tailwind-5.1.1.tgz", + "integrity": "sha512-LwurA10uIKcGRxQP2R81RvAnBT0WPKzBntXZBF4hrAefDgM5Uumn0nsGr6tdIjSARgYz4X+Cq/Vh78t3bql3yw==", + "license": "MIT", + "dependencies": { + "autoprefixer": "^10.4.20", + "postcss": "^8.4.45", + "postcss-load-config": "^4.0.2" + }, + "peerDependencies": { + "astro": "^3.0.0 || ^4.0.0 || ^5.0.0-beta.0", + "tailwindcss": "^3.0.24" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.1.0.tgz", + "integrity": "sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.0.0", + "debug": "^4.3.4", + "dlv": "^1.1.3", + "dset": "^3.1.3", + "is-docker": "^3.0.0", + "is-wsl": "^3.0.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", + "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.25.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.7.tgz", + "integrity": "sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.7.tgz", + "integrity": "sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helpers": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/template": "^7.25.7", + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", + "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", + "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", + "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", + "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", + "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-simple-access": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "@babel/traverse": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", + "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", + "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", + "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", + "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", + "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", + "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", + "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz", + "integrity": "sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", + "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.7.tgz", + "integrity": "sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/plugin-syntax-jsx": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", + "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", + "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz", + "integrity": "sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.0.tgz", + "integrity": "sha512-XMBySMuNZs3DM96xcJmLW4EfGnf+uGmFNjzpehMjuX5PLB5j87ar2Zc4e3PVeZ3I5g3tYtAqskB28manlF69Zw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.2.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.2.tgz", + "integrity": "sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz", + "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz", + "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz", + "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz", + "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz", + "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz", + "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz", + "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz", + "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz", + "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz", + "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz", + "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz", + "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz", + "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz", + "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz", + "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.21.0.tgz", + "integrity": "sha512-zAPMJdiGuqXpZQ+pWNezQAk5xhzRXBNiECFPcJLtUdsFM3f//G95Z15EHTnHchYycU8kIIysqGgxp8OVSj1SPQ==", + "license": "MIT", + "dependencies": { + "@shikijs/engine-javascript": "1.21.0", + "@shikijs/engine-oniguruma": "1.21.0", + "@shikijs/types": "1.21.0", + "@shikijs/vscode-textmate": "^9.2.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.3" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.21.0.tgz", + "integrity": "sha512-jxQHNtVP17edFW4/0vICqAVLDAxmyV31MQJL4U/Kg+heQALeKYVOWo0sMmEZ18FqBt+9UCdyqGKYE7bLRtk9mg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.21.0", + "@shikijs/vscode-textmate": "^9.2.2", + "oniguruma-to-js": "0.4.3" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.21.0.tgz", + "integrity": "sha512-AIZ76XocENCrtYzVU7S4GY/HL+tgHGbVU+qhiDyNw1qgCA5OSi4B4+HY4BtAoJSMGuD/L5hfTzoRVbzEm2WTvg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.21.0", + "@shikijs/vscode-textmate": "^9.2.2" + } + }, + "node_modules/@shikijs/types": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.21.0.tgz", + "integrity": "sha512-tzndANDhi5DUndBtpojEq/42+dpUF2wS7wdCDQaFtIXm3Rd1QkrcVgSSRLOvEwexekihOXfbYJINW37g96tJRw==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^9.2.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.2.2.tgz", + "integrity": "sha512-TMp15K+GGYrWlZM8+Lnj9EaHEFmOen0WJBrfa17hF7taDOYthuPPV0GWzfd/9iMij0akS/8Yw2ikquH7uVi/fg==", + "license": "MIT" + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.2.tgz", + "integrity": "sha512-Txsm1tJvtiYeLUVRNqxZGKR/mI+CzuIQuc2gn+YCs9rMTowpNZ2Nqt53JdL8KF9bLhAf2ruR/dr9eZCwdTriRA==", + "license": "MIT", + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^2.1.0", + "debug": "^4.3.4", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.10", + "svelte-hmr": "^0.16.0", + "vitefu": "^0.2.5" + }, + "engines": { + "node": "^18.0.0 || >=20" + }, + "peerDependencies": { + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz", + "integrity": "sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.0.0 || >=20" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte/node_modules/vitefu": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", + "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", + "license": "MIT", + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "20.16.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.10.tgz", + "integrity": "sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astro": { + "version": "4.15.11", + "resolved": "https://registry.npmjs.org/astro/-/astro-4.15.11.tgz", + "integrity": "sha512-uA9fenaRR+j6ksPFsmhM88ttz94a66SET1TZxAJLxctxWkDlgz58BxZYUc1gNlt0azhgzOgh4hP3q9M4YzAmBA==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.10.3", + "@astrojs/internal-helpers": "0.4.1", + "@astrojs/markdown-remark": "5.2.0", + "@astrojs/telemetry": "3.1.0", + "@babel/core": "^7.25.2", + "@babel/plugin-transform-react-jsx": "^7.25.2", + "@babel/types": "^7.25.6", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.1.2", + "@types/babel__core": "^7.20.5", + "@types/cookie": "^0.6.0", + "acorn": "^8.12.1", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "boxen": "8.0.1", + "ci-info": "^4.0.0", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^0.6.0", + "cssesc": "^3.0.0", + "debug": "^4.3.7", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.1.1", + "diff": "^5.2.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "es-module-lexer": "^1.5.4", + "esbuild": "^0.21.5", + "estree-walker": "^3.0.3", + "fast-glob": "^3.3.2", + "fastq": "^1.17.1", + "flattie": "^1.1.1", + "github-slugger": "^2.0.0", + "gray-matter": "^4.0.3", + "html-escaper": "^3.0.3", + "http-cache-semantics": "^4.1.1", + "js-yaml": "^4.1.0", + "kleur": "^4.1.5", + "magic-string": "^0.30.11", + "magicast": "^0.3.5", + "micromatch": "^4.0.8", + "mrmime": "^2.0.0", + "neotraverse": "^0.6.18", + "ora": "^8.1.0", + "p-limit": "^6.1.0", + "p-queue": "^8.0.1", + "preferred-pm": "^4.0.0", + "prompts": "^2.4.2", + "rehype": "^13.0.2", + "semver": "^7.6.3", + "shiki": "^1.21.0", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "tinyexec": "^0.3.0", + "tsconfck": "^3.1.3", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.3", + "vite": "^5.4.8", + "vitefu": "^1.0.2", + "which-pm": "^3.0.0", + "xxhash-wasm": "^1.0.2", + "yargs-parser": "^21.1.1", + "zod": "^3.23.8", + "zod-to-json-schema": "^3.23.3", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "optionalDependencies": { + "sharp": "^0.33.3" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001667", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz", + "integrity": "sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/code-red": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", + "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15", + "@types/estree": "^1.0.1", + "acorn": "^8.10.0", + "estree-walker": "^3.0.3", + "periscopic": "^3.1.0" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", + "optional": true + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "license": "ISC" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dedent-js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dedent-js/-/dedent-js-1.0.1.tgz", + "integrity": "sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==", + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz", + "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" + }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.32", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.32.tgz", + "integrity": "sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==", + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up-simple": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", + "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-yarn-workspace-root2": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", + "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2", + "pkg-dir": "^4.2.0" + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gsap": { + "version": "3.12.5", + "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.12.5.tgz", + "integrity": "sha512-srBfnk4n+Oe/ZnMIOXt3gT605BX9x5+rh/prT2F1SsNJsU1XuMiP0E2aptW481OnonOGACZWBqseH5Z7csHxhQ==", + "license": "Standard 'no charge' license: https://gsap.com/standard-license. Club GSAP members get more: https://gsap.com/licensing/. Why GreenSock doesn't employ an MIT license: https://gsap.com/why-license/" + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.4.tgz", + "integrity": "sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz", + "integrity": "sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "license": "BSD-2-Clause" + }, + "node_modules/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT", + "optional": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/load-yaml-file": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", + "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.13.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/load-yaml-file/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/load-yaml-file/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/magicast": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz", + "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.4", + "@babel/types": "^7.25.4", + "source-map-js": "^1.2.0" + } + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz", + "integrity": "sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz", + "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", + "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", + "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/oniguruma-to-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/oniguruma-to-js/-/oniguruma-to-js-0.4.3.tgz", + "integrity": "sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==", + "license": "MIT", + "dependencies": { + "regex": "^4.3.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/ora": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.1.0.tgz", + "integrity": "sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/p-limit": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.1.0.tgz", + "integrity": "sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz", + "integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.2.tgz", + "integrity": "sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "license": "MIT", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/preferred-pm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-4.0.0.tgz", + "integrity": "sha512-gYBeFTZLu055D8Vv3cSPox/0iTPtkzxpLroSYYA7WXgRi31WCJ51Uyl8ZiPeUUjyvs2MBzK+S8v9JVUgHU/Sqw==", + "license": "MIT", + "dependencies": { + "find-up-simple": "^1.0.0", + "find-yarn-workspace-root2": "1.2.16", + "which-pm": "^3.0.0" + }, + "engines": { + "node": ">=18.12" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regex": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/regex/-/regex-4.3.3.tgz", + "integrity": "sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg==", + "license": "MIT" + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz", + "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.1.1.tgz", + "integrity": "sha512-onsHf34i/GzgElJgtT1K2V+31yEhWs7NJboKNxXJcmVMMPxLpgxZ9iADoMdydd6j/bHic5F/aNq0CGqElEtu2g==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz", + "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.24.0", + "@rollup/rollup-android-arm64": "4.24.0", + "@rollup/rollup-darwin-arm64": "4.24.0", + "@rollup/rollup-darwin-x64": "4.24.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.0", + "@rollup/rollup-linux-arm-musleabihf": "4.24.0", + "@rollup/rollup-linux-arm64-gnu": "4.24.0", + "@rollup/rollup-linux-arm64-musl": "4.24.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0", + "@rollup/rollup-linux-riscv64-gnu": "4.24.0", + "@rollup/rollup-linux-s390x-gnu": "4.24.0", + "@rollup/rollup-linux-x64-gnu": "4.24.0", + "@rollup/rollup-linux-x64-musl": "4.24.0", + "@rollup/rollup-win32-arm64-msvc": "4.24.0", + "@rollup/rollup-win32-ia32-msvc": "4.24.0", + "@rollup/rollup-win32-x64-msvc": "4.24.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz", + "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.5", + "@img/sharp-darwin-x64": "0.33.5", + "@img/sharp-libvips-darwin-arm64": "1.0.4", + "@img/sharp-libvips-darwin-x64": "1.0.4", + "@img/sharp-libvips-linux-arm": "1.0.5", + "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-s390x": "1.0.4", + "@img/sharp-libvips-linux-x64": "1.0.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", + "@img/sharp-linux-arm": "0.33.5", + "@img/sharp-linux-arm64": "0.33.5", + "@img/sharp-linux-s390x": "0.33.5", + "@img/sharp-linux-x64": "0.33.5", + "@img/sharp-linuxmusl-arm64": "0.33.5", + "@img/sharp-linuxmusl-x64": "0.33.5", + "@img/sharp-wasm32": "0.33.5", + "@img/sharp-win32-ia32": "0.33.5", + "@img/sharp-win32-x64": "0.33.5" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.21.0.tgz", + "integrity": "sha512-apCH5BoWTrmHDPGgg3RF8+HAAbEL/CdbYr8rMw7eIrdhCkZHdVGat5mMNlRtd1erNG01VPMIKHNQ0Pj2HMAiog==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "1.21.0", + "@shikijs/engine-javascript": "1.21.0", + "@shikijs/engine-oniguruma": "1.21.0", + "@shikijs/types": "1.21.0", + "@shikijs/vscode-textmate": "^9.2.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svelte": { + "version": "4.2.19", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz", + "integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@jridgewell/sourcemap-codec": "^1.4.15", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/estree": "^1.0.1", + "acorn": "^8.9.0", + "aria-query": "^5.3.0", + "axobject-query": "^4.0.0", + "code-red": "^1.0.3", + "css-tree": "^2.3.1", + "estree-walker": "^3.0.3", + "is-reference": "^3.0.1", + "locate-character": "^3.0.0", + "magic-string": "^0.30.4", + "periscopic": "^3.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/svelte-hmr": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz", + "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==", + "license": "ISC", + "engines": { + "node": "^12.20 || ^14.13.1 || >= 16" + }, + "peerDependencies": { + "svelte": "^3.19.0 || ^4.0.0" + } + }, + "node_modules/svelte2tsx": { + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.21.tgz", + "integrity": "sha512-cdYR5gYBK0Ys3/jzGu9yfW9oxGLtLAnxcKtS7oJy2pjLhLLYSZcWeeeuaY9SMULwlqMZ1HfngGH3n5VdquRC3Q==", + "license": "MIT", + "dependencies": { + "dedent-js": "^1.0.1", + "pascal-case": "^3.1.1" + }, + "peerDependencies": { + "svelte": "^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0", + "typescript": "^4.9.4 || ^5.0.0" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz", + "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "license": "MIT" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, + "node_modules/tsconfck": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.3.tgz", + "integrity": "sha512-ulNZP1SVpRDesxeMLON/LtWM8HIgAJEIVpVVhBM6gsmvQ8+Rh+ZG7FWGvHh7Ah3pRABwVJWklWCr/BTZSv0xnQ==", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/type-fest": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", + "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.4.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz", + "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.2.tgz", + "integrity": "sha512-0/iAvbXyM3RiPPJ4lyD4w6Mjgtf4ejTK6TPvTNG3H32PLwuT0N/ZjJLiXug7ETE/LWtTeHw9WRv7uX/tIKYyKg==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-pm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-3.0.0.tgz", + "integrity": "sha512-ysVYmw6+ZBhx3+ZkcPwRuJi38ZOTLJJ33PSHaitLxSKUMsh0LkKd0nC69zZCwt5D+AYUcMK2hhw4yWny20vSGg==", + "license": "MIT", + "dependencies": { + "load-yaml-file": "^0.2.0" + }, + "engines": { + "node": ">=18.12" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "license": "MIT", + "dependencies": { + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz", + "integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==", + "license": "MIT" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.23.3", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.3.tgz", + "integrity": "sha512-TYWChTxKQbRJp5ST22o/Irt9KC5nj7CdBKYB/AosCRdj/wxEMvv4NNaj9XVUHDOIp53ZxArGhnw5HMZziPFjog==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.23.3" + } + }, + "node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..c3a59f6 --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "transit-quiz", + "type": "module", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "dev": "astro dev" + }, + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "dependencies": { + "@astrojs/svelte": "^5.7.1", + "@astrojs/tailwind": "^5.1.1", + "astro": "^4.15.11", + "gsap": "^3.12.5", + "svelte": "^4.2.19", + "tailwindcss": "^3.4.13", + "typescript": "^5.6.2" + } +} diff --git a/src/MBTA.svg b/src/MBTA.svg new file mode 100644 index 0000000..ed5211d --- /dev/null +++ b/src/MBTA.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/agency.js b/src/agency.js new file mode 100644 index 0000000..c051ec2 --- /dev/null +++ b/src/agency.js @@ -0,0 +1,144 @@ +import _agency from "../cities/boston.json"; + +const agency = { + ..._agency, + // Convert `route` arrays to `Set`s + edges: _agency.edges.map((e) => ({ ...e, route: new Set(e.route) })), +}; + +export function linesForStation(station_id) { + return new Set( + agency.edges + .filter((e) => e.a == station_id || e.b == station_id) + .flatMap((e) => [...e.route]) + ); +} + +export function randomStationPair() { + const keys = Object.keys(agency.stations); + // select a random source station + const a = keys[Math.floor(Math.random() * keys.length)]; + + const aLines = linesForStation(a); + + const stationsOnSameLine = agency.edges + .filter((e) => !aLines.isDisjointFrom(e.route)) + .flatMap((e) => [e.a.toString(), e.b.toString()]); + + // make a set of all stations that aren't on the same line as `a` + const possibleStations = keys.filter((s) => !stationsOnSameLine.includes(s)); + + const b = + possibleStations[Math.floor(Math.random() * possibleStations.length)]; + + return [a, b]; +} + +function stationNeighbors(station) { + return agency.edges + .filter((e) => e.a == station) + .map((e) => ({ + station: e.b, + via: e.route, + })); +} + +// caleb's patented graph traversal algorithm (tm) +function routeGoesBetweenStations(route, stationA, stationB) { + let currentNodes = [stationA]; + let visited = []; + let stops = 0; + + let possible = false; + let errorStation; + + i: while (currentNodes.length > 0) { + stops++; + + for (const node of [...currentNodes]) { + const neighbors = stationNeighbors(node) + .filter((n) => n.via.has(route) && !visited.includes(n.station)) + .map((n) => n.station); + + for (const n of neighbors) { + if (n == stationB) { + possible = true; + break i; + } + currentNodes.push(n); + } + currentNodes.splice(currentNodes.indexOf(node), 1); + visited.push(node); + } + } + + if (!possible) { + errorStation = visited.length == 1 ? stationA : stationB; + } + + return [possible, errorStation, stops]; +} + +export function stepsValidForStationPair(steps, stationA, stationB) { + if (steps[steps.length - 1].station != stationB) + return [ + false, + `Route doesn't end at ${agency.stations[stationB].stop_name}.`, + ]; + + let stops = 0; + + for (let i = 0; i < steps.length; i++) { + // cosplaying as a golang developer + const [possible, err, _stops] = routeGoesBetweenStations( + steps[i].line, + steps[i - 1]?.station ?? stationA, + steps[i].station + ); + if (!possible) { + return [ + false, + `${steps[i].line} doesn't serve ${agency.stations[err].stop_name}`, + ]; + } + stops += _stops; + } + + return [true, null, stops]; +} + +export function minStops(stationA, stationB) { + return Dijkstra(agency, stationA)[0][stationB]; +} + +function Dijkstra(graph, source) { + let dist = {}; + let prev = {}; + let unvisited = []; + + for (const v of Object.keys(graph.stations)) { + dist[v] = Infinity; + prev[v] = undefined; + unvisited.push(v); + } + + dist[source] = 0; + + while (unvisited.length != 0) { + const u = unvisited.sort((a, b) => dist[a] - dist[b])[0]; + unvisited.splice(unvisited.indexOf(u), 1); + + for (const n of stationNeighbors(u)) { + const v = n.station; + const alt = dist[u] + 1; + if (alt < dist[v]) { + dist[v] = alt; + prev[v] = [u]; + } + } + } + + return [dist, prev]; +} + +export default agency; diff --git a/src/components/Game.svelte b/src/components/Game.svelte new file mode 100644 index 0000000..240a84a --- /dev/null +++ b/src/components/Game.svelte @@ -0,0 +1,101 @@ + + +
+
+

Route {question + 1}/{questionCount}

+

{points} pts +1

+
+ + {#if from && to} +

+ + {agency.stations[from].stop_name} + {#each linesForStation(from) as line} + + {/each} + to + +
+ + {agency.stations[to].stop_name} + {#each linesForStation(to) as line} + + {/each} + +

+ {:else} + Loading... + {/if} +
+ + + + diff --git a/src/components/Guesser.svelte b/src/components/Guesser.svelte new file mode 100644 index 0000000..86810d7 --- /dev/null +++ b/src/components/Guesser.svelte @@ -0,0 +1,80 @@ + + +
+ {#if page == "welcome" || page == "done"} +
+ {#if page == "done" } +
+

You scored

+

{score} point{score != 1 && "s"}

+

+ {#if score == 20} + "The Obsessed Local" + {:else if score >= 15} + "The Over-Achiever" + {:else if score >= 10} + "The Regular Rider" + {:else} + "The Occasional Tripper" + {/if} +

+
+ {/if} + +
+
+

The Train Quiz

+
+ {page == "welcome" ? ( + "Google Maps? Bleh. You can navigate the T on your own. Right?" + ) : "🔗 trains.clb.li"} +
+ Boston edition +
+ +
+
+ {:else if page == "start"} +
+

How It Works

+ +

We'll show you a pair of T stations in Boston: an origin and a destination.

+ + + +

Use the tool to create the route you'd take between the stations.

+ +

You can score a maximum of 20 points: 1 for each correct answer, plus a bonus for the most optimal route (fewest number of stops possible).

+
+ + + {:else if page == "play"} + {score = e.detail; page = "done"}} /> + {:else if page == "done"} +
+ +
+

The Train Quiz

+
+
+ {/if} +
diff --git a/src/components/MbtaLine.svelte b/src/components/MbtaLine.svelte new file mode 100644 index 0000000..98b2213 --- /dev/null +++ b/src/components/MbtaLine.svelte @@ -0,0 +1,30 @@ + + + + {#if name == "Red"} + RL + {:else if name == "Mattapan"} + {#if compact} + M + {:else} + RL + M + {/if} + {:else if name == "Blue"} + BL + {:else if name == "Orange"} + OL + {:else if name.startsWith("Green")} + {#if compact} + {name.split("-")[1]} + {:else} + GL + {name.split("-")[1]} + {/if} + {/if} + diff --git a/src/components/RouteBuilder.svelte b/src/components/RouteBuilder.svelte new file mode 100644 index 0000000..9a39e4a --- /dev/null +++ b/src/components/RouteBuilder.svelte @@ -0,0 +1,112 @@ + + +
+
    +
  • {origin}
  • + + {#each route as step, index } +
  • + + + to + {stations[step.station].stop_name} + + +
  • + {/each} +
+ +
+
addStep()}> + + + to + + + + +
+
+
+ + diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000..9bc5cb4 --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1 @@ +/// \ No newline at end of file diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000..7e3a842 --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,29 @@ +--- +import Guesser from "../components/Guesser.svelte"; +import screenshot from "../screenshot.png"; +--- + + + + + The Boston Train Quiz + + + + +

+ caleb made + this +

+ +

+ Data provided by the MBTA +

+ + diff --git a/src/screenshot.png b/src/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..02da773511981b82cb1eccb7311cc7997c1cd259 GIT binary patch literal 176594 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 G=YIf)Wd&>i literal 0 HcmV?d00001 diff --git a/svelte.config.js b/svelte.config.js new file mode 100644 index 0000000..522c1ef --- /dev/null +++ b/svelte.config.js @@ -0,0 +1,5 @@ +import { vitePreprocess } from '@astrojs/svelte'; + +export default { + preprocess: vitePreprocess(), +} diff --git a/tailwind.config.mjs b/tailwind.config.mjs new file mode 100644 index 0000000..9612afd --- /dev/null +++ b/tailwind.config.mjs @@ -0,0 +1,19 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], + theme: { + extend: { + keyframes: { + bump: { + "0%": { transform: "rotate(-30deg) scale(1)" }, + "50%": { transform: "rotate(-30deg) scale(1.05)" }, + "100%": { transform: "rotate(-30deg) scale(1)" }, + }, + }, + animation: { + bump: "bump 0.5s ease infinite", + }, + }, + }, + plugins: [], +};